Problems in configuring OpenMPI to Intel Compilers

Problems in configuring OpenMPI to Intel Compilers

Hi,

I've been unable to config openmpi to both ifort or icc or icpc.
mpif90 still uses gfortran, mpicc still uses gcc as compilers
This is what I've done for the installation of openMPI

gunzip -c openmpi-1.4.4.tar.gz | tar xf -
cd openmpi-1.4.4
./configure --prefix=/usr/local CC=icc CXX=icpc F77=ifort FC=ifort
make all install

I've added the following to my bashrc

PATH=$PATH:/usr/local/composer_xe_2011_sp1.7.256/bin/ia32

export PATH=/usr/local/bin:${PATH}
export LD_LIBRARY_PATH="/usr/local/composer_xe_2011_sp1.7.256/compiler/lib:$LD_LIBRARY_PATH":${LD_LIBRARY_PATH}

The intel compiler version I am using is the non-commercial version. They can work fine on their own eg (ifort, icc, icpc all work fine)

Please advise on how to config openmpi to intel compilers.
Thanks

8 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Most of this looks right based on this dochttp://software.intel.com/en-us/articles/performance-tools-for-software-developers-building-open-mpi-with-the-intel-compilers/but your .bashrc file doesn't look right. What not justsource /opt/intel/bin/compilervars.sh ia32in your .bashrc rather than trying to reinvent the wheel with explicitly calling out PATH and LD_LIBRARY_PATH.Since many linux distros may come with mpi pre-installed, make sure to use command:which mpif90to make sure it's picking up the OpenMPI loaded in /usr/local rather than the pre-installed package.ron

Hi
I have made the changes to my bashrc.
As I have installed the intel compilers on usr/local
I have added this to bashrc

source /usr/local/composer_xe_2011_sp1/bin/compilervars.sh ia32

by using the which mpif90 on shell, I found that openmpi is installed on /usr/bin
so I added the following to bashrc

export PATH=/usr/local/bin:${PATH}

However, I still am unable to solve the problem that I had.

Please do provide advice again.
Shawn

Hi,

I have installed the intel compilers in usr/local
So I have added the following to bashrc

source /usr/local/composer_xe_2011_sp1/bin/compilervars.sh ia32

By using the which mpif90 command on shell, I found that it is at /usr/bin
So I added this to bashrc

export PATH=/usr/local/bin:${PATH}

However, I am still unable to solve my problem.

Please do provide me with additional advice. Thanks

Hi,

I have done the following.
Reinstalled intel compilers and placed it in the default /opt/intel
In .bashrc, I have added
source /opt/intel/bin/compilervars.sh ia32

The command which mpif90 points me to /usr/bin
So for in shell I did this

./configure --prefix=/usr/bin CC=icc CXX=icpc F77=ifort FC=ifort
make all install

However when I key in mpif90 in shell again this comes out,

gfortran: no input files

Please do provide me with more advice on how to deal with this.

Thanks.

mpif90 is just a simple script file. Open it up in an editor and see what is happening with it. I believe it's a bash script, and if so, add -x on the first line of this file:

#!/bin/bash -x

this echoes each command in the script and can give a clue to what's going on.

Next, do you have a .bash_profile file in your home dir? Something like this:

more .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME

Try creating this if you don't have it.

Oh and a really stupid question: you are using bash as your shell, right?
echo $0
prints out your shell.

Also, during the configure, capture the output and scan through it to confirm that it finds the Intel compilers and doesn't fall back to gfortran and gcc g++

ron

It's not a good idea to build a new MPI for installation in /usr/bin while the one which comes with your linux distro is already installed there. Should you wish to follow that path, you should use your package installer to remove all MPI components first.
I've never been so hasty as to try to make OpenMPI build and install all
in one step, but that should work. Don't forget to check that
everything including install step completed successfully.

The standard advice, which you quoted originally, should lead to your new MPI being installed in /usr/local/bin.
Then you would set PATH and LD_LIBRARY_PATH yourself in the shell which opens on each node, so as to put that one ahead of the default one.
export PATH=/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib????
I don't know which library path it would be, depending on whether you are building 32- or the normal 64-bit MPI, if you are using a non-standard distro like Debian/Ubuntu.

If you don't like building MPI yourself, avoiding that is part of the value-add of Intel Cluster Studio.
OpenMPI instructions are exceptionally good for an open source application which builds with Intel compilers, as is their email support forum.

All of these messages are quite old.  I am having the same problem installing openmpi using MAC OS* with Lion OS.  In fact I cant seem to download the intel files because I done have the password.  Has there been any more recent work on this problem?

Amos Leffler at amosleff@gmail.com

Leave a Comment

Please sign in to add a comment. Not a member? Join today