I've read some tests using intel mkl library that gets really good improvements in running time, so I tried to test it, compiled succesfully, but it didn't run.
I use the recomended form intel mkl link advisor.
I set the configure.wrf like this:First I set the external libraries:
then include them in the compilers:
So when I run real or wrf, i get this error message:
So I think something in the compilation went wrong, or I have to use some environmental variable.
Does anybody knows how this really works?
I use the recomended form intel mkl link advisor.
I set the configure.wrf like this:First I set the external libraries:
Code:
LIB_EXTERNAL = \
-L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf -L/netcdf/lib -lnetcdff -lnetcdf \
${MKLROOT}/lib/intel64/libmkl_blas95_ilp64.a ${MKLROOT}/lib/intel64/libmkl_lapack95_ilp64.a -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_tbb_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_blacs_intelmpi_ilp64.a -Wl,--end-group -ltbb -lstdc++ -lpthread -lm -ldl
then include them in the compilers:
Code:
SCC = icc -DMKL_ILP64 -I${MKLROOT}/include/intel64/ilp64 -I${MKLROOT}/include
CCOMP = icc -DMKL_ILP64 -I${MKLROOT}/include/intel64/ilp64 -I${MKLROOT}/include
DM_FC = mpiifort -i8 -I${MKLROOT}/include/intel64/ilp64 -I${MKLROOT}/include
DM_CC = mpiicc -DMPI2_SUPPORT -DMKL_ILP64 -I${MKLROOT}/include/intel64/ilp64 -I${MKLROOT}/include
So when I run real or wrf, i get this error message:
Code:
module_io_quilt_old.F 2931 T
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: <stdin> LINE: 5679
check comm_start, nest_pes_x, nest_pes_y settings in namelist for comm 2
-------------------------------------------
Abort(1) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
So I think something in the compilation went wrong, or I have to use some environmental variable.
Does anybody knows how this really works?