Compiling VASP using Intel oneAPI on AMD processors
Posted: Sat Dec 10, 2022 7:09 pm
Hi everyone,
I'm trying to compile VASP 6.3.2 using Intel oneAPI compiler and library suite on AMD Epyc 7713 64-core processors, as others have already mentioned that Intel compilers produce better performance than AMD's own compiler (AOCC/AOCL; I already used it and the executable works without issues). However, I'm having some issues using the included makefiles, and even after modifying some flags, the executable fails on some tests, and even crashes with Segmentation fault without further details. I understand that using Intel compilers on AMD processors is not entirely supported, but perhaps you could help me to identify the issue.
The toolchain I used is:
intel-openapi-compilers v2022.2.0
intel-openapi-mkl v2022.2.0
intel-openapi-mpi v2021.7.0
I set the environment variable MKLROOT to point to the Intel MKL library folder, but I get an error regarding SSE: catastrophic error: Function return parameter requires SSE register while SSE is disabled. It seems that it's related to the -xHOST option, where the compiler is unable to infer the capabilities of the AMD processor.
Following suggestions in the Intel community forum and others, I tried setting the variable VASP_TARGET_CPU to either "-xHOST -msoft-float -msse -msse2 -msse3 -msse4" or "-march=core-avx2". Compilation succeeded with both flag sets, but the executable failed to pass the test suite, and even crashed with Segmentation fault in several cases. I've attached the testsuite.log and compilation output.
I hope you can help to solve this issue as I've no idea what to do next.
Thanks.
I'm trying to compile VASP 6.3.2 using Intel oneAPI compiler and library suite on AMD Epyc 7713 64-core processors, as others have already mentioned that Intel compilers produce better performance than AMD's own compiler (AOCC/AOCL; I already used it and the executable works without issues). However, I'm having some issues using the included makefiles, and even after modifying some flags, the executable fails on some tests, and even crashes with Segmentation fault without further details. I understand that using Intel compilers on AMD processors is not entirely supported, but perhaps you could help me to identify the issue.
The toolchain I used is:
intel-openapi-compilers v2022.2.0
intel-openapi-mkl v2022.2.0
intel-openapi-mpi v2021.7.0
I set the environment variable MKLROOT to point to the Intel MKL library folder, but I get an error regarding SSE: catastrophic error: Function return parameter requires SSE register while SSE is disabled. It seems that it's related to the -xHOST option, where the compiler is unable to infer the capabilities of the AMD processor.
Following suggestions in the Intel community forum and others, I tried setting the variable VASP_TARGET_CPU to either "-xHOST -msoft-float -msse -msse2 -msse3 -msse4" or "-march=core-avx2". Compilation succeeded with both flag sets, but the executable failed to pass the test suite, and even crashed with Segmentation fault in several cases. I've attached the testsuite.log and compilation output.
I hope you can help to solve this issue as I've no idea what to do next.
Thanks.