EXACORR - DIRAC21

96 views
Skip to first unread message

juan...@gmail.com

unread,
Aug 22, 2021, 12:16:10 PM8/22/21
to dirac-users
Dear Dirac Developers,


Is the EXACC module implemented in the last DIRAC release?
I've been trying to use it with no success. I see related documentation on DIRAC21 manual, and I tried to run some calculations using the exacorr tests, but I get the warning:

 **EXACC not available in this version

is there a way to use it, or implementation is underway?

Thanks!
Juan José

Andre Gomes

unread,
Aug 22, 2021, 12:28:54 PM8/22/21
to dirac...@googlegroups.com
hi juan jose,

exacorr (exacc) is available in the release, but you'll need to pay attention to the system requirements (compilers and mpi library used) to enable all of its functionality.

can you say more on how have you configured your build ?

best,

andre

--
You received this message because you are subscribed to the Google Groups "dirac-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dirac-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dirac-users/f5915d08-f8f1-4bc4-915f-1e0a79651bf0n%40googlegroups.com.

juan...@gmail.com

unread,
Aug 22, 2021, 2:24:55 PM8/22/21
to dirac-users
Thanks for the quick answer

I compiled with
./setup --mpi --int64 --pcmsolver=OFF

using Intel compilers and MKL libraries:


Configuration and build information
-----------------------------------

Operating system         | Linux-5.3.18-lp152.60-default
CMake version            | 3.10.2
CMake generator          | Unix Makefiles
CMake build type         | release
Python version           | 3.7.1
Fortran compiler         | /home/juanau/ejecutables-propios/intel_oneAPI-Base/mpi/2021.3.0/bin/mpif90
Fortran compiler version | 7.5.0
Fortran compiler flags   |  -g -fcray-pointer -fbacktrace -fno-range-check -DVAR_GFORTRAN -DVAR_MFDS  -fopenmp -fdefault-integer-8
C compiler               | /home/juanau/ejecutables-propios/intel_oneAPI-Base/mpi/2021.3.0/bin/mpicc
C compiler version       | 7.5.0
C compiler flags         |  -g  -fopenmp
C++ compiler             | /home/juanau/ejecutables-propios/intel_oneAPI-Base/mpi/2021.3.0/bin/mpicxx
C++ compiler version     | 7.5.0
C++ compiler flags       |  -g -Wall -Wno-unknown-pragmas -Wno-sign-compare -Woverloaded-virtual -Wwrite-strings -Wno-unused  -fopenmp
Static linking           | False
64-bit integers          | True
MPI parallelization      | True
MPI launcher             | /home/juanau/ejecutables-propios/intel_oneAPI-Base/mpi/2021.3.0/bin/mpiexec
Math libraries           | -Wl,--start-group;/home/juanau/ejecutables-propios/intel_oneAPI-Base/mkl/2021.3.0/lib/intel64/libmkl_lapack95_ilp64.a;/home/juanau/ejecutables-propios/intel_oneAPI-Base/mkl/2021.3.0/lib/intel64/libmkl_gf_ilp64.so;-fopenmp;-Wl,--end-group;-Wl,--start-group;/home/juanau/ejecutables-propios/intel_oneAPI-Base/mkl/2021.3.0/lib/intel64/libmkl_gf_ilp64.so;/home/juanau/ejecutables-propios/intel_oneAPI-Base/mkl/2021.3.0/lib/intel64/libmkl_gnu_thread.so;/home/juanau/ejecutables-propios/intel_oneAPI-Base/mkl/2021.3.0/lib/intel64/libmkl_core.so;/usr/lib64/libpthread.so;/usr/lib64/libm.so;-fopenmp;-Wl,--end-group
Builtin BLAS library     | OFF
Builtin LAPACK library   | OFF
Explicit libraries       | unknown
Compile definitions      | HAVE_MKL_BLAS;HAVE_MKL_LAPACK;HAVE_MPI;HAVE_OPENMP;VAR_MPI;VAR_MPI2;USE_MPI_MOD_F90;SYS_LINUX;PRG_DIRAC;INT_STAR8;INSTALL_WRKMEM=64000000;BUILD_GEN1INT;HAS_PELIB;MOD_QCORR;HAS_STIELTJES

