Skip to content
Snippets Groups Projects
Commit ece3e359 authored by Marie bernadette Lepetit's avatar Marie bernadette Lepetit
Browse files

Merge branch 'dev/guess' of https://code.ill.fr/relaxse/relaxse-code into dev/guess

parents a740c742 56662f4b
No related branches found
No related tags found
2 merge requests!16Remove the reordering of the vectors when convergence is not reached,!15Possibility to increase the number of vectors to be computed
Pipeline #24245 passed
This commit is part of merge request !15. Comments created here will be created in the context of that merge request.
The {\sass} code~\cite{p:relaxse} The {\sass} code~\cite{p:relaxse}
does a fully-decontracted Multirefrence Configuration does a fully-decontracted Multireference Configuration
Interaction (MRCI) calculation using one of the following methods Interaction (MRCI) calculation using one of the following methods
\begin{itemize} \begin{itemize}
\item {\bf SAS+S~:} single excitations on all determinants of a reference \item {\bf SAS+S~:} single excitations on all determinants of a reference
...@@ -17,15 +17,15 @@ Interaction (MRCI) calculation using one of the following methods ...@@ -17,15 +17,15 @@ Interaction (MRCI) calculation using one of the following methods
\item {\bf MRSCI~:} single excitations on all determinants of a selected reference space \item {\bf MRSCI~:} single excitations on all determinants of a selected reference space
(included into a formal Complete Active Space); (included into a formal Complete Active Space);
\item {\bf MRSDCI~:} single and double excitations on aall determinants of selected reference space \item {\bf MRSDCI~:} single and double excitations on all determinants of a selected reference space
(included into a formal Complete Active Space); (included into a formal Complete Active Space);
\item {\bf CAS+S~:} single excitations on all determinants of a Complete \item {\bf CAS+S~:} single excitations on all determinants of a Complete
Active Space; Active Space;
\item {\bf CAS+SD~:} single and double excitations on all determinants of a \item {\bf CAS+SD~:} single and double excitations on all determinants of a
Complete Active Space; Complete Active Space;
\item {\bf CAS+DDCI~:} single and double excitations from the Difference \item {\bf CAS+DDCI~:} selected single and double excitations on all determinants of a
Dedicated Configuration Interaction space~\cite{DDCI1992,DDCI1995,DDCI1997}, on all determinants of a Complete Active Space, as defined in the Difference
Complete Active Space. Dedicated Configuration Interaction space~\cite{DDCI1992,DDCI1995,DDCI1997},
\end{itemize} \end{itemize}
...@@ -33,32 +33,32 @@ Interaction (MRCI) calculation using one of the following methods ...@@ -33,32 +33,32 @@ Interaction (MRCI) calculation using one of the following methods
\subsection{The orbital classes} \subsection{The orbital classes}
The code uses a partition of the orbital set into 7 different types The code uses a partition of the orbital set into 7 different types
\begin{description} \begin{description}
\item[FROZEN]~: (keywork NOrb\_gel) doubly-occupied orbitals that are frozen in the \item[FROZEN]~: (keyword NOrb\_gel) doubly-occupied orbitals that are frozen in the
calculation. In the present version this number should be the same as in calculation. In the present version this number should be the same as in
motra. motra.
\item[OCCUPIED]~: (keywork NOrb\_occ) doubly-occupied orbitals from which only one hole can be created in the calculation. \item[OCCUPIED]~: (keyword NOrb\_occ) doubly-occupied orbitals from which only one hole can be created in the calculation.
\item[LIGO]~: (keywork NOrb\_ligo) doubly-occupied orbitals from which two holes can be created in the calculation. \item[LIGO]~: (keyword NOrb\_ligo) doubly-occupied orbitals from which two holes can be created in the calculation.
These orbitals are typically the occupied ligand orbitals bridging the magnetic interactions. These orbitals are typically the occupied ligand orbitals bridging the magnetic interactions.
\item[ACTIVE]~: (keywork NOrb\_act) active orbitals. When the CAS keywork is \item[ACTIVE]~: (keyword NOrb\_act) active orbitals. When the CAS keyword is
given the the METHOD the whole Complete Active Space is generated. When the given the the METHOD the whole Complete Active Space is generated. When the
SAS keywork is given the the METHOD only a selection of determinants within the CAS is generated~: SAS keyword is given the the METHOD only a selection of determinants within the CAS is generated~:
\begin{itemize} \begin{itemize}
\item all determinants required for building the $S^2,\, S_z$ spin configurations associated with each configuration provided in Ref0, \item all determinants required for building the $S^2,\, S_z$ spin configurations associated with each configuration provided in Ref0,
\item all single excitations within the CAS on each configuration provided \item all single excitations within the CAS on each configuration provided
in Ref0, and their associated determinants required for the associated $S^2,\, S_z$ in Ref0, and their associated determinants required for the associated $S^2,\, S_z$
spin configurations. spin configurations.
\end{itemize} \end{itemize}
\item[LIGV]~: (keywork NOrb\_ligv) virtual orbitals on which two particules can be created in the calculation. \item[LIGV]~: (keyword NOrb\_ligv) virtual orbitals on which two particles can be created in the calculation.
These orbitals are typically the virtual ligand orbitals bridging the magnetic interactions. These orbitals are typically the virtual ligand orbitals bridging the magnetic interactions.
\item[VIRTUAL]~: (keywork NOrb\_virt) virtual orbitals on which one particule can be created in the calculation. \item[VIRTUAL]~: (keyword NOrb\_virt) virtual orbitals on which one particle can be created in the calculation.
\item[DELETED]~: (keywork NOrb\_del) virtual orbitals deleted in the \item[DELETED]~: (keyword NOrb\_del) virtual orbitals deleted in the
calculation. In the present version this number should be the same as in calculation. In the present version this number should be the same as in
motra. motra.
\end{description} \end{description}
\subsection{The different methods} \subsection{The different methods}
The different types of calculations can be done with a proper combination the The different types of calculations can be done with a proper combination
the keyword METHOD (ACS or SAS + DDCI or S) and the setting of the different class of orbitals. the keyword METHOD (CAS or SAS + S, DDCI or SD) and the setting of the different class of orbitals.
For instance \\[2ex] For instance \\[2ex]
\begin{tabular}{l|l|ccccccc} \begin{tabular}{l|l|ccccccc}
\hline \hline \hline \hline
...@@ -88,8 +88,8 @@ For instance \\[2ex] ...@@ -88,8 +88,8 @@ For instance \\[2ex]
\end{tabular} \end{tabular}
\subsection{The determinant classes} \subsection{The determinant classes}
The \sass\ code partition the determinants into 9 classes, defined from the The \sass\ code partitions the determinants into 9 classes, defined from the
number of holes in the OCCUPPIED or LIGO and the number of particules in the LIGV or VIRTUAL classes of orbitals. number of holes in the OCCUPIED or LIGO and the number of particles in the LIGV or VIRTUAL classes of orbitals.
{\small {\small
\begin{minipage}[t]{0.490\linewidth} \begin{minipage}[t]{0.490\linewidth}
...@@ -107,7 +107,7 @@ $D_{00}$ & 0 & 0 & n & 0 & 0 \\ ...@@ -107,7 +107,7 @@ $D_{00}$ & 0 & 0 & n & 0 & 0 \\
& 1 & 0 & n & 0 & 1 \\ & 1 & 0 & n & 0 & 1 \\
\hline \hline
% %
\multirow{4}{*}{$D_0^2$} & 0 & 2 & n & 2 & 0 \\ \multirow{4}{*}{$D_{02}$} & 0 & 2 & n & 2 & 0 \\
& 0 & 2 & n & 1 & 1 \\ & 0 & 2 & n & 1 & 1 \\
& 1 & 1 & n & 2 & 0 \\ & 1 & 1 & n & 2 & 0 \\
& 1 & 1 & n & 1 & 1 \\ & 1 & 1 & n & 1 & 1 \\
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
The files required by the \sass code are the following. The files required by the \sass code are the following.
\begin{filelist} \begin{filelist}
\item[INPUT]~: the input file \item[INPUT]~: the input file
\item[prefix.ref0]: the {\sc ref0} short list of determinants. From each \item[prefix.ref0]: the {\sc ref0} short list of determinants. Only one
determinant in \file{prefix.ref0} all other determinants to get the desired determinant per spin configuration is needed. All the other determinants to
spin configurations will be generated. get the desired spin configurations will be automatically generated to get the complete Ref0.
\item[prefix.TraOne]: the \file{TraOne} frile issued from \program{motra}. \item[prefix.TraOne]: the \file{TraOne} frile issued from \program{motra}.
\item[prefix.TraInt]: the \file{TraInt} frile issued from \program{motra}. \item[prefix.TraInt]: the \file{TraInt} frile issued from \program{motra}.
\item[prefix.restart]: (optional) the wave-function file for restarts. \item[prefix.guess]: (optional) the wave-function file from a previous
\devonly{ \item[prefix.mat]: (optional) the Hamiltonian matrix for lreadHmat = .true..} calculation for a restart.
\end{filelist} \end{filelist}
...@@ -17,11 +17,11 @@ The files required by the \sass code are the following. ...@@ -17,11 +17,11 @@ The files required by the \sass code are the following.
The files generated by the code are The files generated by the code are
\begin{filelist} \begin{filelist}
\item[prefix.out]: the output file. \item[prefix.out]: the output file.
\item[prefix.det]: (optional) the list of determinants in human readible \item[prefix.det]: (optional) the list of determinants in human readable
format. format.
\item[prefix.bdet]: the list of determinants in binary format. \item[prefix.bdet]: the list of determinants in binary format.
\item[prefix.sass]: sass information file. \item[prefix.sass]: sass information file.
\item[prefix.restart]: the wave-function file for restarts. \item[prefix.restart]: the wave-function file.
\devonly{ \item[prefix.mat]: (optional, if --nogen and --build-type=Debug) the Hamiltonian matrix. \devonly{ \item[prefix.mat]: (optional, if --nogen and --build-type=Debug) the Hamiltonian matrix.
\item[prefix.mat2]: (optional, if --nogen and --build-type=Debug)) the Hamiltonian matrix (i, j \item[prefix.mat2]: (optional, if --nogen and --build-type=Debug)) the Hamiltonian matrix (i, j
elm(i,j) format elm(i,j) format
...@@ -55,37 +55,74 @@ The required namelists are the following ones \vspace*{-2.5ex} ...@@ -55,37 +55,74 @@ The required namelists are the following ones \vspace*{-2.5ex}
\end{itemize} \end{itemize}
\begin{description} \itemsep 3ex \begin{description} \itemsep 3ex
\item[SassInp]~: dedicated to general informations. \item[SassInp]~: dedicated to general information.
\begin{keywordlist} \begin{keywordlist}
\item[prefix]: prefix for all code files except \file{INPUT}.
\item[prefix]: prefix for all code files except \file{INPUT}.
\item[print\_det]: (optional, default \ftncode{.false.}) to print the \item[print\_det]: (optional, default \ftncode{.false.}) to print the
determinants list in \file{prefix.det}. determinants list in \file{prefix.det}.
\item[iprint]: (optional, default \ftncode{0}) printinng options.
\item[iprint]: (optional, default \ftncode{0}) printing options.
\begin{itemize} \begin{itemize}
\item \ftncode{0}: no debug print \item \ftncode{0}: no debug print
\item \ftncode{1}: print individual block timings \item \ftncode{1}: print individual block timings
\item \ftncode{2}: print the Fock matrix \item \ftncode{2}: print the Fock matrix
\end{itemize} \end{itemize}
\item[method]: (optional, default \ftncode{SAS+S}) method for determinant generation. \item[method]: (optional, default \ftncode{SAS+S}) method for determinant generation.
The keyword \keyword{method} is compose of two parts. The fist part can be
\begin{itemize} \begin{itemize}
\item \keyword{SAS+S} : SASS method. \item \keyword{SAS}~: for a selection of spin configurations in the Ref0,
\item \keyword{CAS+S} : complete active space + single excitations on all \item \keyword{CAS}~: for a complete CAS in the Ref0.
determinants of the CAS.
\item \keyword{CAS+SD} : complete active space + single and double excitations on all
determinants of the CAS.
\item \keyword{CAS+DDCI} : complete active space + single and double
excitations belonging to the difference dedicated configuration
interaction method.
\end{itemize} \end{itemize}
and the second part that can be
\begin{itemize}
\item \keyword{+S} for single excitations on top of the reference
determinants. The occupied orbitals should be in the \ftncode{Occ} and the
virtual one in the \ftncode{Virt} classes.
\item \keyword{+SD} for single and double excitations on top of the
reference determinant. Note that the occupied orbitals should be in the
\ftncode{Ligo} and the virtual one in the \ftncode{Ligv} classes.
\item \keyword{+DDCI} for a selection of the single and double excitations
(according to the DDCI method) on top of the reference determinant. Note
that the occupied orbitals should be in the \ftncode{Ligo} and the virtual
one in the \ftncode{Ligv} classes.
\end{itemize}
\begin{itemize}
% \item \keyword{SAS+S} : SASS method.
% \item \keyword{CAS+S} : complete active space + single excitations on all
% determinants of the CAS.
% \item \keyword{CAS+SD} : complete active space + single and double excitations on all
% determinants of the CAS.
% \item \keyword{CAS+DDCI} : complete active space + single and double
% excitations belonging to the difference dedicated configuration
% interaction method.
\end{itemize}
\item[sizebatch] : (optional, default \ftncode{40}) size of blocks for MPI \item[sizebatch] : (optional, default \ftncode{40}) size of blocks for MPI
calculations. Recommended size for large calculations~= \ftncode{number of OpenMP threads}. calculations. Recommended size for large calculations~= \ftncode{number of OpenMP threads}.
\item[restart] : (optional, default \ftncode{.false.}) to restart a \item[restart] : (optional, default \ftncode{.false.}) to restart a
calculation from a previous job, file \file{prefix.restart} from the old calculation from a previous job. The keyword \keyword{method}, the spin
calculation needs to be present. Carefull the \file{prefix.restart} file state and the setting of the orbitals in the different classes should be
is overwritten. identical between the two calculations. The file \file{prefix.restart}
from the old
calculation should be provided as \file{prefix.guess}. \\
Note that the number of required vectors does not need to be identical
between the two calculations.\\
This option can be used either to converge unconverged vectors (or
converge them to a higher accuracy, see \keyword{nconv} keyword below), or
to require a larger number of vectors. Only the vectors reputed as not
converged will be converged ( see \keyword{nconv} keyword below). \\
%
\devonly{ \item[prefix.mat]:
(optional) the Hamiltonian matrix for lreadHmat = .true..}
\item[mem\_reduction] : (optional, default \ftncode{.false.}) turn on/off the \item[mem\_reduction] : (optional, default \ftncode{.false.}) turn on/off the
memory reduction which saves intermediate vectors to disk and compute the memory reduction which computes the
pair of off-diagonal blocs independently to save memory. Gives a 30-40\% pair of off-diagonal blocks independently to save memory. Gives a 30-40\%
gain in memory at the cost of an increased CPU time. gain in memory at the cost of an increased CPU time.
\devonly{ \devonly{
...@@ -104,7 +141,7 @@ The required namelists are the following ones \vspace*{-2.5ex} ...@@ -104,7 +141,7 @@ The required namelists are the following ones \vspace*{-2.5ex}
\devonly{ \devonly{
\item[lreadHmat] : ( optional, default \ftncode{.false.}) Read \item[lreadHmat] : ( optional, default \ftncode{.false.}) Read
the Hamiltonian matrice on disk -- to be used with the Hamiltonian matrix on disk -- to be used with
\ftncode{lexplicitHmat} to compare both matrices.} \ftncode{lexplicitHmat} to compare both matrices.}
\devonly{ \devonly{
...@@ -130,7 +167,7 @@ The required namelists are the following ones \vspace*{-2.5ex} ...@@ -130,7 +167,7 @@ The required namelists are the following ones \vspace*{-2.5ex}
} }
\end{keywordlist} \end{keywordlist}
Typical exemple. Typical example.
\begin{shell} \begin{shell}
&sassinp &sassinp
prefix="cuo", prefix="cuo",
...@@ -139,18 +176,19 @@ The required namelists are the following ones \vspace*{-2.5ex} ...@@ -139,18 +176,19 @@ The required namelists are the following ones \vspace*{-2.5ex}
&end &end
\end{shell} \end{shell}
\bigskip
\item[InfoMolcasInp]~: dedicated to provide informations on group symmetry, \item[InfoMolcasInp]~: dedicated to provide information on group symmetry,
usually contained in the \program{molcas} \file{RunFile}. usually contained in the \program{molcas} \file{RunFile}.
\begin{keywordlist} \begin{keywordlist}
\item[NIrrep]: number of irreducible representations in the symmetry \item[NIrrep]: number of irreducible representations in the symmetry
group. group. As symmetry is not yet implemented it should be 1.
\item[Ntot]: total number of orbitals. \item[Ntot]: total number of orbitals.
\item[iIrTb]: group multiplication table. \item[iIrTb]: group multiplication table. As symmetry is not yet implemented it should be 1.
\item[iChTb]: group character table. \item[iChTb]: group character table. As symmetry is not yet implemented it should be 1.
\end{keywordlist} \end{keywordlist}
Typical exemple. Typical example as follows.
\begin{shell} \begin{shell}
&infomolcasinp &infomolcasinp
nirrep=1, nirrep=1,
...@@ -160,7 +198,7 @@ The required namelists are the following ones \vspace*{-2.5ex} ...@@ -160,7 +198,7 @@ The required namelists are the following ones \vspace*{-2.5ex}
&end &end
\end{shell} \end{shell}
\bigskip
\item[OrbInp]~: dedicated to orbitals information. \item[OrbInp]~: dedicated to orbitals information.
\begin{keywordlist} \begin{keywordlist}
...@@ -172,7 +210,7 @@ The required namelists are the following ones \vspace*{-2.5ex} ...@@ -172,7 +210,7 @@ The required namelists are the following ones \vspace*{-2.5ex}
\item[Norb\_virt]: vector, number of virtual orbitals. \item[Norb\_virt]: vector, number of virtual orbitals.
\item[NOrb\_del]: vector, number of deleted orbitals. \item[NOrb\_del]: vector, number of deleted orbitals.
\end{keywordlist} \end{keywordlist}
Typical exemple. Typical example.
\begin{shell} \begin{shell}
&orbinp &orbinp
norb_gel = 2, norb_gel = 2,
...@@ -186,20 +224,23 @@ The required namelists are the following ones \vspace*{-2.5ex} ...@@ -186,20 +224,23 @@ The required namelists are the following ones \vspace*{-2.5ex}
\end{shell} \end{shell}
\bigskip
\item[VecInp]~: dedicated to information on the sought vectors.
\item[VecInp]~: dedicated to information on the seaked vectors.
\begin{keywordlist} \begin{keywordlist}
\item[NRef0]: number of {\sc ref0} determinants to be read in \file{prefix.ref0}. \item[NRef0]: number of {\sc ref0} determinants to be read in \file{prefix.ref0}.
\item[NElact]: number of active/magnetic electrons. \item[NElact]: number of active/magnetic electrons.
\item[NVec]: number of desired eigenstates. \item[NVec]: number of desired eigenstates.
\item[Stot]: $2S+1$, $S$ spin of the seaked states (default \item[NConv]: (only when the keyword \keyword{restart} is set. Optional,
Default read in \file{prefix.guess} file) Defines the number of vectors
reputed to be converged. Overwrites the value read in \file{prefix.guess}.
\item[Stot]: $2S+1$, $S$ spin of the sought states (default
\keyword{stot}=1). Used only to generate the complete {\sc ref0} determinants list. \keyword{stot}=1). Used only to generate the complete {\sc ref0} determinants list.
\item[Sz]: $2S_z$, the spin sector in wich the diagonalisation takes place. \item[Sz]: $2S_z$, the spin sector in which the diagonalisation takes place.
\item[vec\_irrep]: (default 1) the irreducible representation of the \item[vec\_irrep]: (default 1) the irreducible representation of the
seaked vectors. sought vectors. As symmetry is not yet implemented it should be 1.
\end{keywordlist} \end{keywordlist}
Typical exemple. Typical example.
\begin{shell} \begin{shell}
&vecinp &vecinp
stot=1, stot=1,
...@@ -211,6 +252,8 @@ The required namelists are the following ones \vspace*{-2.5ex} ...@@ -211,6 +252,8 @@ The required namelists are the following ones \vspace*{-2.5ex}
&end &end
\end{shell} \end{shell}
\bigskip
\item[DavidInp]~: (experts) dedicated to the Davidson procedure fine tuning. \item[DavidInp]~: (experts) dedicated to the Davidson procedure fine tuning.
\begin{keywordlist} \begin{keywordlist}
...@@ -225,7 +268,7 @@ The required namelists are the following ones \vspace*{-2.5ex} ...@@ -225,7 +268,7 @@ The required namelists are the following ones \vspace*{-2.5ex}
\item[tol\_norm]: (optional, default \ftncode{$10^{-15}$}) normalisation maximum error. \item[tol\_norm]: (optional, default \ftncode{$10^{-15}$}) normalisation maximum error.
\item[tol\_conv]: (optional, default \ftncode{$10^{-8}$}) convergence criterium (energy \item[tol\_conv]: (optional, default \ftncode{$10^{-8}$}) convergence criterium (energy
equivalent). equivalent).
\item[iter0]: (optional, default \ftncode{0}) last iteration number of the previous \item[iter0]: (optional, default \ftncode{0}) number of the last iteration of the previous
run in case of a restart. run in case of a restart.
\item[conv\_ener]: (optional, default \ftncode{.false.}) activate the convergence on \item[conv\_ener]: (optional, default \ftncode{.false.}) activate the convergence on
energy in addition to vectors. energy in addition to vectors.
...@@ -235,12 +278,17 @@ The required namelists are the following ones \vspace*{-2.5ex} ...@@ -235,12 +278,17 @@ The required namelists are the following ones \vspace*{-2.5ex}
and in \file{fort.666}) and in \file{fort.666})
} }
\end{keywordlist} \end{keywordlist}
Typical exemple. Typical example.
\begin{shell} \begin{shell}
&davidinp &davidinp
&end &end
\end{shell} \end{shell}
\bigskip
\item[PropInp]~: should be present for the \file{prefix.sass} and
\file{prefix.bdet} files (needed for the properties \program{prop} code) to
be printed. See the \program{PROP} input section.
\end{description} \end{description}
...@@ -254,3 +302,4 @@ The required namelists are the following ones \vspace*{-2.5ex} ...@@ -254,3 +302,4 @@ The required namelists are the following ones \vspace*{-2.5ex}
%%% mode: latex %%% mode: latex
%%% TeX-master: "user_manual" %%% TeX-master: "user_manual"
%%% End: %%% End:
The \program{\prop} computes properties from the wave functions issued from the The \program{\prop} code computes properties from the wave functions issued from the
\program{\sass} code. \program{\sass} code.
It always prints out the projection of the \program{\sass} wave functions on It always prints out the projection of the \program{\sass} wave functions on
the CAS. the reference determinants.
This is presently the only property implemented. %This is presently the only property implemented.
\subsection{Input files} \subsection{Input files}
The files required by the \program{\prop} code are the following. The files required by the \program{\prop} code are the following.
...@@ -28,7 +28,7 @@ The files generated by the code are ...@@ -28,7 +28,7 @@ The files generated by the code are
\subsection{The \file{INPUT} File } \subsection{The \file{INPUT} File }
This file is divided in several Fortran namelists. The same namelists as for This file is divided in several Fortran namelists. The same namelists as for
the \program{\sass} calculation and an additinal namelist specific for properties the \program{\sass} calculation and an additional namelist specific for properties
calculations. calculations.
\begin{description} \itemsep 3ex \begin{description} \itemsep 3ex
...@@ -70,7 +70,7 @@ calculations. ...@@ -70,7 +70,7 @@ calculations.
on the Ref1 space \\ on the Ref1 space \\
\keyword{lcoef}: printing of the \program{\sass} wave functions \keyword{lcoef}: printing of the \program{\sass} wave functions
coefficients larger than 0.05. \\ coefficients larger than 0.05. \\
\keyword{dens2}: two-particules density matrix calculation. \keyword{dens2}: two-particles density matrix calculation.
} }
\item[seuilcoef]: threshold on the coefficients \item[seuilcoef]: threshold on the coefficients
......
...@@ -7,19 +7,19 @@ $D_{\text{Nel}}^{\text{Nexc}}$, where \verb|Nel| is the number of additional ...@@ -7,19 +7,19 @@ $D_{\text{Nel}}^{\text{Nexc}}$, where \verb|Nel| is the number of additional
electrons in the active part with respect to the {\sc Ref0} configurations, electrons in the active part with respect to the {\sc Ref0} configurations,
and \verb|Nexc| is the number of additional excitations outside of the active and \verb|Nexc| is the number of additional excitations outside of the active
space. The \program{\sass} code has both MPI and OpenMP parallelization space. The \program{\sass} code has both MPI and OpenMP parallelization
driven both by integral and determinant blocks. The MPI parallelisation is driven both by integral, determinant blocks and spin cases. The MPI parallelization is
done on the pair integral-kind~/~determinant-block. When the determinant done on the pair integral-kind~/~determinant-block/spin-case. When the determinant
blocks are very large, it is possible to divide the calculation into smaller blocks/spin-cases are very large, it is possible to divide the calculation into smaller
MPI parts by batching the determinants. However, the gain is not systematic as MPI parts by batching the determinants. However, the gain is not systematic as
the integrals are read from disk for each MPI process and the overhead can be the integrals are read from disk for each MPI process and the overhead can be
large. large.
Within each MPI process an OpenMP parallelisation is done on the outer particle or Within each MPI process an OpenMP parallelization is done on the outer particle or
hole loop. hole loop.
For an optimal use of the code the user should adjust the number of MPI For an optimal use of the code the user should adjust the number of MPI
precesses, OpenMP threads and the size of the batches according to her/his processes, OpenMP threads and the size of the batches according to her/his
problem and computer system. In order to guide the user for such choices we provide below problem and computer system. In order to guide the user for such choices we provide below
performance testing for the most typical cases. These data are taken from ref.~\cite{p:relaxse}. performance testing for the most typical cases. These data are taken from ref.~\cite{p:relaxse}.
......
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment