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

Running 2021.1 coarray programs

IanH
Honored Contributor II
1,016 Views

Has anyone had success running Intel Fortran 2021.1.2 coarray programs outside of the "oneAPI command prompt", but on a machine that does have the separate installation for the Fortran runtime libraries installed?

All I get is...

coarray-test.exe
[mpiexec@Daria] enqueue_control_fd (bstrap\src\intel\i_hydra_bstrap.c:71): assert (!closed) failed
[mpiexec@Daria] launch_bstrap_proxies (bstrap\src\intel\i_hydra_bstrap.c:556): error enqueuing control fd
[mpiexec@Daria] HYD_bstrap_setup (bstrap\src\intel\i_hydra_bstrap.c:754): unable to launch bstrap proxy
[mpiexec@Daria] wmain (mpiexec.c:1955): error setting up the boostrap proxies
0 Kudos
2 Replies
IanH
Honored Contributor II
914 Views

While trying to debug this, I noticed that the runtime libraries installed with 2021.1.2 have some DLLs different from DLLs installed via the separate runtime library installation.

The runtime DLL installation from https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html for the Fortran compiler classic on Windows downloads a file with 2021.1.1.119 in its name, provides an x64 liifcoremd.dll that is 1.76 MB in size, file signed 12 November 2020.

The runtime DLL installed with 2021.1.2 provides an x64 libifcoremd.dll that is 1.78 MB, file signed 8 December 2020 (installed both under ...\compiler\latest\windows\redist\intel64_win\compiler and intelpython\latest\Library\bin - note both are on path under a oneAPI command prompt and the python one wins here - how will this work with future upgrades?)

Is the separate runtime download out of date?

0 Kudos
IanH
Honored Contributor II
908 Views

Righto - this is ... a bit odd.

The problem appears to be caused by the separate runtime installation adding spurious backslash characters in the system path.  Exactly why this causes a problem is beyond me (is mpiexec.exe or hydra_bstrap_proxy.exe doing its own parsing of the PATH environment variable?).

Specifically, the runtime installer adds the following components to the system PATH:

%INTEL_DEV_REDIST%intel64\
%INTEL_DEV_REDIST%intel64\bin\
%INTEL_DEV_REDIST%intel64\libfabric\bin\
%INTEL_DEV_REDIST%intel64\libfabric\bin\utils\

and is the spurious trailing slash on the second component above that results in hydra_bstrap_proxy.exe bailing out when a coarray program is run.

If I add the spurious trailing slash in to the appropriate path component in an environment otherwise set up from the One API command prompt, I can reproduce the issue.

The nature of this makes me wonder whether there are other environmental dependencies to the problem.   Has any one else seen this behaviour?  Has any one else successfully run a 2021.1 compiled coarray program using the separate re-distributables?

If my observations and conclusions are correct - this is a bit of a WTF moment.  Whoever is responsible for the redistributable package owes me a carton.

0 Kudos
Reply