[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


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

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" \
      -DCMAKE_INSTALL_PREFIX=/usr/local/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
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


Martin Siegert
Simon Fraser University
Burnaby, British Columbia

More information about the gromacs.org_gmx-users mailing list