Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2166 Discussions

Compilation with the mpiifx of Quantum Espresso

Sergei_Kliavinek
1,764 Views

Dear developers,

I'm trying to compile Quantum Espresso code using newer versions of the compiler inside a Docker Image (file added to the post).

As you can see, I am using the latest version of the OneAPI HPC Toolkit as the base image. However, some rather strange things happen during configuration. I get the following:

checking for mpiifx... mpiifx
checking whether we are using the GNU Fortran compiler... no
checking whether mpiifx accepts -g... yes
checking version of mpiifx... unknown, assuming gfortran
setting F90... gfortran
setting MPIF90... mpiifx
 

That is, for some reason it cannot detect the version of mpiifx and ifx and use them for configuration.

At the same time I can do the following:
1. Configure a file with these parameters (in a separate file)
2. Change mpiifort to mpifx in the resulting file.

And this way works. (I add the resulting file make.inc).

This raises 2 questions:
Rather theoretical - what is mpiifx in general? On the official Intel site I saw that it is a separate compiler, however on the forum I saw that it is a wrapper for mpiifort.


How can I fix the error that occurs? Maybe I need to specify the path to mpiifx explicitly somehow? It is clear that I can manually change the config file, but this is not the most convenient way.
Any information or advice would be appreciated!


P.S..
Writing posts on your forum is just impossible, it would be great if you could simplify working with it.

0 Kudos
1 Solution
Sergei_Kliavinek
1,737 Views

Thanks to the Quantum Espresso forum, I figured out what the problem is.

It turns out that the problem is in the mpiifx file itself (/opt/intel/oneapi/mpi/2021.10.0//bin/mpiifx in my case):

the last line should be like this

 

${TARGET_WRAPPER} -fc="${COMPILER}" $@

 

instead of

 

${TARGET_WRAPPER} -fc="${COMPILER} $@"

 

I made this substitution and everything worked.

It looks like you need to make a change to this file

View solution in original post

0 Kudos
4 Replies
Sergei_Kliavinek
1,738 Views

Thanks to the Quantum Espresso forum, I figured out what the problem is.

It turns out that the problem is in the mpiifx file itself (/opt/intel/oneapi/mpi/2021.10.0//bin/mpiifx in my case):

the last line should be like this

 

${TARGET_WRAPPER} -fc="${COMPILER}" $@

 

instead of

 

${TARGET_WRAPPER} -fc="${COMPILER} $@"

 

I made this substitution and everything worked.

It looks like you need to make a change to this file

0 Kudos
ShivaniK_Intel
Moderator
1,701 Views

Hi,

 

Thanks for your feedback.

 

This is a known issue and will be fixed in the next release.

 

mpiifx is just a wrapper that calls mpiifort.

 

Thanks & Regards

Shivani

 

0 Kudos
ShivaniK_Intel
Moderator
1,646 Views

Hi,


>>>"Writing posts on your forum is just impossible, it would be great if you could simplify working with it."


Could you please elaborate more on the issue you are facing while writing the posts on the forum so that it would help us to work on it?


Thanks & Regards

Shivani


0 Kudos
ShivaniK_Intel
Moderator
1,620 Views

Hi,


Glad to know that your issue is resolved. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.


Thanks & Regards

Shivani


0 Kudos
Reply