Gromacs 5.0.4 for UV2000
ウェブページ
http://www.gromacs.org/

バージョン
5.0.4

ビルド環境
Intel Compiler 15.0.2
MPT 2.11
cmake 2.8.11

ビルドに必要なファイル
gromacs-5.0.4.tar.gz
no-gcc-version.patch
no-mpifinalized.patch

パッチファイルno-gcc-version.patch--- cmake/gmxManageNvccConfig.cmake.orig 2014-07-09 09:43:31.108489646 +0900+++ cmake/gmxManageNvccConfig.cmake 2014-07-09 09:44:24.668688300 +0900@@ -109,16 +109,16 @@# as even with icc used as host compiler, when icc's gcc compatibility# mode is higher than the max gcc version officially supported by CUDA,# nvcc will freak out.
if (UNIX AND CMAKE_C_COMPILER_ID MATCHES "Intel" AND
CUDA_HOST_COMPILER_AUTOSET)
if (CUDA_VERSION VERSION_LESS "4.1")
message(STATUS "Setting Intel Compiler compatibity mode to gcc 4.4 for nvcc host compilation")set(CUDA_HOST_COMPILER_OPTIONS "${CUDA_HOST_COMPILER_OPTIONS};-Xcompiler;-gcc-version=440;")else()
message(STATUS "Setting Intel Compiler compatibity mode to gcc 4.5 for nvcc host compilation")set(CUDA_HOST_COMPILER_OPTIONS "${CUDA_HOST_COMPILER_OPTIONS};-Xcompiler;-gcc-version=450;")
endif()
endif()+#
if (UNIX AND CMAKE_C_COMPILER_ID MATCHES "Intel" AND+#
CUDA_HOST_COMPILER_AUTOSET)+#
if (CUDA_VERSION VERSION_LESS "4.1")+#
message(STATUS "Setting Intel Compiler compatibity mode to gcc 4.4 for nvcc host compilation")+#set(CUDA_HOST_COMPILER_OPTIONS "${CUDA_HOST_COMPILER_OPTIONS};-Xcompiler;-gcc-version=440;")+#else()+#
message(STATUS "Setting Intel Compiler compatibity mode to gcc 4.5 for nvcc host compilation")+#set(CUDA_HOST_COMPILER_OPTIONS "${CUDA_HOST_COMPILER_OPTIONS};-Xcompiler;-gcc-version=450;")+#endif()+#endif()set(CUDA_HOST_COMPILER_OPTIONS "${CUDA_HOST_COMPILER_OPTIONS}"CACHE STRING "Options for nvcc host compiler (do not edit!)." FORCE)

no-mpifinalized.patch

--- src/gromacs/utility/init.cpp.orig 2014-07-10 11:07:50.617514888 +0900+++ src/gromacs/utility/init.cpp 2014-07-10 11:09:20.845939159 +0900@@ -67,8 +67,6 @@{#ifdef GMX_LIB_MPI
int isInitialized = 0, isFinalized = 0;
- MPI_Finalized(&isFinalized);- GMX_RELEASE_ASSERT(!isFinalized, "Invalid attempt to initialize MPI after finalization");
MPI_Initialized(&isInitialized);
if (isInitialized){

ビルド手順#!/bin/csh -f
umask 022
set file_gromacs=/home/users/${USER}/build/gromacs504/gromacs-5.0.4.tar.gz
set file_patch1=/home/users/${USER}/build/gromacs504/no-gcc-version.patch
set file_patch3=/home/users/${USER}/build/gromacs504/no-mpifinalized.patch
set prefix_avx256=/local/apl/uv/gromacs504
set work=/work/users/${USER}
source /opt/intel/composer_xe_2015.2.164/bin/compilervars.csh intel64#-----------------------------------------------------------------------------cd ${work}
if (-d gromacs-5.0.4) then
mv gromacs-5.0.4 gromacs-erase
rm -rf gromacs-erase &endif
tar xzf ${file_gromacs}
cd gromacs-5.0.4
patch -p0 < ${file_patch1}
patch -p0 < ${file_patch3}#setenv CC icc
setenv CXX icpc
setenv F77 ifort
setenv F90 ifortsetenv FC ifort
mkdir rccs-s
cd rccs-s
cmake .. -DCMAKE_INSTALL_PREFIX=${prefix_avx256} \-DCMAKE_VERBOSE_MAKEFILE=ON \-DGMX_MPI=OFF \-DGMX_THREAD_MPI=OFF \-DGMX_GPU=OFF \-DGMX_DOUBLE=OFF \-DGMX_FFT_LIBRARY=mkl \-DGMX_SYMLINK_OLD_BINARY_NAMES=OFF \-DREGRESSIONTEST_DOWNLOAD=OFF
make -j 12
make install
cd ..
#mkdir rccs-d
cd rccs-d
cmake .. -DCMAKE_INSTALL_PREFIX=${prefix_avx256} \-DCMAKE_VERBOSE_MAKEFILE=ON \-DGMX_MPI=OFF \-DGMX_THREAD_MPI=OFF \-DGMX_GPU=OFF \-DGMX_DOUBLE=ON \-DGMX_FFT_LIBRARY=mkl \-DGMX_SYMLINK_OLD_BINARY_NAMES=OFF \-DREGRESSIONTEST_DOWNLOAD=OFF

-DREGRESSIONTEST_DOWNLOAD=OFF
make -j 12
make install
cd ..
##setenv CC mpicc
setenv CXX mpicxx
setenv F77 mpif90
setenv F90 mpif90
setenv FC mpif90
mkdir rccs-mpi
cd rccs-mpi
cmake .. -DCMAKE_INSTALL_PREFIX=${prefix_avx256} \-DCMAKE_VERBOSE_MAKEFILE=ON \-DGMX_MPI=ON \-DGMX_THREAD_MPI=OFF \-DGMX_GPU=OFF \-DGMX_DOUBLE=OFF \-DGMX_FFT_LIBRARY=mkl \-DMPIEXEC=/opt/sgi/mpt/mpt-2.12/bin/mpirun \-DGMX_SYMLINK_OLD_BINARY_NAMES=OFF \-DREGRESSIONTEST_DOWNLOAD=OFF
make -j 12
make install
cd ..
#mkdir rccs-mpi-d
cd rccs-mpi-d
cmake .. -DCMAKE_INSTALL_PREFIX=${prefix_avx256} \-DCMAKE_VERBOSE_MAKEFILE=ON \-DGMX_MPI=ON \-DGMX_THREAD_MPI=OFF \-DGMX_GPU=OFF \-DGMX_DOUBLE=ON \-DGMX_FFT_LIBRARY=mkl \-DMPIEXEC=/opt/sgi/mpt/mpt-2.12/bin/mpirun \-DGMX_SYMLINK_OLD_BINARY_NAMES=OFF \-DREGRESSIONTEST_DOWNLOAD=OFF
make -j 12
make install
cd ..