https://www.vasp.at/wiki/index.php/Toolchains
下面我们列出了我们在开发期间的夜间测试中用于构建和测试 VASP 的工具链(编译器 + 分类库)。从 VASP.6.3.0 开始,工具链针对每个 VASP 版本单独列出。
· 这些工具链列表并不全面。它们显示了我们定期使用的内容。比下面列出的编译器和库的其他/更新版本,很可能同样(或更好)工作。
提示:我们鼓励使用最新版本的编译器和库,因为它们会不断改进并识别和修复错误。 |
· 此外,对于旧版本的 VASP,我们建议使用最新版本的编译器和库。在大多数情况下,这不会成为问题。除了在某些情况下,VASP 代码进行了调整,例如,以适应编译器行为的变化。示例:从 VASP.6.2.0 开始,只能使用 GCC > 7.XX 进行编译。这是因为 GCC 编译器变得更加严格,并且不接受旧 VASP 版本中使用的某些代码结构。[1]
VASP.6.3.0
Compilers | MPI | FFT | BLAS | LAPACK | ScaLAPACK | CUDA | HDF5 | Other | Remarks | Known issues |
intel-oneapi-compilers-2022.0.1 | intel-oneapi-mpi-2021.5.0 | intel-oneapi-mkl-2022.0.1 | - | hdf5-1.13.0 | wannier90-3.1.0 | Centos 8.3 Intel Broadwell | - |
intel-parallel-studio-xe-2021.4.0 | netlib-scalapack-2.1.0 | - | hdf5-1.10.7 | wannier90-3.1.0 | Centos 8.3 Intel Broadwell | - |
gcc-11.2.0 | openmpi-4.1.2 | intel-oneapi-mkl-2022.0.1 | netlib-scalapack-2.1.0 | - | hdf5-1.13.0 | wannier90-3.1.0 libxc-5.2.2 | Centos 8.3 Intel Broadwell | - |
gcc-11.2.0 | openmpi-4.1.2 | fftw-3.3.10 | openblas-0.3.18 | netlib-scalapack-2.1.0 | - | hdf5-1.13.0 | wannier90-3.1.0 libxc-5.2.2 | Centos 8.3 Intel Broadwell | - |
gcc-11.2.0 | openmpi-4.1.2 | amdfftw-3.1 | amdblis-3.1 | amdlibflame-3.1 | amdscalapack-3.1 | - | hdf5-1.13.0 | wannier90-3.1.0 libxc-5.2.2 | Centos 8.3 AMD Zen3 | - |
gcc-9.3.0 | openmpi-4.0.5 | fftw-3.3.8 | openblas-0.3.10 | netlib-scalapack-2.1.0 | - | hdf5-1.10.7 | wannier90-3.1.0 | Centos 8.3 Intel Broadwell | Memory-leak[2] |
gcc-7.5.0 | openmpi-4.0.5 | intel-mkl-2020.2.254 | netlib-scalapack-2.1.0 | - | hdf5-1.10.7 | wannier90-3.1.0 | Centos 8.3 Intel Broadwell | Memory-leak[2] |
nvhpc-22.2 (OpenACC) | openmpi-4.1.2 | intel-oneapi-mkl-2022.0.1 | netlib-scalapack-2.1.0 | nvhpc-22.2 (cuda-11.0) | hdf5-1.13.0 | wannier90-3.1.0 | Centos 8.3 NVIDIA GPUs (P100 & V100) | OpenACC + OpenMP[3] |
nvhpc-21.2 (OpenACC) | openmpi-4.0.5 (CUDA-aware) | intel-mkl-2020.2.254 | netlib-scalapack-2.1.0 | nvhpc-21.2 (cuda-11.0) | hdf5-1.10.7 | wannier90-3.1.0 | Centos 8.3 NVIDIA GPUs (P100 & V100) | Memory-leak[2] |
nvhpc-21.2 | openmpi-4.0.5 | intel-mkl-2020.2.254 | netlib-scalapack-2.1.0 | - | hdf5-1.10.7 | wannier90-3.1.0 | Centos 8.3 Intel Broadwell | Memory-leak[2] |
nvhpc-21.2 | openmpi-4.0.5 | fftw-3.3.8 | openblas-0.3.10 | netlib-scalapack-2.1.0 | - | hdf5-1.10.7 | wannier90-3.1.0 | Centos 8.3 Intel Broadwell | Memory-leak[2] |
aocc-3.2.0 | openmpi-4.1.2 | amdfftw-3.1 | amdblis-3.1 | amdlibflame-3.1 | amdscalapack-3.1 | - | hdf5-1.13.0 | wannier90-3.1.0 libxc-5.2.2 | On AMD CPUs (Zen3) | - |
nec-3.4.0 | nmpi-2.18.0 | nlc-2.3.0 | netlib-scalapack-2.2.0 | - | - | wannier90-3.1.0 | Centos 8.3 NEC SX-Aurora TSUBASA vector engine | VASP >= 6.3.0[4] |
Older versions of VASP.6
Compilers | MPI | FFT | BLAS | LAPACK | ScaLAPACK | CUDA | HDF5 | Other | Remarks | Known issues |
intel-parallel-studio-xe-2021.1.1 | netlib-scalapack-2.1.0 | - | hdf5-1.10.7 | wannier90-3.1.0 | Centos 8.3 Intel Broadwell | - |
gcc-9.3.0 | openmpi-4.0.5 | fftw-3.3.8 | openblas-0.3.10 | netlib-scalapack-2.1.0 | - | hdf5-1.10.7 | wannier90-3.1.0 | Centos 8.3 Intel Broadwell | Memory-leak[2] VASP >= 6.2.0[1] |
gcc-7.5.0 | openmpi-4.0.5 | intel-mkl-2020.2.254 | netlib-scalapack-2.1.0 | - | hdf5-1.10.7 | wannier90-3.1.0 | Centos 8.3 Intel Broadwell | Memory-leak[2] |
nvhpc-21.2 (OpenACC) | openmpi-4.0.5 (CUDA-aware) | intel-mkl-2020.2.254 | netlib-scalapack-2.1.0 | nvhpc-21.2 (cuda-11.0) | hdf5-1.10.7 | wannier90-3.1.0 | Centos 8.3 NVIDIA GPUs (P100 & V100) | Memory-leak[2] |
nvhpc-21.2 | openmpi-4.0.5 | intel-mkl-2020.2.254 | netlib-scalapack-2.1.0 | - | hdf5-1.10.7 | wannier90-3.1.0 | Centos 8.3 Intel Broadwell | Memory-leak[2] |
nvhpc-21.2 | openmpi-4.0.5 | fftw-3.3.8 | openblas-0.3.10 | netlib-scalapack-2.1.0 | - | hdf5-1.10.7 | wannier90-3.1.0 | Centos 8.3 Intel Broadwell | Memory-leak[2] |
脚注和参考
1. ↑ a?b 对 GCC > 7.XX 的支持已添加到 VASP.6.2.0 中。不要使用 GCC-8.XX 编译器:当使用这些编译器时,我们在 VASP 中使用CONTIGUOUS结构的方式被破坏了。
2. ↑ a?b?c?d?e?f?g?h?i?j OpenMPI 版本 4.0.4-4.1.1 中的一个错误导致某些 ScaLAPACK 调用出现内存泄漏。这主要影响长分子动力学运行。此问题已从 openmpi-4.1.2 开始修复。
3. ↑?NVIDIA HPC-SDK 版本 22.1 和 22.2 有一个严重的错误,禁止与 OpenMP 线程一起执行 VASP 的 OpenACC GPU 端口。使用这些编译器版本时,您应该在没有 OpenMP 支持的情况下编译 VASP 的 OpenACC GPU 端口。此错误已从 NVIDIA HPC-SDK 版本 22.3 开始修复。
4. ↑ 从 VASP.6.3.0 开始支持 NEC SX-Aurora TSUBASA 矢量引擎。