Skip to content

Commit

Permalink
Merge pull request #40 from stigrj/turbomole
Browse files Browse the repository at this point in the history
Add example script for TURBOMOLE calculations
  • Loading branch information
bast committed May 9, 2018
2 parents 529bf3e + 7583176 commit e048553
Show file tree
Hide file tree
Showing 4 changed files with 188 additions and 0 deletions.
104 changes: 104 additions & 0 deletions applications/chemistry/TURBOMOLE/TURBOMOLE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
.. _TURBOMOLE:

============================
The TURBOMOLE program system
============================

Information regarding the quantum chemistry program system TURBOMOLE.

Related information
===================

.. toctree::
:maxdepth: 1

run_turbo.rst


General Information
===================

Description
-----------

TURBOMOLE is a quantum chemical program package, initially developed in the
group of Prof. Dr. Reinhart Ahlrichs at the University of Karlsruhe and at the
Forschungszentrum Karlsruhe. In 2007, the TURBOMOLE GmbH (Ltd) was founded by
the main developers of the program, and the company took over the responsibility
for the coordination of the scientific development of the program, to which it
holds all copy and intellectual property rights.


Online info from vendor
-----------------------

* Homepage: http://www.turbomole-gmbh.com
* Documentation: http://www.turbomole-gmbh.com/turbomole-manuals.html


License information
-------------------

Sigma2 holds a national TURBOMOLE license covering all computing centers in Norway.


Citation
--------

When publishing results obtained with this software, please check with the
developers web page in order to find the correct citation(s).


TURBOMOLE on Stallo
===================

Usage
-----

To see which versions of TURBOMOLE are available

.. code-block:: bash
$ module avail turbomole
Note that the latest (as of May 2018) version 7.2 comes in three different
parallelization variants

* TURBOMOLE/7.2
* TURBOMOLE/7.2.mpi
* TURBOMOLE/7.2.smp

where the latter two correspond to the old separation between distributed memory
(mpi) and shared memory (smp) implementations that some users may know from
previous versions of the program. We recommend, however, to use the new hybrid
parallelization scheme (new in v7.2) provided by the ``TURBOMOLE/7.2`` module.

In order to run efficiently in hybrid parallel the SLURM setup must be correct
by specifying CPUs rather than tasks per node

.. code-block:: bash
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=20
i.e. do NOT specify ``--ntasks=40``. Also, some environment variables must be
set in the run script

.. code-block:: bash
export TURBOTMPDIR=/global/work/${USER}/${SLURM_JOBID}
export PARNODES=${SLURM_NNODES}
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}
See the TURBOMOLE example for more details.

NOTE: The new hybrid program (v7.2) will launch a separate server process in
addition to the requested parallel processes, so if you run e.g. on 20 cores
each on two nodes you will find one process consuming up to 2000% CPU on each
node plus a single process on the first node consuming very little CPU.

NOTE: We have found that the hybrid program (v7.2) runs efficiently only if
*full* nodes are used, e.i. you should always ask for ``--cpus-per-node=20``,
and scale the number of nodes by the size of the calculation.

39 changes: 39 additions & 0 deletions applications/chemistry/TURBOMOLE/run_turbo.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
.. _turbomole_example:

==========================
TURBOMOL runscript example
==========================

.. include:: ../files/job_turbo.sh
:literal:


TURBOMOL example on Stallo
--------------------------

The above runscript can be found on Stallo along with the necessary input files
to perform a simple DFT calculation. To get access to the examples directory,
load the ``notur`` module

.. code-block:: bash
$ module load notur
$ cp -r $RUNEX/TURBOMOLE .
From this directory you can submit the example script (you need to specify a
valid account in the script first)

.. code-block:: bash
$ sbatch job_turbo.sh
The calculation should take less than 2 min, but may spend much more than this
in the queue. Verify that the output file ``dscf.out`` ends with

.. code-block:: bash
**** dscf : all done ****
Please refer to the TURBOMOLE manual for how to setup different types of
calculations.
44 changes: 44 additions & 0 deletions applications/chemistry/files/job_turbo.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/bin/bash -l
#SBATCH --job-name=turbomole
#SBATCH --account=nnXXXXk
#SBATCH --time=1:00:00
#SBATCH --mem-per-cpu=1000MB
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=20
#SBATCH --mail-type=ALL
#SBATCH --partition=multinode

# For TURBOMOLE v7.2:
# --nodes : scale by the size of the calculation
# --ntasks-per-node : always a singel task per node
# --cpus-per-task : always full nodes

# load modules
module purge
module load TURBOMOLE/7.2

# TURBOMOLE needs this variable
export TURBOTMPDIR=/global/work/${USER}/${SLURM_JOBID}
workdir=${TURBOTMPDIR}
submitdir=${SLURM_SUBMIT_DIR}

# copy files to work
mkdir -p $workdir
cd $workdir
cp $submitdir/* $workdir

# set parallel environment
export PARNODES=${SLURM_NNODES}
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}

# run jobex calculation
dscf > dscf.out

# copy files back
mv * $submitdir

# clean up
rm -r $workdir

exit 0
1 change: 1 addition & 0 deletions applications/sw_guides.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ the module system, and information about changes in application software see :re
chemistry/Schrodinger/Schrodinger
chemistry/ORCA/ORCA
chemistry/Molcas/Molcas
chemistry/TURBOMOLE/TURBOMOLE

physics/COMSOL/COMSOL

Expand Down

0 comments on commit e048553

Please sign in to comment.