[gmx-users] configuration/installation of gromacs-4.6.1 on heterogeneous cluster

Martin Siegert siegert at sfu.ca
Sat May 4 01:41:20 CEST 2013


Hi,

I am struggling with the configuration and compilation/installation
of gromacs-4.6.1. Our cluster has 2 different processors: the older
generation supports sse4.1, the newer sse4.2. Configuration and
compilation must be done on the headnode of the cluster, which
supports sse4.2. I am using the following command to configure
gromacs-4.6.1:

CFLAGS='-fpic -O3 -axSSE4.2,SSE4.1 -xSSSE3 -ip -opt-prefetch' \
CXXFLAGS='-fpic -O3 -axSSE4.2,SSE4.1 -xSSSE3 -ip -opt-prefetch' \
FFLAGS='-fpic -O3 -axSSE4.2,SSE4.1 -xSSSE3 -ip -opt-prefetch' \
CC=mpicc \
CXX=mpicxx \
FC=mpif90 \
LDFLAGS="-lfftw3f -lgoto2 -Wl,-rpath,/usr/local/gromacs-4.6.1/lib" \
cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DGMX_MPI=ON \
      -DGMX_CPU_ACCELERATION=SSE4.1 -DGMX_OPENMP=OFF -DGMX_GPU=OFF \
      -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs-4.6.1 \
      -DCMAKE_SKIP_RPATH=YES \
      ../gromacs-4.6.1

However, after compilation/installation mdrun_mpi fails on nodes that
only support sse4.1 with "Illegal instruction".
The CMakeCache.txt file contains the line:

BUILD_CPU_FEATURES:INTERNAL=aes apic clfsh cmov cx8 cx16 htt lahf_lm mmx msr nonstop_tsc pcid pclmuldq pdcm pdpe1gb popcnt pse rdtscp sse2 sse3 sse4.1 sse4.2 ssse3

Since this line contains "sse4.2" it appears that the flag
-DGMX_CPU_ACCELERATION=SSE4.1
is ignored.

What is the correct way of specifying the cpu architecture within the
cmake build system? (I never had problems with this with the pre 4.6
versions).

Cheers,
Martin

-- 
Martin Siegert
WestGrid/ComputeCanada
Simon Fraser University
Burnaby, British Columbia
Canada



More information about the gromacs.org_gmx-users mailing list