- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How very interesting. I can reproduce this - we'll investigate.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve,
Is there a similar issue with the Linux distribution?
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Um... yes, it would seem!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Update 2 fixed this problem for me.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page