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

Intel MPI gfortran modules: Can we build our own?

Matt_Thompson
Novice
1,506 Views

I've been experimenting with using Intel MPI and the GNU compilers. However, I found out recently that you can't use gfortran 12 with Intel MPI 2021.6 (say) because it doesn't supply modules for it:

 

$ ls /usr/local/intel/oneapi/2021/mpi/2021.6.0/include/gfortran
10.2.0/  11.1.0/  4.8.0/  4.9.0/  5.1.0/  6.1.0/  7.1.0/  8.2.0/  9.1.0/

 

Now, this is probably because GCC 12 didn't exist at the time 2021.6 was finalized. Okay. So it might be in newer versions.

But I know that HPE MPT supplies code to allow people to build their own modules and I wondered if Intel MPI did as well? I ask because not only I am impatient, but also because Intel MPI + GNU means you don't get the MPI_F08 module. Intel supplies it for Intel Fortran, but not gfortran:

 

$ ls -1 /usr/local/intel/oneapi/2021/mpi/2021.6.0/include/mpi*.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/mpi.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/mpi_base.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/mpi_constants.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/mpi_f08.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/mpi_f08_callbacks.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/mpi_f08_compile_constants.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/mpi_f08_link_constants.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/mpi_f08_types.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/mpi_sizeofs.mod
$ ls -1 /usr/local/intel/oneapi/2021/mpi/2021.6.0/include/gfortran/11.1.0/mpi*.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/gfortran/11.1.0/mpi.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/gfortran/11.1.0/mpi_base.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/gfortran/11.1.0/mpi_constants.mod
/usr/local/intel/oneapi/2021/mpi/2021.6.0/include/gfortran/11.1.0/mpi_sizeofs.mod

 

I know that gfortran 11 (and probably 10 and 9 even) can build the MPI_F08 modules because I build them with Open MPI. So it would be nice if Intel MPI had the same functionality.

0 Kudos
5 Replies
VarshaS_Intel
Moderator
1,462 Views

Hi,

 

Thanks for posting in Intel Communities.

 

>> Intel MPI + GNU means you don't get the MPI_F08 module

Thank you for your feedback. We have provided your feedback to the relevant team. At this moment there is no visibility when it will be implemented and available for use.

Please let me know if we can go ahead and close this case?

 

Thanks & Regards,

Varsha

 

0 Kudos
VarshaS_Intel
Moderator
1,444 Views

Hi,


We have not heard back from you. This thread will no longer be monitored by Intel. If you need any additional information, please post a new question.


Thanks & Regards,

Varsha


0 Kudos
DMishura
Employee
923 Views

In fact end user can build Fortran interface for any version, sources included into MPI package: $I_MPI_ROOT/opt/mpi/binding . In archive you may found README file which can be used as instruction.

Also I can add that latest GNU has Fortran module files version 15, so you may use modules with same version. For example gfortran-14.1 can utilize modules from gfortran-11.1 without error. But this is weak path, re-build of binding modules give you guarantee that everything will work fine.

0 Kudos
JHodges
Beginner
643 Views

Hello DMishura. Would it be possible to have a similar binding set in the windows build? I was trying to use the intel MPI implementation with the gfortran compiler for benchmarking with a similar configuration on linux.

0 Kudos
TobiasK
Moderator
604 Views

@JHodges we plan  to provide the binding kit for Windows with the next release, 2025.1

0 Kudos
Reply