Boost logo

Boost-MPI :

Subject: Re: [Boost-mpi] MPI auto-detection failed
From: Alain Miniussi (alain.miniussi_at_[hidden])
Date: 2014-10-11 07:33:52


Forget it ;-)

Bjam try to use the most common compiler wraper option to display the
link and build command. Intel does not support them anymore (their
implementation is based on mpich those options are tested) so bjam
cannot use those. To make things worse, mpiicpc -<any unknown option>
will not return an error so I am not even sure bjam can try the other
option (which do not exist either). There is a feature request filed at
intel and things should improve in the future.

That being said:

"mpiicpc -show" will display the options to use to compile directly mpi
application through icpc.

On my current box:

icpc -I/opt/intel//impi/5.0.1.035/intel64/include
-L/opt/intel//impi/5.0.1.035/intel64/lib/release
-L/opt/intel//impi/5.0.1.035/intel64/lib -Xlinker --enable-new-dtags
-Xlinker -rpath -Xlinker /opt/intel//impi/5.0.1.035/intel64/lib/release
-Xlinker -rpath -Xlinker /opt/intel//impi/5.0.1.035/intel64/lib -Xlinker
-rpath -Xlinker /opt/intel/mpi-rt/5.0/intel64/lib/release -Xlinker
-rpath -Xlinker /opt/intel/mpi-rt/5.0/intel64/lib -lmpicxx -lmpifort
-lmpi -lmpigi -ldl -lrt -lpthread

you can use that to deduce the include path, library path and libraries.

 From there, you can explicitly configure the mpi section of your
project-config.jam, on my box, that's:

using mpi : :
       <find-shared-library>mpi
       <find-shared-library>mpigi
       <find-shared-library>dl
       <find-shared-library>rt
       <find-shared-library>pthread
       <library-path>/opt/intel/impi/5.0.1.035/intel64/lib
<library-path>/opt/intel/impi/5.0.1.035/intel64/lib/release
       <include>/opt/intel/impi/5.0.1.035/include64
        ;

You might want to set the run path too depending on you preferences wrt
dynamic libraries.
There is an extra argument which could be usefull to set if you want to
run the test, depending on you intel's version of MPI:

using mpi : :
       <find-shared-library>mpi
       <find-shared-library>mpigi
       <find-shared-library>dl
       <find-shared-library>rt
       <find-shared-library>pthread
       <library-path>/opt/intel/impi/5.0.1.035/intel64/lib
<library-path>/opt/intel/impi/5.0.1.035/intel64/lib/release
       <include>/opt/intel/impi/5.0.1.035/include64
      :
        opt/intel/impi/5.0.1.035/intel64/bin/mpiexec.hydra
      ;

that's a flavour of mpiexec that does not require the mpd daemon to be
running. It should become the default but I think at least mpiexec still
requires the daemon for the impi 5.x version.

Don't forget to have a look at boost/mpi/config.hpp and look for:
//#define BOOST_MPI_HOMOGENEOUS
you probably want to undocument it.

Hope it help.

A++

Alain

On 11/10/2014 07:03, Éric Germaneau wrote:
> Dear all,
>
> I'm building boost for the first time.
> I'm using Intel compiler.
> The b2 command print this message:
>
> MPI auto-detection failed: unknown wrapper compiler mpic++
> Please report this error to the Boost mailing list:
> http://www.boost.org
> You will need to manually configure MPI support.
>
> Would you please shed some light on this matter?
> I need to use mpiicc and mpiicpc.
> Thank you,
>
> Éric.
>
> --
> Éric Germaneau (艾海克), Specialist
> Center for High Performance Computing
> Shanghai Jiao Tong University
> Room 205 Network Center, 800 Dongchuan Road, Shanghai 200240 China
> M:germaneau_at_[hidden] P:+86-136-4161-6480 W:http://hpc.sjtu.edu.cn
>
>
> _______________________________________________
> Boost-mpi mailing list
> Boost-mpi_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-mpi

-- 
---
Alain


Boost-Commit list run by troyer at boostpro.com