Intel® oneAPI HPC Toolkit
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

mpivars.sh

Sam_W_2
Beginner
844 Views

Hi,

I'm having some trouble running mpirun on my computer. The command mpirun -V returns the following:

/phys/sfw/intel/composer_xe_2013-09/composer_xe_2013_sp1.0.080/mpirt/bin/intel64/mpirun: 96: .: Can't open /phys/sfw/intel/composer_xe_2013-09/composer_xe_2013_sp1.0.080/mpirt/bin/intel64/mpivars.sh

I think a similar problem may have been posted once before but I couldn't quite make sense of the solution, it was suggested that the command was following the wrong path to mpivars.sh but I couldn't see how to change this path. I'd be very grateful for any more help on this!

Thank you in advance,

Sam

0 Kudos
5 Replies
Sam_W_2
Beginner
844 Views

Resolved! If anyone is interested, I used /usr/bin/mpirun which seems to have got around the problem.

Gergana_S_Intel
Employee
844 Views

Hey Sam,

Thanks for posting here. I know you said your issue is resolved but I wanted to clarify why this happens and how to avoid it in the future.

If you have the Intel compilers in addition to the Intel MPI Library installed on the same machine, you might see this pop up.  The root cause is that the Intel compilers ship the Intel MPI runtimes, including the mpirun command, to support their Co-Array Fortran implementation.  If you've only sourced the compilervars.sh script to set your environment, then the only mpirun command that will be picked up is the one shipped with the compilers (which is not the full package).

You have to make sure you tell your OS where Intel MPI is located (via sourcing the proper mpivars.sh) in order to set your environment.

For example, I have both the Intel compiler and Intel MPI installed:

[user@host1] locate mpirun

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

/opt/intel/impi/4.1.1.036/intel64/bin/mpirun

Then I'll make sure to source the following scripts to set my environment:

[user@host1] . /opt/intel/composer_xe_2013_sp1/bin/compilervars.sh intel64

[user@host1] . /opt/intel/impi/4.1.1.036/bin64/mpivars.sh

Now, the mpirun script will pick up the correct one that's shipped with the full Intel MPI Library package.

I hope this makes sense.  Let me know if I can answer more questions.

Regards,
~Gergana

Sam_W_2
Beginner
844 Views

Hi Gergana,

That makes sense, thanks very much for your response.

Regards, Sam

Yuzhong_Q_
Beginner
844 Views

Hi,

I cought the same problem that you met! Could you tell me how to solve it?

Thanks.

qyzbird@live.com

Enrico_R_
Beginner
844 Views

Thank you Gergana Slavova for your answer.

Coud you be a bit more explicit in order to meet the low knowledge of common users (like me)?

You write: "Then I'll make sure to source the following scripts to set my environment:"

How to source ? How to set up enviroment?

I assume that the answer would be very system specific. I am a Ubuntu user.

 

 

 

Reply