Open cndaqiang opened 3 years ago
NEED=( /opt/ohpc/pub/mpi/mvapich2-gnu8/2.3.2 /opt/ohpc/pub/compiler/gcc/8.3.0 )
for i in ${NEED[@]}
do
echo -e "
export LD_LIBRARY_PATH=$i/lib:\$LD_LIBRARY_PATH
export LIBRARY_PATH=$i/lib:\$LIBRARY_PATH
export C_INCLUDE_PATH=$i/include:\$C_INCLUDE_PATH
export PATH=$i/bin:\$PATH"
#自动添加
export LD_LIBRARY_PATH=$i/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=$i/lib:$LIBRARY_PATH
export C_INCLUDE_PATH=$i/include:$C_INCLUDE_PATH
export PATH=$i/bin:$PATH
#gcc 有 lib64
if [ -d $i/lib64 ]
then
echo -e "
export LD_LIBRARY_PATH=$i/lib64:\$LD_LIBRARY_PATH
export LIBRARY_PATH=$i/lib64:\$LIBRARY_PATH"
export LD_LIBRARY_PATH=$i/lib64:$LD_LIBRARY_PATH
export LIBRARY_PATH=$i/lib64:$LIBRARY_PATH
fi
done
不要在bashrc里面乱填动态库,以免找错
module unload openmpi3/3.1.4
module load gnu8/8.3.0
module load mvapich2/2.3.2 #Huairou gcc8只支持2.3.2
ROOT=$HOME/soft/gcc-8.3.0-mvapich
mkdir -p $ROOT/source
#编译scalapack
cd $ROOT/source
wget https://cndaqiang.gitee.io/packages//mirrors/math/scalapack_installer_CNQ_WO_Net.tar.gz
tar xzvf scalapack_installer_CNQ_WO_Net.tar.gz
cd scalapack_installer
cat << EOF > ./make.sh
#!/bin/bash
#SBATCH -J make
#SBATCH -p debug
#SBATCH -N 1
#SBATCH --ntasks-per-node=36
#SBATCH -o make.out
module unload openmpi3/3.1.4
module load gnu8/8.3.0
module load mvapich2/2.3.2 #Huairou gcc8只支持2.3.2
ROOT=$HOME/soft/gcc-8.3.0-mvapich
if [ -e ./netlib.py ]
then
./setup.py --prefix=$ROOT/math --downall
else
make -j20
make install
fi
EOF
qsub ../make.sh
QE使用他本身的数学库就可以了,后期可以测试一下QE的数学库和netlib提供的新库的计算速度,以及加上scalapack后的速度 也许这些库是给特殊的计算用的,对pwscf没有加速
./configure
make pwall -j36 #多输入几次,qe6.6有几个编译不出来
可能是QE的问题了,因为本地和远程都报错,但是编译通过的程序都可以运行
对比intel完美编译的结果
../Src/obj_setup.sh
../Src/configure --enable-mpi FC=gfortran CC=gcc MPIFC=mpif90
echo "
MATHDIR=$ROOT/math
BLAS_LIBS=\$(MATHDIR)/librefblas.a
LAPACK_LIBS=\$(MATHDIR)/libreflapack.a \$(MATHDIR)/libtmg.a
BLACS_LIBS=
SCALAPACK_LIBS=\$(MATHDIR)/libscalapack.a
" >> arch.make
make -j30
module load compiler/gcc/gcc_8.3.0
module load mpi/mvapich2/gnu/2.3.1
ROOT=$HOME/soft/gcc-8.3.0-mvapich
使用tdpwpush推送程序到松山湖
(python37) [SSLAB chendq@login3 bin]$ldd tdpw.x | grep found
libgfortran.so.5 => not found
(python37) [SSLAB chendq@login3 bin]$module load compiler/gcc/gcc_8.3.0
(python37) [SSLAB chendq@login3 bin]$ldd tdpw.x | grep found
NEED=( $ROOT/fftw-3.3.3 $ROOT/math) for i in ${NEED[@]} do echo -e " export LD_LIBRARY_PATH=$i/lib:\$LD_LIBRARY_PATH export LIBRARY_PATH=$i/lib:\$LIBRARY_PATH export C_INCLUDE_PATH=$i/include:\$C_INCLUDE_PATH export PATH=$i/bin:\$PATH"
export LD_LIBRARY_PATH=$i/lib:$LD_LIBRARY_PATH export LIBRARY_PATH=$i/lib:$LIBRARY_PATH export C_INCLUDE_PATH=$i/include:$C_INCLUDE_PATH export PATH=$i/bin:$PATH
if [ -d $i/lib64 ] then echo -e " export LD_LIBRARY_PATH=$i/lib64:\$LD_LIBRARY_PATH export LIBRARY_PATH=$i/lib64:\$LIBRARY_PATH" export LD_LIBRARY_PATH=$i/lib64:$LD_LIBRARY_PATH export LIBRARY_PATH=$i/lib64:$LIBRARY_PATH fi done
删除管理员强加的intel编译器