Page 1 of 1

Question about Compiler Choices in makefile.include.oneapi.

Posted: Fri May 17, 2024 12:56 am
by hszhao.cn@gmail.com
Hello,

I noticed some differences between makefile.include.intel and makefile.include.oneapi in VASP 6.4.3, as shown below:

Code: Select all

werner@x13dai-t:~/Public/hpc/vasp/src/vasp.6.4.3/arch$ diff makefile.include.intel makefile.include.oneapi
14,15c14,15
< FC          = mpiifort
< FCL         = mpiifort
---
> FC          = mpiifort -fc=ifx
> FCL         = mpiifort -fc=ifx
32c32
< CC_LIB      = icc
---
> CC_LIB      = icx
40c40
< CXX_PARS    = icpc
---
> CXX_PARS    = icpx
As you can see, in makefile.include.intel, the MPI Fortran compiler is set to mpiifort, while in makefile.include.oneapi, it is set to mpiifort -fc=ifx. Similarly, the C and C++ compilers are changed from icc and icpc to icx and icpx respectively.

Given that mpiifx is the dedicated MPI Fortran compiler wrapper for the Intel oneAPI ifx compiler, I'm curious why makefile.include.oneapi does not simply use mpiifx instead of mpiifort -fc=ifx.

Could you please explain the rationale behind this choice?

Thank you for your assistance.

Best regards,
Zhao

Re: Question about Compiler Choices in makefile.include.oneapi.

Posted: Fri May 17, 2024 9:27 am
by jonathan_lahnsteiner2
Dear Zhao,

Yes, you are right, one could use mpiifx in the makefile.include.oneapi. But at the time when this makefile.include was generated
mpiifx did not exist yet. Still

Code: Select all

mpiifx
and

Code: Select all

mpiifort -fc=ifx
do the same thing. The same is true for the c and c++ compilers.
I hope this clarifies your question.

All the best Jonathan

Re: Question about Compiler Choices in makefile.include.oneapi.

Posted: Sat May 18, 2024 4:40 am
by hszhao.cn@gmail.com
Dear Jonathan,

Thank you for your clarification. Got it.

Regards,
Zhao