Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
26730 Discussions

17.0 update 1 coarrays on Windows 10 x64

IanH
Black Belt
141 Views

I cannot successfully run any coarray program using the Intel 64 target compiler on 17.0 update one with VS2015.  Even the simplest program (just an END statement) results in an indefinite deadlock in WaitForSingleObjectEx across all processes created as part of running the coarray program. 

17.0 initial release works, 17.0 update one IA-32 works.

The call chain from the executable to the WaitForSingleObjectEx in the call include libicaf.dll (17.0-001) and impimt.dll (2017.00.1.0), that were built in October, so I presume they are from update one.  The call stack for the primary process has gone via for_rtl_ICAF_LAUNCH, while the secondary processes have gone via main then for_rtl_init. 

I am stumped.
 

0 Kudos
7 Replies
Steven_L_Intel1
Employee
141 Views

How very interesting. I can reproduce this - we'll investigate.

Steven_L_Intel1
Employee
141 Views

Escalated as DPD200416079. So far, I haven't been able to figure out which piece changing triggers the problem. I can take a 17.0.1-built EXE and run it in a 17.0.0 build environment, and it works fine. But if I add the paths to the Fortran and MPI DLLs from 17.0.0 to a 17.0.1 environment, it hangs. We'll get to the bottom of this soon.

jimdempseyatthecove
Black Belt
141 Views

Steve,

Is there a similar issue with the Linux distribution?
 

Jim Dempsey

Steven_L_Intel1
Employee
141 Views

Um... yes, it would seem!

Steven_L_Intel1
Employee
141 Views

On Windows, at least, if you replace the impimt.dll in the 17.0.1 folder (C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.1.143\windows\mpi\intel64\bin) with the one from 17.0.0, it fixes the hang issue. You'll also want to replace the one in C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64_win\mpirt

I am extremely puzzled that we didn't catch this during our usual product verification testing and am asking some pointed questions right now...

The same general workaround probably works on Linux as well (it would be a .so file).

Martyn_C_Intel
Employee
141 Views

A fixed library is targeted for Intel MPI 2017.0.2 and for the Intel Fortran Compiler 17.0.2 in the appropriate editions of Intel Parallel Studio XE 2017 update 2.

It will be some weeks before it's available for download, though. In the meantime, you should be able to set the environment variable

     I_MPI_COLL_INTRANODE=pt2pt

as a workaround.

Steve_Lionel
Black Belt Retired Employee
141 Views

Update 2 fixed this problem for me.

Reply