Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

SCALAPACK libraries missing?

Richard_Kerr
Beginner
2,323 Views

Hello,

I installed the new version. However I noticed that the scalapack libraries are missing. Specifically

libmkl_scalapack_lp64.a, ibmkl_scalapack_lp64.so etc

I had trouble linking when I called subroutine slasrt2 in my code.

Am I missing something?

Cheers

RIchard

0 Kudos
5 Replies
mecej4
Honored Contributor III
2,323 Views

The MKL link line advisor shows the Scalapack and Blacs libraries in the group "Cluster library", and that probably implies that you will have the Scalapack libraries available only if you chose the cluster edition when you installed Parallel Studio.

0 Kudos
Gennady_F_Intel
Moderator
2,323 Views

Richard, please try to reinstall your package and check mkl's clauster components which is not installed by the default. thanks.

0 Kudos
Richard_Kerr
Beginner
2,323 Views

Thanks,

I am very grateful for your help. Yes, I did a custom install and installed the cluster components. Now I have a new problem

I have worked out that in order to reference subroutine slasrt2 in my code I need to include in my linking the flags:

 -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 

but I am getting the errors:

/opt/intel/compilers_and_libraries_2017.0.098/linux/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so: undefined reference to `MPI_Waitall'
/opt/intel/compilers_and_libraries_2017.0.098/linux/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so: undefined reference to `MPI_Abort'
/opt/intel/compilers_and_libraries_2017.0.098/linux/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so: undefined reference to `MPI_Waitany'
/opt/intel/compilers_and_libraries_2017.0.098/linux/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so: undefined reference to `MPI_Wtime'

etc

So I am now confused. I am not actually running my program on a cluster, but on a multi-thread (core) machine. Do I need to get the mpi stuff all set up and compile and link as if I am running a mpi job?

Richard

0 Kudos
mecej4
Honored Contributor III
2,323 Views

The MKL link line advisor specifies that you use the -qopenmp compile-time option in addition to using (at link time) the list of libraries that were mentioned. Here is what the MKLLLA gives:

  • Compiler options:  -qopenmp -I${MKLROOT}/include
  • Linker options:       -L${MKLROOT}/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -lmkl_blacs_intelmpi_lp64 -lpthread -lm -ldl
0 Kudos
Richard_Kerr
Beginner
2,323 Views

Thanks for the reply,

but unfortunately I am getting the same error. I am wondering if I have to install openMPI and use the compiler wrapper mpif90 ?

0 Kudos
Reply