ridft and rdgrad are parallelized with MPI using the Global Arrayshttp://www.emsl.pnl.gov/docs/global/ toolkit.
Different to the MPI version, ridft and rdgrad also run in parallel for hybrid functionals, Hartree-Fock and RI-K.
Those versions are automatically used when setting
PARA_ARCH=SMP but can also turned on with
PARA_ARCH=GA on clusters. Due to the explicit usage of shared memory on an SMP system, user has to be allowed to use sufficient shared memory:
cat /proc/sys/kernel/shmmaxshows the amount of allowed shared memory
sysctlto set new values, but you have to be root to do that!
ga_memperproc <stacksize> <heapsize>
stacksize and heapsize have to be given in word, i.e. units of 8 Byte (1 MB is equivalent to 131072 word).
Note: Also in the parallel SMP version the setting for memory, namely $ricore is the value in MB per process! If several processes run on the same node the total sum of NCPU*$ricore must not be larger than the total memory on that system. Please note that this keyword is not a setting for the total amount of memory the TURBOMOLE modules need, but only for RI integrals and matrices for ridft and rdgrad. Especially for larger molecules and/or basis sets, set $ricore to a small value of a few hundred MB only.