- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Over in the Fortran forum here I reported a bug last summer. It was originally about calling some MPI_f08 functions, but ifx gave compilation errors. @Steve_Lionel helped me boil it down to a code snippet that did not depend on MPI, the bug was fixed in version 2024.1 of the Intel Fortran compiler.
However, my original MPI code still does not compile. I have now boiled it down to the following example:
SUBROUTINE test(baz, dtype)
USE MPI_f08
IMPLICIT NONE (type, external)
! Subroutine arguments
CLASS(*) :: baz
TYPE(MPI_Datatype) :: dtype
! Local variables
TYPE(MPI_Request) :: recvreq
CALL MPI_Irecv(baz, 1, dtype, 0, 0, MPI_COMM_SELF, recvreq)
END SUBROUTINE test
Compiling this with mpiifx gives:
example-2.F90(12): error #8769: If the actual argument is unlimited polymorphic, the corresponding dummy argument must also be unlimited polymorphic. [BAZ]
CALL MPI_Irecv(baz, 1, dtype, 0, 0, MPI_COMM_SELF, recvreq)
-------------------^
compilation aborted for example-2.F90 (code 1)
The version of the compiler and MPI library is:
$ mpiifx --version
ifx (IFX) 2024.1.0 20240308
Copyright (C) 1985-2024 Intel Corporation. All rights reserved.
$ mpirun --version
Intel(R) MPI Library for Linux* OS, Version 2021.12 Build 20240213 (id: 4f55822)
Copyright 2003-2024, Intel Corporation.
Since the compiler bug is apparently solved in the compiler version I use now, I wonder if there could be a bug somewhere in the MPI_f08 bindings? Please refer to the original post in the Fortran part of the forum for more information on the original problem.
Both GFortran + OpenMPI and NAG Fortran compiler + MPICH compile the above example code just fine without any errors or warnings.
Thanks in advance for all help.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We will fix it with the next release.
In case you cannot modify the installation folder, you can of course just recompile the module files in a folder of your choice and add that folder to your compile / link line.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
for Linux please try (after setting up the oneapi 2024.1 environment)
cd $I_MPI_ROOT/opt/mpi/binding
tar -xf intel-mpi-binding-kit.tar.gz
cd f08
make MPI_INST=${I_MPI_ROOT} F90=ifx NAME=ifx
cd include/ifx
mkdir ${I_MPI_ROOT}/include/mpi/back
cp ${I_MPI_ROOT}/include/mpi/* ${I_MPI_ROOT}/include/mpi/back
cp * ${I_MPI_ROOT}/include/mpi/
and try your example again.
Best
Tobias
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, the example compiles now. Thanks. I guess this means there is a problem with the included MPI_f08 module files, then?
Is there any plans to update/fix these in a future release? Because this is a quite tedious fix to apply to every computer and workstation where I want to compile my software. In many cases I do not even have the necessary privileges to conduct this fix...
Anyways, thanks for the help so far!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We will fix it with the next release.
In case you cannot modify the installation folder, you can of course just recompile the module files in a folder of your choice and add that folder to your compile / link line.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Great to hear it will be fixed! That makes life so much easier for everyone!
Thanks a lot for looking into this!
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page