|
本帖最后由 wood 于 2023-2-15 10:04 编辑
JDFTx中用于电化学系统的一个特别有用的功能是GC-DFT,它允许电子数量在固定的电子化学势下自动调整。
#逐行运行命令一、安装基础的开发工具包,需要root权限,一般用于计算的工作站都已经包含了这些软件
##################################################################
使用YUM查找软件包是否已经存在,命令:yum search <keyword>
sudo yum -y update (耗时操作)
sudo yum install wget
sudo yum install gcc-c++
sudo yum install gcc-gfortran
sudo yum install cmake
#sudo yum -y install pkgconfig
sudo yum -y groupinstall "Development Tools"
sudo yum install gsl-devel
sudo yum install openmpi-devel
sudo yum install fftw-devel
sudo yum install atlas-devel
#sudo yum install openssl
sudo yum install openssl-devel
sudo yum install python3
sudo yum install SDL-devel
sudo yum -y install ntp ntpdate
ntpdate cn.pool.ntp.org && hwclock -w
clear&&date&&echo&&openssl version&&echo&&cmake --version&&echo&&gcc --version
二、Intel oneAPI 2021安装
##################################################################
cd /opt
# 下载和安装Intel? oneAPI Base Toolkit、Intel? oneAPI HPC Toolkit,
# 注意磁盘空间,下载需要 3.5 GB,安装需要 23.3 GB。Intel Parallel Studio XE
wget -c https://registrationcenter-downl ... 1.0.2659_offline.sh (耗时操作)
#或者网盘下载,链接:https://pan.baidu.com/s/1FmcWhLgljTZM_pqc_7bNpg 提取码:1209
wget -c https://registrationcenter-downl ... 1.0.2684_offline.sh (耗时操作)
#或者网盘下载,链接:https://pan.baidu.com/s/1VF6KOkWnu6UJ3KA25y1w3Q 提取码:1209
sh l_BaseKit_p_2021.1.0.2659_offline.sh -f /tmp -s -a --silent --eula accept (耗时操作)
sh l_HPCKit_p_2021.1.0.2684_offline.sh -f /tmp -s -a --silent --eula accept (耗时操作) # 安装完成可以看到如下目录结构/opt/intel/oneapi
echo "source /opt/intel/oneapi/setvars.sh" >> ~/.bashrc # 写source /opt/intel/oneapi/setvars.sh到~/.bashrc
source ~/.bashrc # 生效
logout # 重启terminal
which icc ifort icpc mpiifort mpirun # 验证Intel编译环境
cd /opt/intel/oneapi/mkl/latest/interfaces/fftw3xf
make libintel64 &&cd /opt/intel/oneapi && tree -L 1 # 编译libintel64,25 directories, 7 files
find / -name libfftw3xf_intel.a # 生成libfftw3xf_intel.a库文件
ifort -V # 如果显示出了编译器的版本,说明编译器已经可以正常使用了
三、jdftx安装cpu版本及测试
##################################################################
cd /opt
#见JDFTx网站JDFTx: Main Page
#或者网盘下载,链接:https://pan.baidu.com/s/1whNWpEbhkCnarDnjLF2IAg 提取码:1209
tar xvf jdftx-1.6.0.tar.gz && mkdir build &&cd build
cmake ../jdftx-1.6.0/jdftx && make -j4 #编译安装
#软件自有的测试输出
make testclean && make test && cd /opt
#设置环境变量
vi ~/.bashrc
export PATH="/opt/build:$PATH" #环境变量
source ~/.bashrc #生效
#自行测试 ,文件water.in 来自JDFTx: A first calculation,8核心13秒计算结束
jdftx -i water.in | tee water.out
四、jdftx安装GPU版本及测试
###################################################################GPU相关环境:GPU驱动、CUDA、cuDNN#mkl安装
yum-config-manager --add-repo https://yum.repos.intel.com/mkl/setup/intel-mkl.repo
yum install -y intel-mkl
#解压
cd /opt && tar xvf jdftx-1.6.0.tar.gz && mkdir build &&cd build
#编译,GPU计算能力https://developer.nvidia.com/cuda-gpus
#假设GPU计算能力为7.5,则CUDA_ARCH=compute_75 CUDA_CODE=sm_75
#假设GPU计算能力为6.1,则CUDA_ARCH=compute_61 CUDA_CODE=sm_61
CC=gcc CXX=g++ cmake -D EnableCUDA=yes \
-D CUDA_ARCH=compute_61 \
-D CUDA_CODE=sm_61 \
-D CudaAwareMPI=yes \
-D ForceFFTW=yes \
-D EnableMKL=yes \
-D MKL_PATH=/opt/intel/oneapi/mkl/2021.1.1 \
../jdftx-1.6.0/jdftx
make -j8
#软件自有的测试输出
make testclean && make test && cd /opt
#环境变量设置(在此作用不大,写入作业脚本里)
vi ~/.bashrc
export MPICH_GPU_SUPPORT_ENABLED=1 # needed for CUDA-aware MPI support
export JDFTX_LAUNCH=""
export JDFTX_SUFFIX="_gpu"
#export JDFTX_MEMPOOL_SIZE=16384 # adjust as needed (in MB) MEMPOOL 大小仍然取决于作业,应明确指定
export PATH="/opt/build:$PATH"
source ~/.bashrc
#自行测试 ,文件water.in 来自JDFTx: A first calculation ,1颗GPU 2秒计算结束。
jdftx_gpu -i water.in | tee water.out
#所需GPU显存,保证大于估算值
#一种有效的策略是将nstate 分散到多个GPU 的 MPI 中
Memory > nstates * nbasis * nbands * 16 *(4 or 5)/1073741824
|
评分 Rate
-
查看全部评分 View all ratings
|