On 15/10/2011 4:48 AM, Mirco Wahab wrote:
Dear Gromacs users,
I'm trying to build an Intel-MKL-linked version of
gromacs 4.5.5 and can't figure how to do that using
cmake.
There are already some (new) instructions on the GROMACS
web site regarding Intel icc but not how to use the
corresponding mkl.
On my system, the Intel 2011 (non commercial) compiler suite
is installed in:
CCDIR=/opt/intel/composer_xe_2011_sp1.6.233/bin/intel64
and it's MKL is located here:
MKL_FFTW_INCLUDE=$MKLROOT/include/fftw
MKL_FFTW_LIBDIR=$MKLROOT/lib/intel64
From the examples given in the Gromacs docs (web), I came up
with the following (non-working) cmake invocation:
--- 8< --- [cut here] ---------------
export GMXVERSION=gromacs-4.5.5
export CCDIR=/opt/intel/composer_xe_2011_sp1.6.233/bin/intel64
export MKL_FFTW_INCLUDE=$MKLROOT/include/fftw
export MKL_FFTW_LIBDIR=$MKLROOT/lib/intel64
export CXX=icpc
export CC=icc
cmake ../$GMXVERSION \
-DGMX_FFT_LIBRARY=mkl \
-DFFTW3F_INCLUDE_DIR=$MKL_FFTW_INCLUDE \
-DMKL_LIBRARIES=$MKL_FFTW_LIBDIR \
-DCMAKE_INSTALL_PREFIX=/opt/gromacs455 \
-DGMX_X11=OFF \
-DCMAKE_CXX_COMPILER=${CCDIR}/icpc \
-DCMAKE_C_COMPILER=${CCDIR}/icc \
-DGMX_MPI=OFF \
-DGMX_PREFER_STATIC_LIBS=OFF
------------------ [ereh tuc] --- >8 ---
Of course, the setting of *-DMKL_LIBRARIES*=$MKL_FFTW_LIBDIR
is wrong, the specific libraries are expected here.
But how? I didn't find a solution how to touch the
LDFLAGS in the correct way.
I use
ccmake ..\
-DGMX_FFT_LIBRARY=mkl "\
-DMKL_LIBRARIES=${MKL}/lib/em64t/libmkl_intel_thread.so;${MKL}/lib/em64t/libmkl_lapack.so;${MKL}/lib/em64t/libmkl_core.so;${MKL}/lib/em64t/libmkl_em64t.a;${MKL}/lib/em64t/libguide.so;/usr/lib64/libpthread.so"
\
-DMKL_INCLUDE_DIR=${MKL}/include\
-DGMX_MPI=ON\
-DGMX_THREADS=OFF
in response to reading the MKL documentation for my system - you will
need to customize this.
Mark
Before cmake has been priorized, a simple 'configure' call
would have done it:
--- 8< --- [cut here] ---------------
MINC=/opt/intel/composerxe/mkl/include
MLIB=/opt/intel/composerxe/mkl/lib/intel64
ILIB=/opt/intel/composerxe/compiler/lib/intel64
../gromacs-4.5.4/configure \
CC=icc CXX=icpc \
CPPFLAGS="-I${MINC}" \
LDFLAGS="-L${ILIB} -L${MLIB} -lmkl_intel_ilp64 -lmkl_core \
-lmkl_lapack95_ilp64 -lmkl_blas95_ilp64 \
-lmkl_intel_thread -liomp5 -lpthread" \
--prefix=/opt/gromacs454 \
--with-fft=mkl \
--with-external-blas \
--with-external-lapack \
--without-x \
--program-suffix=_t
------------------ [ereh tuc] --- >8 ---
How can this be done using cmake?
Thank you in advance.
r^b
--
gmx-users mailing list gmx-users@gromacs.org
http://lists.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at
http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
Please don't post (un)subscribe requests to the list. Use the
www interface or send it to gmx-users-requ...@gromacs.org.
Can't post? Read http://www.gromacs.org/Support/Mailing_Lists