Skip to content
Snippets Groups Projects
Commit dedf5e31 authored by Gab's avatar Gab
Browse files

Merge branch '6-standardise-gromacs' into 'develop'

Resolve "Standardise GROMACS"

Closes #6

See merge request dci/abs!6
parents b7757082 e82ff8fc
No related branches found
No related tags found
No related merge requests found
Showing
with 86 additions and 120 deletions
......@@ -12,6 +12,11 @@ stages:
only:
- develop
.variables: &gromacs
<<: *runner
variables:
APP_NAME: "Gromacs"
.variables: &smilei
<<: *runner
variables:
......@@ -57,6 +62,9 @@ copy-files:
- mkdir -p ${SCRATCHDIR}/abs/${CI_COMMIT_SHORT_SHA}
- cp -rip . $SCRATCHDIR/abs/$CI_COMMIT_SHORT_SHA
dl-gromacs:
<<: *gromacs
<<: *download-app
dl-smilei:
<<: *smilei
<<: *download-app
......@@ -67,6 +75,9 @@ dl-ramses:
compile-smilei:
<<: *smilei
<<: *compile-app
compile-gromacs:
<<: *gromacs
<<: *compile-app
compile-ramses:
<<: *ramses
<<: *compile-app
......
......@@ -40,17 +40,15 @@ Compile:
Gromacs needs cmake (works with 3.9.1) and python (2.7) to be compiled and depends on a version of fftw (works with fftw from mkl version 18)
Information (if needed) about how to compile the application.
For instance:
Compile the code using:
Compile the code using for instance:
```
source machines/occigen-bdw/env
./compile.sh
./compile.sh occigen-bdw
```
`machines/occigen-bdw/env` contains the information for compilation (module load intel intelmpi ...)
`machines/occigen-bdw/env` contains the information for compilation (module load gcc openmpi lapack hdf5 ...)
You can create your own machine directory under `machines` to define the appropriate environment.
Information (if needed) about how to compile the application.
Run and validate the simulation:
--------------------------------
......
......@@ -2,17 +2,10 @@
export software=gromacs
export version=2019.4
compile_date=`date +"%m-%d-%y-%H-%M-%S"`
compile_dir=compile_${compile_date}
mkdir $compile_dir
cd $compile_dir
env > env_before_start.out
Untar(){
echo "======== untar package in ======"
pwd
tar -zxf ../$software-${version%%-*}.tar.gz
tar -zvxf $software-${version%%-*}.tar.gz
}
Install_bin(){
......@@ -20,6 +13,7 @@ Install_bin(){
install_dir=${software}/${version%%-*}
mkdir -p $install_dir
cd $software-${version%%-*}
env > env_before_start.out
mkdir build
cd build
echo "
......@@ -33,4 +27,21 @@ Deploy(){
Install_bin
}
if [ -z "$1" ]
then
echo "Please provide the targeted machine from:"
ls machines/
echo ""
echo "Example: ./compile.sh occigen-bdw"
exit 1
fi
env_file="machines/$1/env_bench"
if [ ! -f $env_file ]
then
echo "ERROR: $env_file not found!"
exit 1
else
source $env_file
fi
Deploy
batch_large_BSG.slurm
benchBSG.cpt
benchBSG.edr
benchBSG.trr
benchBSG.xtc
results
results-gromacs-BSG_large/
#!/bin/bash
compile_gromacs_dir_name=$1
if [ -z "$compile_gromacs_dir_name" ]
then
echo "compile_gromacs_dir_name missing"
echo "example : ./prepare.sh compile_01-13-20-16-20-05"
exit 1
if [ -z "$1" ]
then
echo "Please provide the targeted machine from:"
ls ../machines/
echo ""
echo "Example: ./prepare.sh occigen-bdw"
exit 1
fi
machine_dir="../machines/$1"
run_date=`date +"%m-%d-%y-%H-%M-%S"`
run_dir=run_${run_date}_${compile_gromacs_dir_name}
mkdir $run_dir
cd $run_dir
cp ../systWT250nsGr2018woEne.tpr .
cp ../../machines/${GROMACS_MACHINE}/batch_large_BSG.slurm batch_large_BSG.slurm.tmp.tmp
awk '$1=$1' FS="GROMACS_HOME" OFS="../../${compile_gromacs_dir_name}/gromacs/2019.4" batch_large_BSG.slurm.tmp.tmp > batch_large_BSG.slurm.tmp
awk '$1=$1' FS="GROMACS_HOME" OFS="../../${compile_gromacs_dir_name}/gromacs/2019.4" batch_large_BSG.slurm.tmp > batch_large_BSG.slurm
cp ${machine_dir}/batch_large_BSG.slurm batch_large_BSG.slurm.tmp.tmp
awk '$1=$1' FS="GROMACS_HOME" OFS="../gromacs/2019.4" batch_large_BSG.slurm.tmp.tmp > batch_large_BSG.slurm.tmp
awk '$1=$1' FS="GROMACS_HOME" OFS="../gromacs/2019.4" batch_large_BSG.slurm.tmp > batch_large_BSG.slurm
rm -f batch_large_BSG.slurm.tmp.tmp batch_large_BSG.slurm.tmp
#!/bin/bash
run_gromacs_dir_name=$1
if [ -z "$run_gromacs_dir_name" ]
then
echo "run_gromacs_dir_name missing"
echo "example : ./run.sh run_01-13-20-17-10-24_compile_01-13-20-16-20-05"
exit 1
fi
cd $run_gromacs_dir_name
${GROMACS_LAUNCH_SCRIPT_COMMAND} batch_large_BSG.slurm
sbatch batch_large_BSG.slurm
#!/bin/bash
run_gromacs_dir_name=$1
if [ -z "$run_gromacs_dir_name" ]
then
echo "run_gromacs_dir_name missing"
echo "example : ./validate.sh run_01-13-20-17-10-24_compile_01-13-20-16-20-05"
exit 1
fi
cd $run_gromacs_dir_name
perf=`grep Performance: results | awk '{ print $2 }'`
end_sim=`grep "Statistics over 1200001 steps using 12001 frames" benchBSG.log`
......
batch_large_ion_channel.slurm
large_ion_channel.edr
results
results-gromacs-ion_channel_large/
#!/bin/bash
compile_gromacs_dir_name=$1
if [ -z "$compile_gromacs_dir_name" ]
then
echo "compile_gromacs_dir_name missing"
echo "example : ./prepare.sh compile_01-13-20-16-20-05"
exit 1
if [ -z "$1" ]
then
echo "Please provide the targeted machine from:"
ls ../machines/
echo ""
echo "Example: ./prepare.sh occigen-bdw"
exit 1
fi
machine_dir="../machines/$1"
run_date=`date +"%m-%d-%y-%H-%M-%S"`
run_dir=run_${run_date}_${compile_gromacs_dir_name}
mkdir $run_dir
cd $run_dir
cp ../ion_channel.tpr .
cp ../../machines/${GROMACS_MACHINE}/batch_large_ion_channel.slurm batch_large_ion_channel.slurm.tmp.tmp
awk '$1=$1' FS="GROMACS_HOME" OFS="../../${compile_gromacs_dir_name}/gromacs/2019.4" batch_large_ion_channel.slurm.tmp.tmp > batch_large_ion_channel.slurm.tmp
awk '$1=$1' FS="GROMACS_HOME" OFS="../../${compile_gromacs_dir_name}/gromacs/2019.4" batch_large_ion_channel.slurm.tmp > batch_large_ion_channel.slurm
cp ${machine_dir}/batch_large_ion_channel.slurm batch_large_ion_channel.slurm.tmp.tmp
awk '$1=$1' FS="GROMACS_HOME" OFS="../gromacs/2019.4" batch_large_ion_channel.slurm.tmp.tmp > batch_large_ion_channel.slurm.tmp
awk '$1=$1' FS="GROMACS_HOME" OFS="..//gromacs/2019.4" batch_large_ion_channel.slurm.tmp > batch_large_ion_channel.slurm
rm -f batch_large_ion_channel.slurm.tmp.tmp batch_large_ion_channel.slurm.tmp
#!/bin/bash
run_gromacs_dir_name=$1
if [ -z "$run_gromacs_dir_name" ]
then
echo "run_gromacs_dir_name missing"
echo "example : ./run.sh run_01-13-20-17-10-24_compile_01-13-20-16-20-05"
exit 1
fi
cd $run_gromacs_dir_name
${GROMACS_LAUNCH_SCRIPT_COMMAND} batch_large_ion_channel.slurm
sbatch batch_large_ion_channel.slurm
#!/bin/bash
run_gromacs_dir_name=$1
if [ -z "$run_gromacs_dir_name" ]
then
echo "run_gromacs_dir_name missing"
echo "example : ./validate.sh run_01-13-20-17-10-24_compile_01-13-20-16-20-05"
exit 1
fi
cd $run_gromacs_dir_name
perf=`grep Performance results | awk '{ print $2 }'`
end_sim=`grep "Statistics over 1000001 steps using 100001 frames" large_ion_channel.log`
......
batch_*
results*
*.edr
#!/bin/bash
compile_gromacs_dir_name=$1
if [ -z "$compile_gromacs_dir_name" ]
then
echo "compile_gromacs_dir_name missing"
echo "example : ./prepare.sh compile_01-13-20-16-20-05"
exit 1
if [ -z "$1" ]
then
echo "Please provide the targeted machine from:"
ls ../machines/
echo ""
echo "Example: ./prepare.sh occigen-bdw"
exit 1
fi
machine_dir="../machines/$1"
run_date=`date +"%m-%d-%y-%H-%M-%S"`
run_dir=run_${run_date}_${compile_gromacs_dir_name}
mkdir $run_dir
cd $run_dir
cp ../ion_channel.tpr .
cp ../../machines/${GROMACS_MACHINE}/batch_small_ion_channel.slurm batch_small_ion_channel.slurm.tmp.tmp
awk '$1=$1' FS="GROMACS_HOME" OFS="../../${compile_gromacs_dir_name}/gromacs/2019.4" batch_small_ion_channel.slurm.tmp.tmp > batch_small_ion_channel.slurm.tmp
awk '$1=$1' FS="GROMACS_HOME" OFS="../../${compile_gromacs_dir_name}/gromacs/2019.4" batch_small_ion_channel.slurm.tmp > batch_small_ion_channel.slurm
cp ${machine_dir}/batch_small_ion_channel.slurm batch_small_ion_channel.slurm.tmp.tmp
awk '$1=$1' FS="GROMACS_HOME" OFS="../gromacs/2019.4" batch_small_ion_channel.slurm.tmp.tmp > batch_small_ion_channel.slurm.tmp
awk '$1=$1' FS="GROMACS_HOME" OFS="../gromacs/2019.4" batch_small_ion_channel.slurm.tmp > batch_small_ion_channel.slurm
rm -f batch_small_ion_channel.slurm.tmp.tmp batch_small_ion_channel.slurm.tmp
#!/bin/bash
run_gromacs_dir_name=$1
if [ -z "$run_gromacs_dir_name" ]
then
echo "run_gromacs_dir_name missing"
echo "example : ./run.sh run_01-13-20-17-10-24_compile_01-13-20-16-20-05"
exit 1
fi
cd $run_gromacs_dir_name
${GROMACS_LAUNCH_SCRIPT_COMMAND} batch_small_ion_channel.slurm
sbatch batch_small_ion_channel.slurm
#!/bin/bash
run_gromacs_dir_name=$1
if [ -z "$run_gromacs_dir_name" ]
then
echo "run_gromacs_dir_name missing"
echo "example : ./validate.sh run_01-13-20-17-10-24_compile_01-13-20-16-20-05"
exit 1
fi
cd $run_gromacs_dir_name
perf=`grep Performance results | awk '{ print $2 }'`
end_sim=`grep "Statistics over 20001 steps using 2001 frames" small_ion_channel.log`
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment