Lom

Version 8 (Andrey Golovin, 27.02.2015 15:29) → Version 9/12 (Andrey Golovin, 19.02.2016 21:24)

h1. Ломоносов

* В корне есть директория *_scratch* запус программ надо делать в этой директории.
* Интересные директории с предустановленными программам можно найти в */opt* Например:
<pre>
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
</pre>
<pre>
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
</pre>



h3. Сборка Gromacs:

** Надо зайти на <pre>ssh compiler</pre>
** Задать параметры компилятора и mpi
<pre>
└─> 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
</pre>
** Скачать и распаковать Gromacs
** Конфигурация и компиляция
<pre>
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
</pre>
** Надо выйти из среды compiler <pre>exit</pre>
** Добавить исполняймы файлы в путь
<pre>
export PATH=${PATH}:/home/users/golovin/progs/gmx-4.6.1-mpi
</pre>
** И тут нечто странное, надо скопировать <pre>cp -r ~/progs ~/_scratch</pre>

* Вот оно и должно работать
<pre>
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
</pre>

* Новое для сборки 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= :
<pre>
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

</pre>



h3. Сборка СPMD

** Важный кусок Makefile

<pre>
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
</pre>

h3. Сборка Gromacs+libMOPA2012+Plumed и запуск
Итак сборка:
<pre>
Currently Loaded Modulefiles:
1) slurm/2.5.6 2) intel/15.0.090 3) mkl/11.2.0 4) openmpi/1.8.4-ic
</pre>
MPI нам нужен для массового multidir

Вероятно придется собрать MPI Plumed:
<pre>
make clean
./configure --enable-mpi --prefix=$HOME/progs && make && make install
</pre>

Патчим Gromacs Артура:
<pre>
cd ~/distr/gromacs-5.0.4-mopac-new
~/progs/bin/plumed patch -r
~/progs/bin/plumed patch -p
</pre>

Собираем :
<pre>
mkdir build-mpi && cd build-mpi
rm -rf *
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
</pre>

Используем:
<pre>
└─> 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}
</pre>

Обратите внимание на COLVAR.0 ... COLVAR.64


h3. Мои практикумы и лекции:

* Курсы
http://vsb.fbb.msu.ru/redmine/projects/edu/wiki

* Практикум для ФББ
https://kodomo.fbb.msu.ru/wiki/2010/6/Modelling