[gmx-users] Cross compiling GROMACS 4.6.3 for native Xeon Phi, thread-mpi problem

PaulC paul.caheny at uk.fujitsu.com
Mon Sep 16 19:04:14 CEST 2013


Hi,


I'm attempting to build GROMACS 4.6.3 to run entirely within a single Xeon
Phi (i.e. native) with either/both Intel MPI/OpenMP for parallelisation
within the single Xeon Phi.

I followed these instructions from Intel for cross compiling for Xeon Phi
with cmake:

http://software.intel.com/en-us/articles/cross-compilation-for-intel-xeon-phi-coprocessor-with-cmake

which includes setting:

export CC=icc
export CXX=icpc
export FC=ifort
export CFLAGS="-mmic"
export CXXFLAGS=$CFLAGS
export FFLAGS=$CFLAGS
export MPI_C=mpiicc
export MPI_CXX=mpiicpc

I then run cmake with:

cmake .. -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_MPI=ON -DGMX_THREAD_MPI=OFF
-DGMX_FFT_LIBRARY=mkl -DGMX_CPU_ACCELERATION=None
-DCMAKE_INSTALL_PREFIX=~/gromacs



Note -DGMX_THREAD_MPI=OFF. That seems to work fine (see attached
cmake_output.txt), particularly, it finds the MIC Intel MPI:

-- Found MPI_C:
/opt/intel/impi/4.1.1.036/mic/lib/libmpigf.so;/opt/intel/impi/4.1.1.036/mic/lib/libmpi.so;/opt/i
ntel/impi/4.1.1.036/mic/lib/libmpigi.a;/usr/lib64/libdl.so;/usr/lib64/librt.so;/usr/lib64/libpthread.so
-- Checking for MPI_IN_PLACE
-- Performing Test MPI_IN_PLACE_COMPILE_OK
-- Performing Test MPI_IN_PLACE_COMPILE_OK - Success
-- Checking for MPI_IN_PLACE - yes


When I run make everything trundles along fine until:

[ 20%] Building C object
src/gmxlib/CMakeFiles/gmx.dir/thread_mpi/errhandler.c.o
[ 20%] Building C object
src/gmxlib/CMakeFiles/gmx.dir/thread_mpi/tmpi_malloc.c.o
[ 22%] Building C object src/gmxlib/CMakeFiles/gmx.dir/thread_mpi/atomic.c.o
[ 22%] Building C object
src/gmxlib/CMakeFiles/gmx.dir/thread_mpi/pthreads.c.o
/tmp/iccQqtl2Vas_.s: Assembler messages:
/tmp/iccQqtl2Vas_.s:1773: Error: `sfence' is not supported on `k1om'
make[2]: *** [src/gmxlib/CMakeFiles/gmx.dir/thread_mpi/pthreads.c.o] Error 1
make[1]: *** [src/gmxlib/CMakeFiles/gmx.dir/all] Error 2
make: *** [all] Error 2


Why is it still building thread_mpi given the -DGMX_THREAD_MPI=OFF at the
cmake invocation above?

Any suggestions how best to work around this?


Thanks,

Paul.

cmake_output.txt
<http://gromacs.5086.x6.nabble.com/file/n5011212/cmake_output.txt>  

--
View this message in context: http://gromacs.5086.x6.nabble.com/Cross-compiling-GROMACS-4-6-3-for-native-Xeon-Phi-thread-mpi-problem-tp5011212.html
Sent from the GROMACS Users Forum mailing list archive at Nabble.com.



More information about the gromacs.org_gmx-users mailing list