-mkl=cluster requires Intel(R) Cluster Studio

Product versions:

  • Intel(R) C++ Composer XE 2013 SP1 for Linux*
  • Intel(R) Fortran Composer XE 2013 SP1 for Linux
  • Intel(R) Cluster Studio XE 2013 SP1

Problem description:

If you use -mkl=cluster on your compilation line, but do not have the environment for Intel® Cluster Studio XE 2013 SP1 setup and installed, you will get linker errors like so:

/opt/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so: undefined reference to `MPI_Allgather' 
/opt/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so: undefined reference to `MPI_Bcast' 
/opt/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so: undefined reference to `MPI_Op_create' 
/opt/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so: undefined reference to `MPI_Pack_size' 
/opt/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so: undefined reference to `MPI_Send' 
/opt/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so: undefined reference to `MPI_Type_struct' 

Solution or work-around:
Make sure you have the Intel® Cluster Studio XE 2013 SP1 installed and the appropriate environment settings before using this option.
For more complete information about compiler optimizations, see our Optimization Notice.