I test a mpi code MUMPS which uses ScaLAPACK. MUMPS crashes as long as I use more than one processor. I suspect I didn't link the right version of ScaLAPACK and BLACS. I am using platform_mpi and couldn't find BLCAS lib for paltform_mpi. Instead i use intelmpi BLACS. I suspect intelmpi BLACS is not comptatible with platform_mpi. Here is my linking line for ScaLAPACK and BLACS: -L/u/xeons03/people/xian/intel/composerxe-2011.1.107/mkl/lib/intel64/ -lmkl_scalapack_lp64 -lmkl_gf_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -L/u/xeons03/people/xian/intel/composerxe-2011.1.107/compiler/lib/intel64/ -liomp5 -lpthread -lm
If you're using Intel Fortran, you can't use a gfortran library; in any case, you can't use the gfortran and Intel versions together. I don't expect compatibility between Platform MPI and any of the MPI versions supported by MKL. Of course, the MKL libraries which don't use MPI should be compatible.
It seems you're right. The only way is to download ScaLAPACK & BLACS from NETLIB, build them with platform_mpi and change MKL scalapack and blacs libraries with the built ones, but leave other MKL libraries as is in order to use MKL BLAS.
Actually, you can use the MKL's BLACS/ScaLAPACK if you use the Platform's include files and libraries from the MPICH1.2 subdirectory. That's assuming you use Platform-MPI 7.1 a.k.a HP-MPI. We've been using MKL with HP-MPI this way for several years now and had no trouble with this combo.
Alexei, I was able to combine MKL ScaLAPACK with platform_mpi using mpich2 wrapper. However, Platform suggests recompiling netlib BLACS/ScaLAPACK using platform_mpi due to overhead of mpich2 wrapper. Do you notice any ovehead?