Toolchains: Difference between revisions
Vaspmaster (talk | contribs) No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
Below we list the toolchains (compilers + assorted libraries) we have used to build and test VASP in our nightly tests. | Below we list the [[toolchains]] (compilers + assorted libraries) that we have used to build and test VASP in our nightly tests during the development. | ||
Starting from VASP.6.3.0 the toolchains are listed for each version of VASP | Starting from VASP.6.3.0, the [[toolchains]] are listed separately for each version of VASP. | ||
* These lists of toolchains are not comprehensive. They | * These lists of [[toolchains]] are not comprehensive. They show what we have employed on a regular basis. Other/newer versions of the compilers and libraries than those listed below will, in all probability, work just as well (or better). | ||
{{NB|tip|We encourage using up-to-date versions of compilers and libraries since they are continuously improved and bugs are identified and fixed.|:}} | |||
* | * Also for older versions of VASP, we recommend using up-to-date versions of compilers and libraries. In most cases, this will not be a problem. Except in some cases, VASP code was adjusted, e.g., to accommodate changes in the behavior of a compiler. Example: Compilation with GCC > 7.X.X is only possible as of VASP.6.2.0. That is because the GCC compilers became more strict and do not accept certain code constructs used in older VASP versions.<ref name="gcc-beyond-7-support"/> | ||
Line 203: | Line 204: | ||
<ref name="gcc-beyond-7-support">Support for GCC > 7.X.X was added with VASP.6.2.0. Do not use GCC-8.X.X compilers: the way we use the <tt>CONTIGUOUS</tt> construct in VASP is broken when using these compilers.</ref> | <ref name="gcc-beyond-7-support">Support for GCC > 7.X.X was added with VASP.6.2.0. Do not use GCC-8.X.X compilers: the way we use the <tt>CONTIGUOUS</tt> construct in VASP is broken when using these compilers.</ref> | ||
</references> | </references> | ||
<!-- | <!-- | ||
* [http://www.fftw.org/ FFTW] | * [http://www.fftw.org/ FFTW] | ||
Line 224: | Line 224: | ||
** [http://www.netlib.org/scalapack/ ScaLAPACK 2.1.0] | ** [http://www.netlib.org/scalapack/ ScaLAPACK 2.1.0] | ||
--> | --> | ||
== Related articles == | |||
== Related | |||
[[Installing VASP.6.X.X]], | [[Installing VASP.6.X.X]], | ||
[[Precompiler | [[Compiler options]], | ||
[[ | [[Precompiler options]], | ||
[[Validation tests]] | [[makefile.include]], | ||
[[Validation tests]], | |||
[[Known issues]] | |||
---- | ---- | ||
[[The_VASP_Manual|Contents]] | [[The_VASP_Manual|Contents]] | ||
[[Category:VASP]][[Category:Installation]][[Category:Performance | [[Category:VASP]][[Category:Installation]][[Category:Performance]][[Category:VASP6]] |
Revision as of 09:24, 7 April 2022
Below we list the toolchains (compilers + assorted libraries) that we have used to build and test VASP in our nightly tests during the development. Starting from VASP.6.3.0, the toolchains are listed separately for each version of VASP.
- These lists of toolchains are not comprehensive. They show what we have employed on a regular basis. Other/newer versions of the compilers and libraries than those listed below will, in all probability, work just as well (or better).
Tip: We encourage using up-to-date versions of compilers and libraries since they are continuously improved and bugs are identified and fixed.
- Also for older versions of VASP, we recommend using up-to-date versions of compilers and libraries. In most cases, this will not be a problem. Except in some cases, VASP code was adjusted, e.g., to accommodate changes in the behavior of a compiler. Example: Compilation with GCC > 7.X.X is only possible as of VASP.6.2.0. That is because the GCC compilers became more strict and do not accept certain code constructs used in older VASP versions.[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) |
- | ||
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[3] |
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] |
References
- ↑ a b Support for GCC > 7.X.X was added with VASP.6.2.0. Do not use GCC-8.X.X compilers: the way we use the CONTIGUOUS construct in VASP is broken when using these compilers.
- ↑ a b c d e f g h i j A bug in OpenMPI versions 4.0.4-4.1.1 causes a memory leak in some ScaLAPACK calls. This mainly affects long Molecular Dynamics runs. This issue is fixed as of openmpi-4.1.2.
- ↑ The NEC SX-Aurora TSUBASA vector engine is supported as of VASP.6.3.0.
Related articles
Installing VASP.6.X.X, Compiler options, Precompiler options, makefile.include, Validation tests, Known issues