Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Richard_Kerr
Beginner
135 Views

SCALAPACK libraries missing?

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
Black Belt
135 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.

Gennady_F_Intel
Moderator
135 Views

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

Richard_Kerr
Beginner
135 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

mecej4
Black Belt
135 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
Richard_Kerr
Beginner
135 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 ?