Ломоносов¶
- В корне есть директория _scratch запус программ надо делать в этой директории.
- Интересные директории с предустановленными программам можно найти в /opt Например:
ls /opt baqus Accelrys.old ccoe cuda-5.0 dislib install mellanox molpro2010.1 mpi nmon octo pathscale pdde pgi software toolworks VRTSpbx xcat Accelrys acml5.3.0 cuda dimonta distribs intel modulefiles molpro2010.1.orig MS nvc old-opt pdag pdshared pgi-backup.tgz Symantec VASP wien2k
ls /opt/software DL_POLY FF8 FlowVision ga-5-1 Gromacs netCDF OpenFOAM openfoam-2.1 OpenFOAM-2.1 OpenFOAM-2.1.1-impi41 openfoam-2.2 OpenFOAM-2.2 TURBOMOLE wrapper
Сборка Gromacs:¶
- Надо зайти на
ssh compiler
- Задать параметры компилятора и mpi
└─> module load dot impi/4.0.3 mkl/4.0.2.146 module-info null openmpi/1.5.5-pgi use.own ekopath/4.0.11 impi/4.1.0-32bit module-cvs modules openmpi/1.5.5-icc pgi/12.9 └─> module list Currently Loaded Modulefiles: 1) impi/4.1.0 2) intel/13.1.0 3) cuda/5.0.35
- Скачать и распаковать Gromacs
- Конфигурация и компиляция
mkdir build cd build cmake28 .. -DCMAKE_INSTALL_PREFIX=/home/users/golovin/progs/gmx-4.6.1-mpi -DGMX_X11=OFF -DGMX_MPI=OFF -DGMX_PREFER_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -DGMX_DEFAULT_SUFFIX=OFF -GMX_BINARY_SUFFIX=_plu -DGMX_LIBS_SUFFIX=_plumed -DGMX_BUILD_OWN_FFTW=ON -DGMX_GPU=OFF make make install make clean cmake28 .. -DCMAKE_INSTALL_PREFIX=/home/users/golovin/progs/gmx-4.6.1-mpi -DGMX_X11=OFF -DGMX_MPI=ON -DGMX_PREFER_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -DGMX_DEFAULT_SUFFIX=OFF -GMX_BINARY_SUFFIX=_plu -DGMX_LIBS_SUFFIX=_plumed -DGMX_BUILD_OWN_FFTW=ON -DGMX_GPU=ON make mdrun make install-mdrun
- Надо выйти из среды compiler
exit
- Добавить исполняймы файлы в путь
export PATH=${PATH}:/home/users/golovin/progs/gmx-4.6.1-mpi
- И тут нечто странное, надо скопировать
cp -r ~/progs ~/_scratch
- Вот оно и должно работать
sbatch -n 32 -e md.out -t 2400 impi /home/users/golovin/progs/gmx-4.6.3-impi-gpu/bin/mdrun_gpu -deffnm tro_md -cpi tro_md -noappend -v
- Новое для сборки gromacs 5.0.4 c plumed gpu impi, основная новость, то что собрать c intel compiler не получится в принципе, собираем с gcc. Лучше всего, конечно использовать версии 4.7 и 4.8, но не сегодня (27.2.15). Cmake установленый в системе стар как гумно мамонта, собрал свой в ~/progs/bin/cmake. Он неправильно определяет кой чего в системе, поэтому надо править CMakeCache.txt, отключаем HAVE__ALIGNED_MALLOC:INTERNAL= и _finite_compile_ok:INTERNAL= :
1374c1423 < HAVE__ALIGNED_MALLOC:INTERNAL= --- > HAVE__ALIGNED_MALLOC:INTERNAL=1 1511,1513c1560,1562 < _finite_compile_ok:INTERNAL= < //Result of isfinite check < isfinite_compile_ok:INTERNAL= --- > _finite_compile_ok:INTERNAL=1 > //Result of _isfinite check > _isfinite_compile_ok:INTERNAL=1 ┌─[golovin @ compiler-1 ~/distr/gromacs-5.0.4/build ] └─> module list Currently Loaded Modulefiles: 1) slurm/2.5.6 2) impi/5.0.1-ofa 3) cuda/6.5.14
Сборка СPMD¶
- Важный кусок Makefile
SRC = . DEST = . BIN = . FFLAGS = -i-static -O2 LFLAGS = -L/opt/intel/mkl/lib/intel64 -Wl,--start-group \ -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group \ -lm -lpthread -liomp5 CFLAGS = -D__alpha CPP = /lib/cpp -P -C -traditional CPPFLAGS = -D__alpha -DPOINTER8 -DFFT_DEFAULT -DALPHALINUX -D__HPC \ -DMYRINET -DPARALLEL=parallel -DLINUX_IA64_INTEL -DINTEL_MKL NOOPT_FLAG = CC = mpicc -c -O FC = mpif90 -c LD = mpif90 AR = /usr/bin/ar -r
Сборка Gromacs+libMOPA2012+Plumed и запуск¶
Итак сборка:
Currently Loaded Modulefiles: 1) slurm/2.5.6 2) intel/15.0.090 3) mkl/11.2.0 4) openmpi/1.8.4-ic
MPI нам нужен для массового multidir
Вероятно придется собрать MPI Plumed:
make clean ./configure --enable-mpi --prefix=$HOME/progs && make && make install
Патчим Gromacs Артура:
cd ~/distr/gromacs-5.0.4-mopac-new ~/progs/bin/plumed patch -r ~/progs/bin/plumed patch -p
Собираем :
mkdir build-mpi && cd build-mpi rm -rf * ### это интуиция + grep #### export MOPAC_LIBRARY=/mnt/data/users/dm3/vol5/golovin/progs/mopac_static.a cmake .. -DGMX_QMMM_PROGRAM=MOPAC2012 -DGMX_MPI=ON -DGMX_DOUBLE=yes -DBUILD_SHARED_LIBS=OFF -DGMX_BUILD_MDRUN_ONLY=ON -DGMX_BUILD_OWN_FFTW=ON make -j8 cp bin/mdrun_mpi_d ~/_scratch/progs/bin/mdrun_504_plumed_mopac_mpi_icc
Используем:
└─> module list Currently Loaded Modulefiles: 1) slurm/2.5.6 2) mkl/11.2.0 3) openmpi/1.8.4-icc 4) intel/15.0.090 parallel --gnu "cd {1};ln -s ../meta.dat; ln -s ../2_meta_amd.tpr meta_amd.tpr" ::: {1..64} sbatch -t 800 -N8 --ntasks-per-node=8 ompi /home/users/golovin/progs/bin/mdrun_504_plumed_mopac_mpi_icc -deffnm meta_amd -plumed meta.dat -v -multidir {1..64}
Обратите внимание на COLVAR.0 ... COLVAR.64
и реально полезная ссылка про извращения со слурмом (Futurama(c))
http://www.nersc.gov/users/computational-systems/cori/running-jobs/example-batch-scripts/
Мои практикумы и лекции:¶
- Практикум для ФББ
https://kodomo.fbb.msu.ru/wiki/2010/6/Modelling