Compiling Desmond v3.6.1.1 on ARCHER (XC30)
This page provides compilation instructions for Desmond v3.6.1.1 on ARCHER (Cray XC30, Ivy Bridge).
Source Code Distributions
The Desmond source code can be downloaded from here, otherwise clicking on this link will present you with a registration page. In addition, you will also need to obtain a copy of the SCONS Open Source software construction tool, specifically, v2.3.0, which can be downloaded from http://sourceforge.net/projects/scons/files/scons/2.3.0/. Next, uncompress the Desmond and SCONS archive files to a suitable folder within your account on /work, and export an environment variable, DESMOND_WORK, that points to this folder.
export DESMOND_WORK=/work/projectcode/projectcode/accountname/desmond cd $DESMOND_WORK
Module Setup
Swap to the GNU compiler suite; load the python module:
module swap PrgEnv-cray PrgEnv-gnu module load python
Installing SCONS v2.3.0
Install the SCONS compiler and when you have done so add the SCONS bin directory to PATH.
cd $DESMOND_WORK/scons-2.3.0 python setup.py install --prefix=$DESMOND_WORK/scons-2.3.0 export PATH=$PATH:$DESMOND_WORK/scons-2.3.0/install/bin
Compiling Desmond
Compiling the desmond source involves submitting a 2-hour serial job to one of the ARCHER postprocessing nodes.
cd $DESMOND_WORK/Desmond-3.6.1.1 qsub submit_compile.pbs
Below is the content of the submission script.
#!/bin/bash --login #PBS -N descmp #PBS -l select=serial=true:ncpus=1 #PBS -l walltime=02:00:00 #PBS -A accountcode # Move to directory that script was submitted from export PBS_O_WORKDIR=$(readlink -f $PBS_O_WORKDIR) cd $PBS_O_WORKDIR export PATH=$PATH:/work/projectcode/projectcode/accountname/desmond/scons-2.3.0/install/bin module swap PrgEnv-cray PrgEnv-gnu module load boost scons --user-conf=/work/y07/shared/desmond/user-conf.archer.py
A special SCONS configuration file (user-conf.archer.py) has been created for the ARCHER platform. A clean build can be started by running
scons --clean
before submitting the compilation job.
Running Compiled Desmond
To run your newly-compiled Desmond code, you need to submit something like the submission script given below. Please note, the version of the gcc compiler may change.
#!/bin/bash --login #PBS -N desmond #PBS -l select=3 #PBS -l walltime=24:00:00 #PBS -q standard #PBS -A accountcode # Move to directory that script was submitted from export PBS_O_WORKDIR=$(readlink -f $PBS_O_WORKDIR) cd $PBS_O_WORKDIR # This prevents any system libraries from using threading export OMP_NUM_THREADS=1 module swap PrgEnv-cray PrgEnv-gnu module load boost export DESMOND_RELEASE_PATH=./objs/Linux/x86_64/gcc-4.9.2/Release export DESMOND_PLUGIN_PATH=$DESMOND_RELEASE_PATH/lib/plugin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DESMOND_RELEASE_PATH/lib aprun -n 64 $DESMOND_RELEASE_PATH/bin/desmond \ --include ./test.cfg \ --cfg boot.file=./test.cms \ --cfg mdsim.plugin.eneseq.name=test.eneseq \ --destrier mpi
Please note, /work is NOT backed up: any valuable data (e.g., source code, simulation results) should be transferred to the RDF or /home.
Back to the main ARCHER Desmond page.