Logo Cineca Logo SCAI
MARCONI status
GALILEO100 status
LEONARDO status

You are here

IMPORTANT: use of Intel MPI wrappers mpif90, mpicc, mpicxx

Error message

Deprecated function: unserialize(): Passing null to parameter #1 ($data) of type string is deprecated in css_injector_init() (line 53 of /prod_service02/web-prod/hpc-web/sites/all/modules/css_injector/css_injector.module).
08/06/2017

Dear Users,

we are receiving many requests of yours concerning the use of MPI compilers since our last update of the Intel Suite, reporting problems in compiling with the following Intel wrappers:

mpif90      mpicc     mpicxx

As already stressed in a previous news, Intel MPI provides two sets of MPI wrappers {mpiicc,mpicpc,mpiifort} and {mpicc,mpicxx,mpif90} that use Intel compilers and GNU compilers, respectively. Use the -show option (e.g. mpif90 -show) to display the underlying compiler in each of the MPI compiler commands.

For the previous updates, in order to avoid the use of Intel MPI libraries with GNU compilers, we had forced the definition of the underlying compiler to the proper Intel one for both sets of wrappers. This environment does not work anymore in last Intel updates, and we restored the original setting defined by Intel. Hence, once loaded the intelmpi/2017--binary module, the correspondence between the MPI wrapper and the back-end compiler is:

mpiifort uses Intel ifort   

mpiicc uses Intel icc

mpiicpc uses Intel icpc

mpif90 uses GNU gfortran

mpicc uses GNU gcc

mpicxx uses GNU g++

Unless you really need to use GNU compilers, we strongly suggest using the wrappers based on the Intel compilers. Please note that such behaviour only occurs on Marconi (on Galileo the Intel suite won't be updated anymore; it is however suggested to always use mpiifort, mpiicc, and mpiicpc on every platform).

Best regards

HPC User Support @ CINECA