VASP-5.4.4pl2 with AMD Rome/AOCC/Flang?
Posted: Fri Feb 21, 2020 11:21 am
Greetings,
Anyone have their build notes for a vasp build Optimized for the new AMD Rome CPUs?
Apparently there's a surprisingly large jump in floating point performance on short vectors in the Zen1/Naples to Zen2/Rome upgrade, something that VASP users heavily.
I have an Intel + Intel MKL vasp build working, but apparently Intel cripples the performance by ignoring the CPU capability bits and disables the AVX2-256 support. So I'm hoping I can get VASP built with Scalapack and OpenBLAS compiled natively and avoiding the Intel compiler + MKL completely.
AMD has a clang/LLVM compiler called AOCC (currently in version 2.1) that supports C, C++, and Fortran. I was able to build OpenMPI, OpenBLAS, FFTW, and Scalapack with no problems. The VASP build got about half way done (250 .o files built) and I get:
Anyone else get further?
Anyone have their build notes for a vasp build Optimized for the new AMD Rome CPUs?
Apparently there's a surprisingly large jump in floating point performance on short vectors in the Zen1/Naples to Zen2/Rome upgrade, something that VASP users heavily.
I have an Intel + Intel MKL vasp build working, but apparently Intel cripples the performance by ignoring the CPU capability bits and disables the AVX2-256 support. So I'm hoping I can get VASP built with Scalapack and OpenBLAS compiled natively and avoiding the Intel compiler + MKL completely.
AMD has a clang/LLVM compiler called AOCC (currently in version 2.1) that supports C, C++, and Fortran. I was able to build OpenMPI, OpenBLAS, FFTW, and Scalapack with no problems. The VASP build got about half way done (250 .o files built) and I get:
Code: Select all
mpif90 -ffree-form -ffree-line-length-none -w -O2 -I/share/apps/amd-fftw-aocc-2.1/include -c varpro.f90
F90-S-0081-Illegal selector - KIND value must be non-negative (varpro.f90: 83)
F90-S-0081-Illegal selector - KIND value must be non-negative (varpro.f90: 84)
0 inform, 0 warnings, 2 severes, 0 fatal for dot_product_mpr
F90-S-0081-Illegal selector - KIND value must be non-negative (varpro.f90: 105)
F90-S-0081-Illegal selector - KIND value must be non-negative (varpro.f90: 106)
0 inform, 0 warnings, 2 severes, 0 fatal for sum_mpr
F90-S-0081-Illegal selector - KIND value must be non-negative (varpro.f90: 119)
0 inform, 0 warnings, 1 severes, 0 fatal for toreal
F90-S-0081-Illegal selector - KIND value must be non-negative (varpro.f90: 426)
F90-S-0081-Illegal selector - KIND value must be non-negative (varpro.f90: 427)
F90-S-0081-Illegal selector - KIND value must be non-negative (varpro.f90: 428)
F90-S-0081-Illegal selector - KIND value must be non-negative (varpro.f90: 429)