I am testing a simple client-server application which uses MPI-2 functions.
This is the code (also in attachment):
Both files compile immediately with Intel C compiler for MPI:
joris$ mpiicc -o mclient mclient.c
joris$ mpiicc -o mserver mserver.c
However, when I start the client with Intel MPI, it says that MPI_Comm_connect is not implemented:
joris$ mpirun -n 1 mclient
MPI_Comm_connect is not implemented
When I start the server, an error appears:
joris$ mpirun -n 1 mserver
[cli_0]: aborting job:
Fatal error in MPI_Open_port: Other MPI error, error stack:
MPI_Open_port(118): MPI_Open_port(MPI_INFO_NULL, port=0x7fbfffdb80) failed
(unknown)(): MPI_Type_dup(%D, newtype=%p) failed
rank 0 in job 1 cfdclu60.ugent.be_58276 caused collective abort of all ranks
exit status of rank 0: return code 13
The Intel MPI 3.2 is advertised as an MPI-2 library so why is MPI_Comm_connect not implemented? This limitation is not mentioned in the release notes or reference guide.
Any idea about the cause of the error message? The 'Hello World' example included with the MPI library and several other programs which only use MPI-1 features run perfectly with the Intel MPI. System info follows.
* The Intel MPI Library package name and version information
joris$ mpirun -version
Intel MPI Library for Linux Version 3.2.1
Build 20090312 Platform Intel 64 64-bit applications
Copyright (C) 2003-2009 Intel Corporation. All rights reserved
* Host architecture (for example, IA-32 or Itanium architecture)
EM64T (Dell PowerEdge 1950 server with 2x Quad-core Intel Xeon X5355 2.66GHz)
* Compiler(s) and versions
joris$ mpiicc -v
mpiicc for the Intel MPI Library 3.2.1 for Linux*
Copyright(C) 2003-2009, Intel Corporation. All rights reserved.
* Operating system(s) and versions
joris$ uname -a
Linux cfdclu60.ugent.be 2.6.9-78.0.17.ELsmp #1 SMP Thu Mar 12 12:05:34 CDT 2009 x86_64 x86_64 x86_64 GNU/Linux
joris$ cat /etc/redhat-release
Red Hat Enterprise Linux ES release 4 (Nahant Update 5)
Scientific Linux SL release 4.5 (Beryllium)
Indeed, the Intel MPI Library currently doesn't support MPI_Comm_connect. As noted in our Release Notes:
The following MPI-2 features are not supported by the Intel MPI Library:
- Process spawning and attachment
This functionality might be included in upcoming major releases of the Intel MPI Library. For updates, feel free to check the Intel MPI Library page at www.intel.com/go/mpi.
Thanks and regards,