关于gcc
用旧版本安装NVIDIA HPC SDK再编译会报错:
"/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/move.h", line 48: error: identifier "__builtin_addressof" is undefined
解决办法:
升级gcc
重新安装NVIDIA HPC SDK。先前安装的可以删除(rm -rf 文件夹)。安装NVIDIA HPC SDK时,可以指定路径,在提示是否安装在默认的文件下时,输入自己计划安装的绝对路径。
在准备编译环境时最好检查gcc版本
gcc --version
如果比较老,需要升级。我是在gcc10.x这个版本下编译通过的。
动态库缺失:我缺失 libatomic.so.1 ,每个人可能不一样但解决办法类似以下两种。
通过安装,安装时要注意64位与32位。
在别的地方拷贝。(推荐此方法)
关于编译环境
说明:所有需要编译安装的软件,编译前都要先准备配置好编译环境。后面编译报错,大概率就是编译环境有问题。所以,编译报错,找问题要找编译环境的问题。
NVIDIA HPC SDK安装
官网(推荐按官网步骤):https://developer.nvidia.com/nvidia-hpc-sdk-downloads
建议采用Tarball方式安装,可以指定安装路径。且安装完有环境配置说明。
安装命令: $ wget https://developer.download.nvidia.com/hpc-sdk/22.5/nvhpc_2022_225_Linux_x86_64_cuda_multi.tar.gz $ tar xpzf nvhpc_2022_225_Linux_x86_64_cuda_multi.tar.gz $ nvhpc_2022_225_Linux_x86_64_cuda_multi/install
安装完一定要添加环境变量:
建议采用module命令: module load /.../..../.../modulefiles/nvhpc/22.5(用自己的安装路径)
也可用官网说明:https://docs.nvidia.com/hpc-sdk/hpc-sdk-install-guide/index.html#install-linux-end-usr-env-settings
FFTW安装:http://www.fftw.org/
推荐按官网说明安装。
参考教程:https://nscc.mrzhenggang.com/fftw/
准备好这一切,再编译VASP就应该能通过。几个VASP安装说明网址,强烈推荐按VASP官网说明安装使用。网上的编译安装教程可以参考,因为每个手头的机器环境是千奇百怪的,所以按官网来是最明智,可以少走很多弯路!
VASP官网安装说明:https://www.vasp.at/wiki/index.php/Installing_VASP.6.X.X
VASP环境要求说明:https://www.vasp.at/wiki/index.php/Toolchains
VASP各个makefile.include说明:https://www.vasp.at/wiki/index.php/Makefile.include
VASP安装使用官网论坛:https://www.vasp.at/forum/viewforum.php
祝福好运,使用愉快!