DIRAC
Description
The DIRAC program computes molecular properties using relativistic quantum chemical methods. It is named after P.A.M. Dirac, the father of relativistic electronic structure theory.
Notice: This application supports parallel computing (MPI, OpenMP) which can have weird consequences. For more details about parallel computing visit the page Parallelization.
Availability
Available versions:
DIRAC21.0 dirac/dirac-21.0-intel-19.0.4-ycozknk
- compiled in the same way like moduledirac-17-tuned1_mkl-parallel_int64
DIRAC19 (June 2020), modulefile dirac-19
- compiled in the same way like moduledirac-17-tuned1_mkl-parallel_int64
DIRAC18 (January 2019), modulefile dirac-18
- compiled in the same way like moduledirac-17-tuned1_mkl-parallel_int64
module add cmake-3.6.1 openmpi-2.1.1-intel-i8
./setup --mpi --int64 --mkl=parallel --extra-cxx-flags=-mcmodel=medium --extra-cc-flags=-mcmodel=medium --extra-fc-flags=-mcmodel=medium --prefix=/software/dirac/18
DIRAC17 (February 2018), modulefile dirac-17
- compiled with Intel CDK 17DIRAC17 (February 2018), modulefile dirac-17-tuned1
, with the exactly same compile-time parameters changed as indirac-16-newest
(see #Difference between the versions of DIRAC16)DIRAC17 (February 2018), modulefile dirac-17-tuned1_mkl-parallel_int64
with the exactly same changes asdirac-17-tuned1
, but compiled with parallel Intel MKL library and 64-bit integersDIRAC16 (December 2016), modulefile dirac-16
- OpenMPI version compiled with Intel CDK 17DIRAC16 (January 2018), modulefile dirac-16-newest
, with some compile-time parameters tweaked, compiled with Intel CDK 17
All versions of both DIRAC16
and DIRAC17
have been compiled with OpenMPI 2.1.1, using the Intel Parallel Studio 2017's C/C++/Fortran compiler.
Difference between the versions of DIRAC16
The version from December 2016 (modulefile dirac-16
) represents standard version of DIRAC16 - sources were unpacked, compiled and that's it.
The version from January 2018 (modulefile dirac-16-newest
) got some compile-time parameter values changed before it was compiled. Specifically, these values in the source code have been changed:
src/prp/dcbexp.h
: Variable MAXEXP changed from 350 to 800src/include/aovec.h
: Variable MXCONT changed from 30 to 3000src/include/mxcent.h
: Variable MXCENT changed from 300 to 10000src/x2c/x2c_cfg.F90
: Variable x2c_mxcent changed from 300 to 10000src/prp/dcbxpp.h
: Variable MAXLPP changed from 40 to 400
After setting these values in the source files, the program was compiled using these parameters:
./setup --mpi --extra-cxx-flags=-mcmodel=medium --extra-cc-flags=-mcmodel=medium --extra-fc-flags=-mcmodel=medium --prefix=/software/dirac/16-newest
cd build && make depend && make -j && make install
DIRAC17 with parallel Intel MKL library, 64-bit integers and tweaked compile-time parameters
The version dirac-17-tuned1_mkl-parallel_int64
has been configured for compilation with the following commands:
module load cmake-3.6.1
module load openmpi-2.1.1-intel
./setup --mpi \
--int64 \
--mkl=parallel \
--extra-cxx-flags=-mcmodel=medium \
--extra-cc-flags=-mcmodel=medium \
--extra-fc-flags=-mcmodel=medium \
--prefix=/software/dirac/17-tuned1_mkl-parallel_int64
Currently, this is the only version which is compiled with 64-bit integers.
Before compilation, several source code integral constants have been changed to different values to accomodate needs of one of our users. To find out which integral constants were changed and how, see #Difference between the versions of DIRAC16.
License
WARNING: If you want to be able to use DIRAC in MetaCentrum, you have to read and accept it's license agreement. Please note that academic license of DIRAC prohibits some behaviour, such as commercial computations.
If you'll want to review the exact wording of the license at any time, you can find it at these places:
DIRAC18
- license is available in TXT file/software/dirac/18/license.txt
DIRAC17
- license is available in PDF file/software/dirac/17/license.pdf
DIRAC16
- license is available in TXT file/software/dirac/16/license.txt
They are also available here at wiki; you can view or download the PDF files at following links:
DIRAC18
- Soubor:DIRAC18-licence-form.pdf (direct link)DIRAC17
- Soubor:DIRAC17-licence-form.pdf (direct link)DIRAC16
- Soubor:DIRAC16-licence-form.pdf (direct link)
Usage
Upcoming modulesystem change alert!
Due to large number of applications and their versions it is not practical to keep them explicitly listed at our wiki pages. Therefore an upgrade of modulefiles is underway. A feature of this upgrade will be the existence of default module for every application. This default choice does not need version number and it will load some (usually latest) version.
You can test the new version now by adding a line
source /cvmfs/software.metacentrum.cz/modulefiles/5.1.0/loadmodules
to your script before loading a module. Then, you can list all versions of dirac and load default version of dirac as
module avail dirac/ # list available modules module load dirac # load (default) module
If you wish to keep up to the current system, it is still possible. Simply list all modules by
module avail dirac
and choose explicit version you want to use.
Preparing environment
dirac-18
module load dirac-18 pam-dirac -h
dirac-17
module load dirac-17 pam-dirac -h
dirac-17-tuned1
module load dirac-17-tuned1 pam-dirac -h
dirac-16
First, prepare environment using
module load dirac-16
Now you can run DIRAC by invoking the wrapper script pam-dirac, i. e. to print help:
pam-dirac -h
Our installation of DIRAC is compiled with OpenMPI. Because it has been compiled with Intel compilers, it also uses MKL (Math Kernel Library) from Intel. Both OpenMPI and MKL are multithreading-enabled libraries - you should think about limiting the number of concurrent MKL threads by setting the MKL_NUM_THREADS
environmental variable. We recommend to read the official documentation thoroughly to get the most performance out of your DIRAC jobs.
dirac-16-newest
If you are using the DIRAC16 version with tweaked compile-time parameters, you need to use
module load dirac-16-newest
to prepare the environment. Then, proceed as usual.
Documentation
You can find documentation at the official website:
DIRAC18
: http://diracprogram.org/doc/release-18/.DIRAC17
: http://diracprogram.org/doc/release-17/.DIRAC16
: http://diracprogram.org/doc/release-16/.