- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear all,
I have a system with two Intel Xeon Phi. I've successfully configured them following your manuals and now I'm about to try to compile a simple example of mpi code in order to check if everything actually works.
On the sytem I've installed the following Intel tools: l_ccompxe_2013.2.146, l_fcompxe_2013.2.146, l_mpi_p_4.1.0.030
Then I've set
source /opt/intel/composer_xe_2013.2.146/bin/compilervars.sh intel64
source /opt/intel/impi/4.1.0.030/mic/bin/mpivars.sh
So I tried to compile my mpi example as follows to run on the Phi cards:
./mpicc -mmic /opt/hello.c -o /opt/hello.mic
but it returned this error:
/usr/bin/ld: skipping incompatible /opt/intel/impi/4.1.0.030/mic/lib/libmpigf.so when searching for -lmpigf
/usr/bin/ld: skipping incompatible /opt/intel/impi/4.1.0.030/mic/lib/libmpigf.a when searching for -lmpigf
/usr/bin/ld: cannot find -lmpigf
collect2: ld returned 1 exit status
How can I solve this problem?
I got that error also compiling the script without the -mmic flag and using the mpicc under /opt/intel/impi/4.1.0.030/intel64/ with -mmic
Here's the output of my $PATH and $LD_LIBRARY_PATH
echo $PATH
/opt/intel/impi/4.1.0.030/mic/bin:/opt/intel/composer_xe_2013.2.146/bin/intel64:/opt/intel/composer_xe_2013.2.146/mpirt/bin/intel64:/opt/intel/composer_xe_2013.2.146/bin/intel64:/opt/intel/composer_xe_2013.2.146/bin/intel64_mic:/opt/intel/composer_xe_2013.2.146/debugger/gui/intel64:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/ofed1541/bin:/opt/ofed1541/sbin:/root/bin
echo $LD_LIBRARY_PATH
/opt/intel/impi/4.1.0.030/mic/lib:/opt/intel/composer_xe_2013.2.146/compiler/lib/intel64:/opt/intel/mic/coi/host-linux-release/lib:/opt/intel/mic/myo/lib:/opt/intel/composer_xe_2013.2.146/mpirt/lib/intel64:/opt/intel/composer_xe_2013.2.146/ipp/../compiler/lib/intel64:/opt/intel/composer_xe_2013.2.146/ipp/lib/intel64:/opt/intel/composer_xe_2013.2.146/compiler/lib/intel64:/opt/intel/composer_xe_2013.2.146/mkl/lib/intel64:/opt/intel/composer_xe_2013.2.146/tbb/lib/intel64
Thank you very much in advance for your support!
Francesca
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As far as I know, no one has set up gfortran to support MIC, while the mpicc, mpif77 and mpif90 refer to gcc/gfortran, as they would with Intel MPI for host, even though there isn't satisfactory support for these on MIC. gcc for MIC is rudimentary, with no vectorization.
So you must use mpiicc when compiling with icc -mmic. Several customers have complained about this; it can be worked around by setting up so that users who wish it can have mpicc as an alias for mpiicc (similarly with mpif90, ...).
Many applications on host can take advantage of interworking between icc and gcc (but not between ifort and gfortran); this isn't practical on MIC.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Tim,
thank you very much for your quick response!
As you said, using mpiicc -mmic I have no problem at all.
Thanks also for your explanation, it's actually very useful.
Best Regards

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page