<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: MPI_f08 with polymorphic argument CLASS(*) in Intel® MPI Library</title>
    <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590077#M11658</link>
    <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/117491"&gt;@hakostra1&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;thanks for reporting this. Are you using Windows or Linux?&lt;/P&gt;</description>
    <pubDate>Wed, 17 Apr 2024 16:51:02 GMT</pubDate>
    <dc:creator>TobiasK</dc:creator>
    <dc:date>2024-04-17T16:51:02Z</dc:date>
    <item>
      <title>MPI_f08 with polymorphic argument CLASS(*)</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1586415#M11649</link>
      <description>&lt;P&gt;Over &lt;A href="https://community.intel.com/t5/Intel-Fortran-Compiler/Calling-a-function-with-TYPE-with-a-CLASS-argument/m-p/1497024" target="_blank" rel="noopener"&gt;in the Fortran forum here I reported a bug&lt;/A&gt; last summer. It was originally about calling some MPI_f08 functions, but &lt;EM&gt;ifx&lt;/EM&gt; gave compilation errors. &lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/5442"&gt;@Steve_Lionel&lt;/a&gt; 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.&lt;/P&gt;&lt;P&gt;However, my original MPI code still does not compile. I have now boiled it down to the following example:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="fortran"&gt;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&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Compiling this with mpiifx gives:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;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)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The version of the compiler and MPI library is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;$ 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.&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;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 &lt;A href="https://community.intel.com/t5/Intel-Fortran-Compiler/Calling-a-function-with-TYPE-with-a-CLASS-argument/m-p/1497024#M166892" target="_blank" rel="noopener"&gt;original post in the Fortran part of the forum&lt;/A&gt; for more information on the original problem.&lt;/P&gt;&lt;P&gt;Both GFortran + OpenMPI and NAG Fortran compiler + MPICH compile the above example code just fine without any errors or warnings.&lt;/P&gt;&lt;P&gt;Thanks in advance for all help.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Apr 2024 19:44:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1586415#M11649</guid>
      <dc:creator>hakostra1</dc:creator>
      <dc:date>2024-04-04T19:44:03Z</dc:date>
    </item>
    <item>
      <title>Re:MPI_f08 with polymorphic argument CLASS(*)</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1589676#M11655</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/117491"&gt;@hakostra1&lt;/a&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;we made some changes in the F08 bindings recently, let me check this.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 16 Apr 2024 15:27:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1589676#M11655</guid>
      <dc:creator>TobiasK</dc:creator>
      <dc:date>2024-04-16T15:27:38Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_f08 with polymorphic argument CLASS(*)</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590077#M11658</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/117491"&gt;@hakostra1&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;thanks for reporting this. Are you using Windows or Linux?&lt;/P&gt;</description>
      <pubDate>Wed, 17 Apr 2024 16:51:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590077#M11658</guid>
      <dc:creator>TobiasK</dc:creator>
      <dc:date>2024-04-17T16:51:02Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_f08 with polymorphic argument CLASS(*)</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590095#M11659</link>
      <description>&lt;P&gt;Thanks for looking into this. I'm using Linux.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Apr 2024 17:51:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590095#M11659</guid>
      <dc:creator>hakostra1</dc:creator>
      <dc:date>2024-04-17T17:51:01Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_f08 with polymorphic argument CLASS(*)</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590421#M11660</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/117491"&gt;@hakostra1&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;for Linux please try (after setting up the oneapi 2024.1 environment)&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;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/&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and try your example again.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best&lt;/P&gt;
&lt;P&gt;Tobias&lt;/P&gt;</description>
      <pubDate>Thu, 18 Apr 2024 14:20:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590421#M11660</guid>
      <dc:creator>TobiasK</dc:creator>
      <dc:date>2024-04-18T14:20:12Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_f08 with polymorphic argument CLASS(*)</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590653#M11661</link>
      <description>&lt;P&gt;Yes, the example compiles now. Thanks. I guess this means there is a problem with the included MPI_f08 module files, then?&lt;/P&gt;&lt;P&gt;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...&lt;/P&gt;&lt;P&gt;Anyways, thanks for the help so far!&lt;/P&gt;</description>
      <pubDate>Fri, 19 Apr 2024 05:51:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590653#M11661</guid>
      <dc:creator>hakostra1</dc:creator>
      <dc:date>2024-04-19T05:51:56Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_f08 with polymorphic argument CLASS(*)</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590700#M11662</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/117491"&gt;@hakostra1&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We will fix it with the next release.&lt;BR /&gt;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.&lt;/P&gt;</description>
      <pubDate>Fri, 19 Apr 2024 08:14:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590700#M11662</guid>
      <dc:creator>TobiasK</dc:creator>
      <dc:date>2024-04-19T08:14:01Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_f08 with polymorphic argument CLASS(*)</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590701#M11663</link>
      <description>&lt;P&gt;Great to hear it will be fixed! That makes life so much easier for everyone!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks a lot for looking into this!&lt;/P&gt;</description>
      <pubDate>Fri, 19 Apr 2024 08:15:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1590701#M11663</guid>
      <dc:creator>hakostra1</dc:creator>
      <dc:date>2024-04-19T08:15:58Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_f08 with polymorphic argument CLASS(*)</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1610304#M11768</link>
      <description>&lt;P&gt;For reference: I just tried the 2024.2 oneAPI packages that recently came out, and this problem does not appear to be solved in this release:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;$ mpiifx example-2.F90 
example-2.F90(13): 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, ierr)
-------------------^
compilation aborted for example-2.F90 (code 1)

$ mpiifx --version
ifx (IFX) 2024.2.0 20240602
Copyright (C) 1985-2024 Intel Corporation. All rights reserved.

$ mpirun --version
Intel(R) MPI Library for Linux* OS, Version 2021.13 Build 20240515 (id: df72937)
Copyright 2003-2024, Intel Corporation.&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 09:01:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1610304#M11768</guid>
      <dc:creator>hakostra1</dc:creator>
      <dc:date>2024-06-27T09:01:39Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_f08 with polymorphic argument CLASS(*)</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1610309#M11769</link>
      <description>&lt;P&gt;unfortunately, it was decided that backwards combability is more important than the fix for this problem, so the solution is still to rebuild the bindings with 2024.1 or newer to get rid of the fix.&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 09:08:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1610309#M11769</guid>
      <dc:creator>TobiasK</dc:creator>
      <dc:date>2024-06-27T09:08:06Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_f08 with polymorphic argument CLASS(*)</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1610311#M11770</link>
      <description>&lt;P&gt;Ok, thanks for the info. Is there any timeline at all (e.g. 2025.x ???) for fixing this? Imho. this is a quite serious bug that severely limit the usability of the Intel MPI library for modern Fortran applications.&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 09:11:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-f08-with-polymorphic-argument-CLASS/m-p/1610311#M11770</guid>
      <dc:creator>hakostra1</dc:creator>
      <dc:date>2024-06-27T09:11:27Z</dc:date>
    </item>
  </channel>
</rss>

