Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
7234 Discussions

After building FFTW MPI wrappers, MKL must be linked against cluster library even if MPI is not used

atomR
Beginner
477 Views

Hello,

 

I have a base version of my code that uses FFTW3, which works when linking against MKL.

 

I then wrote an MPI version of the code that uses the FFTW3 MPI interface. MKL does not support this right out of the box, you have to compile the fftw3_cdft folder to link the FFTW MPI calls to the MKL cluster library. I was able to successfully do this, and the MPI version of the code works as well.

 

The problem arises when I try to go back to the base (non-MPI) version of the code. I get errors during compile on the same code that previously worked:

/usr/bin/ld: /opt/intel/oneapi/mkl/2024.0/lib/intel64/libmkl_core.a(mkl_get_mpi_wrappers_static.o): in function `mkl_serv_get_mpi_wrappers':
mkl_get_mpi_wrappers.c:(.text+0x4b): undefined reference to `MKLMPI_Get_wrappers'

Once I compiled the MPI FFTW wrappers, it seems that MKL must be linked against the cluster library (even though no MPI routines are used). If I reinstall MKL, it works again. Is there a way to link my project against only the base MKL library after building the MPI FFTW3 wrappers?

0 Kudos
0 Replies
Reply