EXACORR dependencies
--------------------
Exatensor source repo    | unknown
Exatensor git hash       | unknown
Exatensor configuration  | unknown


Catches my attention what it says under "EXACORR dependencies". Seems I'm missing something.

Trond Saue

unread,
Aug 22, 2021, 2:51:42 PM8/22/21
to dirac...@googlegroups.com
You should rather look at the output when Rønning cmake

Sent from my iPad

On 22 Aug 2021, at 20:24, juan...@gmail.com <juan...@gmail.com> wrote:

Thanks for the quick answer

juan...@gmail.com

unread,
Aug 23, 2021, 12:56:53 AM8/23/21
to dirac-users
Thanks for the advice

I was compiling with 64-bit integers so that the EXACORR module was getting deactivated by default.
Now I managed to calculate CCSD,CCSD(T),CCD, etc energies with the EXACORR module. Is it possible to calculate first order properties using it?

Here is the input I'm using:


**DIRAC 
.WAVE FUNCTION
.PROPERTIES
**HAMILTONIAN
.X2Cmmf
**WAVE FUNCTIONS
.SCF
.RELCCSD
.EXACC
**RELCCSD
.TIMING
.INTERFACE
DIRAC
.ENERGY
.GRADIE
#*CCFOPR
#.CCSDG
**MOLTRA
.ACTIVE
energy -999999.0 1000 0.001
.EXACORR
**EXACC
.OCCUPIED
energy -999999.0 0.0 0.001
.VIRTUAL
energy -999999.0 1000 0.001
**PROPERTIES
.EFG
*END OF

It works as far as I don't uncomment the "*CCFOPR" part (so I can't get what I want)


Andre Gomes

unread,
Aug 23, 2021, 4:11:53 AM8/23/21
to dirac...@googlegroups.com
hi juan,

*ccfopr is relevant only to relccsd.

for exacorr you should use the .lambda keyword (http://diracprogram.org/doc/release-21/manual/wave_function/exacorr.html#lambda) to obtain expectation values.

one remark: please keep in mind that, as mentioned in the *exacc section, the code will store all data in memory and not use point group symmetry, as it is geared towards tackling larger systems.

so, in terms of usage, if the species you want to investigate have high (point group) symmetry, you should perhaps investigate which code (relccsd or exacorr) will give you results faster.

but you probably don't want to run both codes, as you have now in the sample input, if you want exactly the same functionality in both cases, as you should get the same result..

best,

andre


Juan Jose Aucar

unread,
Aug 23, 2021, 12:44:53 PM8/23/21
to dirac...@googlegroups.com
Hi Andre,

Thanks!
I finally could do it.

Those remarks are really important. By now I'm doing some tests to get used to this new module. In the manual it says nothing about point group symmetry. I was first trying to do some calculations with certain symmetries and the program was getting stuck. This may be added to the manual or as a warning in the output (if EXACORR and symmetry are asked at the same time) of the DIRAC code.

As I pointed out, I compiled DIRAC21 with Intel compilers and MKL libraries, but if I set the MKL_NUM_THREADS variable to be greater than 1, I get an error. I'm using the OMP_NUM_THREADS variable it seems to work.

I'm seeing that with the EXACORR module I need less RAM memory and disk space, but it takes more time. Maybe I'm still doing something wrong.

I attach 2 outputs for comparison. MPI parallelization is performed.


D21_R_X2Cmmf-EXACORR-CCSD_EFG_1000_FH_cv2z.out
D21_R_X2Cmmf-CCSD_EFG_1000_FH_cv2z.out
Reply all
Reply to author
Forward
0 new messages