计算化学公社

标题: 恒电势JDFTx在Centos7虚拟机上的安装经验 [打印本页]

作者
Author:
wood    时间: 2022-3-21 14:04
标题: 恒电势JDFTx在Centos7虚拟机上的安装经验
本帖最后由 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









作者
Author:
jiaxinliu    时间: 2022-6-15 17:10
您好,我在找一个脚本cont2jdftx.py,请问是否可以提供一下,非常感谢
作者
Author:
wood    时间: 2022-6-26 18:33
jiaxinliu 发表于 2022-6-15 17:10
您好,我在找一个脚本cont2jdftx.py,请问是否可以提供一下,非常感谢

您好,很抱歉,我这里没有接触过cont2jdftx.py脚本。另外的,如果您已经找到该脚本,您是否方便分享一下?从脚本名字猜测,这个脚本是否是将vasp的CONTCAR格式的结构信息文件转化为jdftx格式的结构信息文件呢?对于该格式的转化,我使用了自行编写的脚本,陈列其后,希望能够有所帮助。
#jdftx格式结构信息文件in.ionpos --->POSCAR格式结构信息文件
链接:https://pan.baidu.com/s/1AB9wIZz_eONbrHRW731rfg
提取码:1209

#jdftx输出信息文件.out --->优化前后的POSCAR/vasp格式结构信息文件
链接:https://pan.baidu.com/s/1hV55GXoSrjEOenL2QLclpg
提取码:1209

#.cell格式结构信息文件 ---> jdftx格式结构信息文件in.ionpos
链接:https://pan.baidu.com/s/1Dhwxh6A-xfOyqbovOykroA
提取码:1209

#.cell格式结构信息文件 --> POSCAR格式结构信息文件
链接:https://pan.baidu.com/s/1_dNWO2nSisgByusGACv5JQ
提取码:1209

作者
Author:
beyond神仙    时间: 2022-8-1 21:25
wood 发表于 2022-6-26 18:33
您好,很抱歉,我这里没有接触过cont2jdftx.py脚本。另外的,如果您已经找到该脚本,您是否方便分享一下 ...

连接失效了,好心的楼主可否再分享一下谢谢
作者
Author:
wood    时间: 2022-8-11 08:52
beyond神仙 发表于 2022-8-1 21:25
连接失效了,好心的楼主可否再分享一下谢谢

链接:https://pan.baidu.com/s/1uUaS_BCMqOYnSNV9KZP79w  提取码:1209
作者
Author:
yufeng    时间: 2024-5-14 16:52
楼主,JDFTx为什么用的人很少呢?




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3