Optimizing MPI and MKL Settings in VASP Compilation Using Intel oneAPI Toolchain

Dear Fortran Discourse Group,

I am currently using the Vienna Ab initio Simulation Package (VASP) for atomic scale materials modeling and have chosen the Intel oneAPI toolchain for its compilation.

To leverage the multi-core and multi-node capabilities of my computing environment, I have compiled VASP with Intel MPI (Message Passing Interface) support provided by the oneAPI suite. This ensures efficient parallel operation across multiple cores within a single node, as well as across multiple nodes in a cluster.

In this context, I have come across the -qmkl=sequential and -qmkl=parallel options that control the mode of operation for the Intel Math Kernel Library (MKL) within the oneAPI ecosystem. The flexibility of these options to control multi-threading operation within a node is clear to me.

However, I am seeking clarity on the preferable MKL mode in the presupposition of an MPI-parallelized setup. Specifically, will using -qmkl=parallel provide any discernible performance advantage, or would it be more prudent to stick with -qmkl=sequential to avoid potential conflicts between MPI processes and MKL threads?

Understanding the best practices for configuring these options is paramount to me, as this would optimize the functionalities of VASP in conjunction with the oneAPI toolchain, thereby ensuring maximal efficiency for my tasks.

Your insights and guidance on this matter will be very valuable to me.

Thank you in advance for your assistance.

Best regards,
Zhao