mpicc -mmic skipping /libmpi.so when searching for -lmpi

mpicc -mmic skipping /libmpi.so when searching for -lmpi

Hey!

The case is similar to this post : http://software.intel.com/en-us/forums/topic/382324

The difference in my case is even when I'm compiling with mpiicc for MIC using -mmic, then also I get the error : 

x86_64-k1om-linux-ld: skipping incompatible /home/Intel_13.0//impi/4.0.3.008/intel64/lib/libmpi.so when searching for -lmpi
x86_64-k1om-linux-ld: skipping incompatible /home/Intel_13.0//impi/4.0.3.008/intel64/lib/libmpi.a when searching for -lmpi
x86_64-k1om-linux-ld: cannot find -lmpi
x86_64-k1om-linux-ld: skipping incompatible /home/Intel_13.0//impi/4.0.3.008/intel64/lib/libmpigf.so when searching for -lmpigf
x86_64-k1om-linux-ld: skipping incompatible /home/Intel_13.0//impi/4.0.3.008/intel64/lib/libmpigf.a when searching for -lmpigf
x86_64-k1om-linux-ld: cannot find -lmpigf
x86_64-k1om-linux-ld: skipping incompatible /home/Intel_13.0//impi/4.0.3.008/intel64/lib/libmpigi.a when searching for -lmpigi
x86_64-k1om-linux-ld: cannot find -lmpigi

Compiled as : $ mpiicc simplempi.c -mmic

I have set the following : 

# source $ICCROOT/bin/compilervars.sh intel64
# source $MPIROOT/intel64/bin/mpivars.sh

Output of my $PATH and $LD_LIBRARY_PATH

:$ echo $PATH

/home/Intel_13.0/itac/8.0.3.007/bin:/home/Intel_13.0/vtune_amplifier_xe_2013/bin64:/home/Intel_13.0//impi/4.0.3.008/intel64/bin:/home/Intel_13.0//impi/4.0.3.008/intel64/bin:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mpirt/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64_mic:/home/Intel_13.0/composer_xe_2013.0.079/debugger/gui/intel64:/home/Intel_13.0//impi/4.0.3.008/intel64/bin:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mpirt/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64_mic:/home/Intel_13.0/composer_xe_2013.0.079/debugger/gui/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mpirt/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64_mic:/home/Intel_13.0/composer_xe_2013.0.079/debugger/gui/intel64:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/inaof01/bin

:$ echo $LD_LIBRARY_PATH
/home/Intel_13.0/lib/intel64:/home/Intel_13.0/itac/8.0.3.007/itac/slib_impi4:/home/Intel_13.0//impi/4.0.3.008/intel64/lib:/home/Intel_13.0//impi/4.0.3.008/intel64/lib:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/opt/intel/mic/coi/host-linux-release/lib:/opt/intel/mic/myo/lib:/home/Intel_13.0/composer_xe_2013.0.079/mpirt/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/ipp/../compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/ipp/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mkl/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/tbb/lib/intel64:/home/Intel_13.0//impi/4.0.3.008/intel64/lib:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mkl/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/opt/intel/mic/coi/host-linux-release/lib:/opt/intel/mic/myo/lib:/home/Intel_13.0/composer_xe_2013.0.079/mpirt/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/ipp/../compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/ipp/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mkl/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/tbb/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/opt/intel/mic/coi/host-linux-release/lib:/opt/intel/mic/myo/lib:/home/Intel_13.0/composer_xe_2013.0.079/mpirt/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/ipp/../compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/ipp/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mkl/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/tbb/lib/intel64

How do I get through with this error?

I have one MIC card on machine and other tools are working fine. I'm attaching the simplempi.c(Basic MPI program) source in case if anybody wants to glance through. 

Thanks,

AttachmentSize
Downloadtext/x-csrc simplempi.c632 bytes
8 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I'm sorry for the blunder in the Post's topic: it should be "mpiicc -mmic skipping /libmpi.so when searching for -lmpi". Please note this.

Hi Apaar,

Can you try

#source $MPIROOT/mic/bin/mpivars.sh

instead of $MPIROOT/intel64/bin/mpivars.sh . Also, I notice that your MPI version is a bit old. Regards.

 

With any recent combination of compiler and MPI versions, intel64/bin/mpivars.sh should be fine.

Hi loc-nyugen, TimP

@loc-nyugen, When I do search on mpivars.sh, here's what I get :

$ locate mpivars.sh
/home/Intel_13.0/impi/4.0.3.008/ia32/bin/mpivars.sh
/home/Intel_13.0/impi/4.0.3.008/intel64/bin/mpivars.sh

There's no path as : /mic/bin/mpivars.sh . Should I be worried about this about this or /intel64/bin/mpivars.sh is suffice.

@loc-nyugen,TimP : How will updating the MPI help. I mean, there must be a support for MIC in this version as well. Isn't it.

Will anyway get the latest version installed and let you guys know.

Regards,

Hi,

I have now, the updated version of Open MPI( v1.6.5) . But still I am getting the same error. Any pointers where else should I check?

Regards,

 Why the double // in your path?  Did you actually install the /mic/ libraries with your MPI. e..g. to /home/Intel_13.0//impi/4.0.3.008/mic/ ?  I don't see any such entry in LD_LIBRARY_PATH. Maybe your MPI is too old? The other problem is that you appear to have used an old version of the compiler which doesn't check for the presence of MPI paths when you run the compilervars.sh setting after you run the mpivars.sh.

Agreeing this Intel MPI version 4.0 is too old.  Support for Intel Xeon Phi was introduced with Intel MPI 4.1.

 

 

Leave a Comment

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