-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #40 from stigrj/turbomole
Add example script for TURBOMOLE calculations
- Loading branch information
Showing
4 changed files
with
188 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters