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

Coarray error with mpiexec

Satish_BD
Beginner
860 Views
Hi,

I'm running a simple Coarray program but an error occurs at runtime.
[bash][examples]:20 $ ifort -coarray coarray.f90 
[examples]:21 $ ./a.out 
--------------------------------------------------------------------------
mpiexec was unable to launch the specified application as it could not find an executable:

Executable: -genv
Node: ubuntu-desktop

while attempting to start process rank 0.
--------------------------------------------------------------------------
[/bash]
I've installed OpenMPI on my Linux system and is it clashing with Intel's builtin MPI ?

0 Kudos
5 Replies
Ron_Green
Moderator
860 Views
Yes, if the OpenMPI is first in your PATH you will have issues.

Do this:

which mpiexec

should show a path to the compiler's bin like this
...composer_xe_2011_sp1.6.233/mpirt/bin/intel64/mpiexec

Make sure to source /opt/intel/bin/compilervars.sh intel64

this SHOULD put the Intel binaries first in PATH. But check your .bashrc or .profile to make sure you are not setting the OpenMPI path in those.

ron
0 Kudos
Satish_BD
Beginner
860 Views
Thanks Ron ! Changing my PATH variable manually fixed it.

As a side note, sourcing 'compilervars.sh ia32' didn't fix the problem. Indeed Intel binaries were first in the list but the mpirt/bin directory wasn't in the PATH.

[bash][shell] $ source $HOME/intel/composer_xe_2011_sp1.6.233/bin/compilervars.sh ia32
[shell] $ echo $PATH
/home/username/intel/composer_xe_2011_sp1.6.233/bin/ia32:/home/username/bin: ... 
[/bash]

As you can see the mpirt/bin/ia32 isn't prepended to $PATH. Probably this is a bug ?


-- Satish
0 Kudos
Steven_L_Intel1
Employee
860 Views
It puts the MPI path at the end.
0 Kudos
Satish_BD
Beginner
860 Views
Oh I see, Thanks Steve. I overlooked it. I wonder why is it put at the end, instead the beginning.
--Satish
0 Kudos
Ron_Green
Moderator
860 Views
it's a hard choice where to put it. If you put it first in the path, then regular Fortran users who do NOT use Coarray but do use their own MPI, like MPICH or OpenMPI, get the Intel MPI instead of their own MPI. And currently there are more users like this than there are Coarray users.

Our initial implementation put the Intel RTL first in the path, and we got a lot of bug reports from MPI users.

ron
0 Kudos
Reply