Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Beginner
17 Views

Intel Composer XE and OpenMPI conflict

I have a Linux X64 machine running Centos 5.11 which has composer_xe_2013_sp1.1.106 installed.

I am attempting to run OpenFOAM on this node using OpenMPI [as on my other configured nodes].  OpenMPI is installed but the Intel compiler configures some path or library item on startup that returns the following at the which mpirun comand:

which mpirun

/opt/intel/composer_xe_2013_sp1.1.106/mpirt/bin/intel64/mpirun

From this forum post https://software.intel.com/en-us/articles/missing-mpivarsh-error

The Intel Compilers bundle the Intel MPI runtimes package in order to support their Co-Array Fortran implementation.  You will see the messages above if you have sourced the appropriate compilervars.shto set your compiler environment but have not done so for your Intel MPI libraries.  Therefore, the first instance of mpirun found on your system is the one shipped with the Intel compilers (which is not the full package).

I don't have a license for Intel MPI so would really like to make the OpenMPI installation the default.

Some statement in the intel compiler setup is pointing which mpirun to the intel directory which doesn't exist in full form.

Note that mpi-selector --query shows openmpi-1.4-gcc-x86_64 to be the default but there is a problem with the path statement.

Any advice on how to correct this would be appreciated. I would prefer to not uninstall the compiler to get around this.

Britton Ward

 

 

0 Kudos
2 Replies
Highlighted
Black Belt
17 Views

You must set up the path entries for OpenMPI after setting up those for Intel compilers, so that OpenMPI runtime comes first, and which mpirun will show you that OpenMPI is active.  You could set up your shell initialization e.g. .bashrc so that it sources Intel compilervars and then sets the OpenMPI paths (but you must remember to edit it if necessary when changing version of either).  It shouldn't matter if the OpenMPI appears twice.

e.g.

source <ifort path>compilervars.sh intel64

export PATH=<openmpi mpirun path>:$PATH

export LD_LIBRARY_PATH=<openmpi library path>:$LD_LIBRARY_PATH

 

Your OpenMPI (at least the Fortran library) must have been built against your ifort.

0 Kudos
Highlighted
Beginner
17 Views

Tim P thank you for the comment. Got it working now... I figured it needed some change to .bashrc path statements.

 

 

0 Kudos