- 1 Description
- 2 Availability
- 3 License
- 4 Usage
- 5 Documentation
- 6 Program administrator
- 7 Official website
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 How to compute/Parallelization.
DIRAC18 (January 2019), modulefile dirac-18- compiled in the same way like module
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 17
DIRAC17 (February 2018), modulefile dirac-17-tuned1, with the exactly same compile-time parameters changed as in
dirac-16-newest(see #Difference between the versions of DIRAC16)
DIRAC17 (February 2018), modulefile dirac-17-tuned1_mkl-parallel_int64with the exactly same changes as
dirac-17-tuned1, but compiled with parallel Intel MKL library and 64-bit integers
DIRAC16 (December 2016), modulefile dirac-16- OpenMPI version compiled with Intel CDK 17
DIRAC16 (January 2018), modulefile dirac-16-newest, with some compile-time parameters tweaked, compiled with Intel CDK 17
All versions of both
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 800
src/include/aovec.h: Variable MXCONT changed from 30 to 3000
src/include/mxcent.h: Variable MXCENT changed from 300 to 10000
src/x2c/x2c_cfg.F90: Variable x2c_mxcent changed from 300 to 10000
src/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
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.
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
DIRAC17- license is available in PDF file
DIRAC16- license is available in TXT file
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)
module load dirac-18 pam-dirac -h
module load dirac-17 pam-dirac -h
module load dirac-17-tuned1 pam-dirac -h
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:
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.
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.
You can find documentation at the official website: