Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

Porting MPI (Fortran) Project to Xeon Phi

Joerg_B_
Beginner
897 Views

Hi there,

We have implemented an electromagnetic solver (where a linear equations system is derived and solved by means of Eigen decomposition zgeevx - in addition matrix multiplication zgemm and inversion is utilized) in Fortran + MPI. It is running well on multi-core machines.

Now, we are trying to run it on a Xeon Phi 7120 mic. We tested the 7120 already the LEO_Intro project for prime number computation with offload directive & omp under full load.

The preferred solution would be to run the MPI project across the nodes of the host machine and the mic.

Would this be possible in principle ? If yes, any advice where we can find some instructions how to achieve this. If not - would it possible to offload the whole computation to the coprozessor at once ?

Many thanks for your help in advance !

JB

0 Kudos
3 Replies
Gregg_S_Intel
Employee
897 Views

Yes,build two binaries, one for host and one for card (-mmic), Launch using mpirun.  No LEO needed.

https://software.intel.com/en-us/articles/using-the-intel-mpi-library-on-intel-xeon-phi-coprocessor-systems

 

0 Kudos
Joerg_B_
Beginner
897 Views

Hi Gregg,

many thanks for your advice. Unfortunately, my OS is Windows 7 (MS VS) rather than Linux and I have only very little experience with Linux.

I have tried the test example (which comes with MPI installation) both with mpiicc as well as mpiifort but could not succeed.

see below - it seems the communication with the Phi does not work ...?

C:\Program Files (x86)\IntelSWTools\mpi\5.1.3.207\test>mpiifort /Qmic -o test.MI
C test.f
mpifc.bat for the Intel(R) MPI Library 5.1.3 for Windows*
Copyright(C) 2007-2015, Intel Corporation. All rights reserved.

Intel(R) Visual Fortran Intel(R) 64 Compiler for applications running on Intel(R
) 64, Version 16.0 Build 20160415
Copyright (C) 1985-2016 Intel Corporation.  All rights reserved.
C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2016.3.207/windows/m
pi/intel64/include\mpif.h(617): remark #7841: DLL IMPORT/EXPORT is not supported
 on this platform.   [DLLIMPORT]
!DEC$ ATTRIBUTES DLLIMPORT::/MPIFCMB5/
-----------------^
C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2016.3.207/windows/m
pi/intel64/include\mpif.h(618): remark #7841: DLL IMPORT/EXPORT is not supported
 on this platform.   [DLLIMPORT]
!DEC$ ATTRIBUTES DLLIMPORT::/MPIFCMB9/
-----------------^
C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2016.3.207/windows/m
pi/intel64/include\mpif.h(619): remark #7841: DLL IMPORT/EXPORT is not supported
 on this platform.   [DLLIMPORT]
!DEC$ ATTRIBUTES DLLIMPORT::/MPIPRIV1/
-----------------^
C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2016.3.207/windows/m
pi/intel64/include\mpif.h(620): remark #7841: DLL IMPORT/EXPORT is not supported
 on this platform.   [DLLIMPORT]
!DEC$ ATTRIBUTES DLLIMPORT::/MPIPRIV2/
-----------------^
C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2016.3.207/windows/m
pi/intel64/include\mpif.h(621): remark #7841: DLL IMPORT/EXPORT is not supported
 on this platform.   [DLLIMPORT]
!DEC$ ATTRIBUTES DLLIMPORT::/MPIPRIVC/
-----------------^
C:\Users\nutzer\AppData\Local\Temp\808463.o: In function `MAIN__':
test.f:(.text+0x41): undefined reference to `mpi_init_'
test.f:(.text+0x5d): undefined reference to `mpi_comm_size_'
test.f:(.text+0x79): undefined reference to `mpi_comm_rank_'
test.f:(.text+0x9a): undefined reference to `mpi_get_processor_name_'
test.f:(.text+0x1f7): undefined reference to `mpi_recv_'
test.f:(.text+0x228): undefined reference to `mpi_recv_'
test.f:(.text+0x259): undefined reference to `mpi_recv_'
test.f:(.text+0x2bd): undefined reference to `mpi_recv_'
test.f:(.text+0x43c): undefined reference to `mpi_send_'
test.f:(.text+0x46f): undefined reference to `mpi_send_'
test.f:(.text+0x4a2): undefined reference to `mpi_send_'
test.f:(.text+0x4d7): undefined reference to `mpi_send_'
test.f:(.text+0x4ea): undefined reference to `mpi_finalize_'
ERROR in the compiling/linking [1]

0 Kudos
TimP
Honored Contributor III
897 Views
As you saw, there are only a few Windows mpi implementations, none supports Mic.
0 Kudos
Reply