Community
cancel
Showing results for 
Search instead for 
Did you mean: 
gttf
Beginner
136 Views

MPI_Alltoallv error when executing 2D cluster FFT

MKL version: 10.3 update 4
MPI compiler: MPICH2 compiled by gcc4.6.0
Code: copied from the "2D out-of-place cluster FFT computation" in the manual

Error message when executing DftiCommitDescriptorDM
Fatal error in MPI_Alltoallv: Invalid datatype, error stack:
MPI_Alltoallv(459): MPI_Alltoallv(sbuf=0x147d5a0, scnts=0x147c480, sdispls=0x147c580, INVALID DATATYPE, rbuf=0x147c6d0, rcnts=0x147c600, rdispls=0x147c680, INVALID DATATYPE, MPI_COMM_WORLD) failed
MPI_Alltoallv(395): Null Datatype pointer

The complex type is defined via:
typedef MKL_Complex16 Complex;

0 Kudos
2 Replies
Vladimir_Petrov__Int
New Contributor III
136 Views

Dear gttf,

Please make sure you are linking according to the link-line advisor (http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/). With MPICH2 it also helps to use the same compiler for both MPI and the executable.

Also it's highly recommended to use examples located in folder mkl/examples/cdftc.

Best regards,
Vladimir
gttf
Beginner
136 Views

Hi Vladimir,

As you recommended, I recompiled the MPICH2 using icc (Ver 12.0.2). The cluster 2D FFT example now runs without any error messages. I still need to check whether the numerical results are correct. Thank you very much!

The link option is
-L/opt/intel/mkl/lib/intel64
-Wl,--start-group
-lmkl_cdft_core -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -Wl,--end-group
-liomp5 -lpthread

And it is necessary to place "-lmkl_cdft_core" before "-lmkl_intel_lp64" to avoid the run time error
"Computational layer library for Cluster FFT not loaded"
according to your comments in
http://software.intel.com/en-us/forums/showthread.php?t=78758&wapkw=%28resolve%29
Reply