Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Redistributable requirements for coarray Fortran programs

IanH
Honored Contributor II
1,293 Views

For ifort 19.0.1.144 (2019 update 1), what are the re-distributables (dlls and any helper exe's) required for coarray programs, beyond those required for non-coarray programs?

Is it expected that the necessary redisdtributables for coarray programs be provided by the redistributable msi that can be downloaded from https://software.intel.com/en-us/articles/redistributable-libraries-for-intel-c-and-fortran-2019-compilers-for-windows?

If yes... my coarray (/Qcoarray:shared) programs compiled in a release configuration ultimately depend on impi.dll, which doesn't appear to be in the redistributables - any ideas why?  This dependency is picked up via libicaf.dll, which is the redistributables (in C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64_win\compiler). 

I do see a similary named impimt.dll in the x64 redistributable dlls, which is odd because it only appears in the ia32 directories of the directory structure on a development machine.

0 Kudos
12 Replies
Steve_Lionel
Honored Contributor III
1,293 Views

impi.dll should be in the compiler redistributables. It is an oversight if not. I suggest filing a support ticket on that.

0 Kudos
IanH
Honored Contributor II
1,293 Views

I have had a look at the redistributable msi with orca, and it too only has impimt.dll, not impi.dll (consistent with what actually has been installed here).  I will file a ticket.

I am rather suspicious of other aspects of the redistributable installer too - I think some file versions in the installer that deals with files under the mpirt directory have not been set and/or incremented correctly, such that the installer is not updating some of the files that already existed from previous redistributable installations.

If someone has installed 2019 update one on a new machine (one that has never had ifort or its redistributables installed), it would be handy to see a directory listing of the files under C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64_win\mpirt.

0 Kudos
mecej4
Honored Contributor III
1,293 Views

I have PS2019U1 in a different directory than the default location in c:\Program Files (x86). In the redist folder I have only 32-bit impi DLLs:

 Directory of c:\lang\PS19U1\compilers_and_libraries_2019.1.144\windows\redist\ia32\mpirt

03/14/2018  05:47 PM         3,743,032 impi.dll
03/14/2018  05:47 PM         3,879,736 impimt.dll
               2 File(s)      7,622,768 bytes

 Directory of c:\lang\PS19U1\compilers_and_libraries_2019.1.144\windows\redist\ia32_win\mpirt

03/14/2018  05:47 PM         3,743,032 impi.dll
03/14/2018  05:47 PM         3,879,736 impimt.dll
               2 File(s)      7,622,768 bytes

The 64-bit DLLs are in a different place:

 Directory of c:\lang\PS19U1\compilers_and_libraries\windows\mpi\intel64\bin\debug

10/16/2018  11:34 AM        28,635,368 impi.dll
               1 File(s)     28,635,368 bytes

 Directory of c:\lang\PS19U1\compilers_and_libraries\windows\mpi\intel64\bin\release

10/16/2018  11:34 AM        12,367,080 impi.dll
               1 File(s)     12,367,080 bytes

I have not had reasons to build any MPI applications, so I do not know if any of these DLLs work correctly.

0 Kudos
IanH
Honored Contributor II
1,293 Views

What do you see in C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64_win\mpirt?  I have no impi.dll, and a mix of versions for some of the other files.

0 Kudos
FortranFan
Honored Contributor II
1,293 Views

ianh wrote:

..

If someone has installed 2019 update one on a new machine (one that has never had ifort or its redistributables installed), it would be handy to see a directory listing of the files under C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64_win\mpirt.

Here's a snip from a new machine where Parallel Studio 2018 Update 1 was recently installed and that's the only version installed on this computer:

mpirt.png

0 Kudos
mecej4
Honored Contributor III
1,293 Views

ianh wrote:
What do you see in C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64_win\mpirt?  I have no impi.dll, and a mix of versions for some of the other files.

c:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64_win\mpirt>dir *impi*
 Volume in drive C is Acer
 Volume Serial Number is 5E21-06A2

 Directory of c:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64_win\mpirt

11/13/2018  08:42 PM    <SYMLINK>      impi.dll 
10/16/2018  11:34 AM        12,367,080 impimt.dll
               2 File(s)     12,367,080 bytes

Thus, one is a symlink to the other; furthermore, this file is a copy of the file ...\compilers_and_libraries_2019.1.144\windows\mpi\intel64\bin\release\impi.dll

0 Kudos
Jon_D
New Contributor I
1,293 Views

Hello,

I am running into the same issue described here with the latest Intel Fortran (2020.0.166). I just installed the 64bit redistributable package and my coarray program says it cannot find the impi.dll file. Is there any resolution to this issue? Any way around it? 

Thanks,

Jon

 

0 Kudos
Steve_Lionel
Honored Contributor III
1,293 Views

That file ought to be in C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\mpirt and that folder should be in the value of the PATH environment variable. Before going any further, log out and in again and try the program. I have found that sometimes PATH updates don't "take" immediately.

0 Kudos
JohnNichols
Valued Contributor III
1,293 Views

I just had a NUC go south and so I reinstalled Windows 10  - 18362, VS Preview 2019 and I put up 2019 Fortran Update 1 

Here is the listing from the requested directory, everything was stock standard install 

0 Kudos
JohnNichols
Valued Contributor III
1,293 Views

Steve Lionel (Ret.) (Blackbelt) wrote:

That file ought to be in C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\mpirt and that folder should be in the value of the PATH environment variable. Before going any further, log out and in again and try the program. I have found that sometimes PATH updates don't "take" immediately.

I ran the compilervars - then rebooted and this is the path -- it appears to be there

0 Kudos
Steve_Lionel
Honored Contributor III
1,293 Views

Hmm - on my system, that "impi" symlink is named impi.dll. Its target is impimt.dll. So one thing you could do is make a copy of impimt.dll in that folder and call it impi.dll.

This might be a bug in the redistributable installer.

0 Kudos
Jon_D
New Contributor I
1,293 Views

Copying and renaming impimt. dll as impi.dll worked.

This is for a program that will be distributed to folks that don't have Intel Fortran compiler installed. I have been working on this program on and off for some time now, and the last time Intel redistributables worked without this problem was with Intel Fortran 2017. All other versions since then had this issue. I will submit a problem ticket. Hopefully, it will get fixed one day :-(.

0 Kudos
Reply