5.8 Memory Management and Two-Dimensional Partitioning
215
body states, and to take the diagonal of ˆ
H for ˆ
H app in the rest of the Gamow shell
model space. The diagonal of ˆ
H app must, in fact, be averaged on each configuration
in order to have [ ˆ
H app , J] = 0. Many applications of the ˆ
J 2 operator to project
|Φ i on J (see Sect. 5.8.4) are then avoided. As the dimension of the pole space
is small, the linear system involving ˆ
H app in the Jacobi-Davidson method is solved
very quickly, while being sufficiently close to ˆ
H so as to provide quick convergence.
As the main components of Gamow shell model eigenvectors are typically that
of the pole space configurations, the Jacobi-Davidson method converges in typically
30 iterations, compared to the 50–100 typically necessary with the Lanczos method.
Consequently, the ˆ
H times vector operation in the Gamow shell model, which is
slower than in standard shell model, is expected to be partially mitigated by the
smaller number of Jacobi-Davidson iterations.
5.8
Memory Management and Two-Dimensional Partitioning
We will describe now an implementation of the Gamow shell model code which
significantly improves both its performance and storage requirements for large-scale
calculations [28].
From a computational point of view, the Gamow shell model code is formally a
shell model code. As a consequence, in order to implementent the two-dimensional
partitioning method in the Gamow shell model, one can reuse the techniques already
developed in another shell model code, called the many-body fermion dynamics
for nuclear structure, which has shown its efficiency when utilized on powerful
parallel supercomputers [29–33]. In particular, one can directly implement the twodimensional partitioning scheme of the many-body fermion dynamics code in the
Gamow shell model code. The two-dimensional partitioning scheme is a powerful
algorithm, taking advantage of the Hamiltonian matrix symmetry, and which
reduces the overheads induced by message passing interface communication [34].
Nevertheless, even from pure computational considerations, the Gamow shell
model code and the many-body fermion dynamics code are not identical. Firstly,
the Gamow shell model uses the Berggren basis, which is in essence continuous,
contrary to the discrete harmonic oscillator basis used in the many-body fermion
dynamics code. Consequently, the Gamow shell model matrix is less sparse than
the typical matrix generated in the many-body fermion dynamics code. Secondly,
in standard shell model, it is customary to separate the large proton-neutron full
model space into two small subspaces, built from only protons or neutrons, as
it allows to greatly optimize standard shell model codes. On the contrary, the
nuclei studied with the Gamow shell model typically possess a large asymmetry
between the numbers of valence protons and neutrons. This implies that a memory
storage optimization, which has no equivalent in the standard shell model, must
be additionally devised in the Gamow shell model code. In particular, the storage
of uncoupled two-body matrix elements and many-body matrix elements between
Slater determinants built from only protons or only neutrons must be optimized. One
215
body states, and to take the diagonal of ˆ
H for ˆ
H app in the rest of the Gamow shell
model space. The diagonal of ˆ
H app must, in fact, be averaged on each configuration
in order to have [ ˆ
H app , J] = 0. Many applications of the ˆ
J 2 operator to project
|Φ i on J (see Sect. 5.8.4) are then avoided. As the dimension of the pole space
is small, the linear system involving ˆ
H app in the Jacobi-Davidson method is solved
very quickly, while being sufficiently close to ˆ
H so as to provide quick convergence.
As the main components of Gamow shell model eigenvectors are typically that
of the pole space configurations, the Jacobi-Davidson method converges in typically
30 iterations, compared to the 50–100 typically necessary with the Lanczos method.
Consequently, the ˆ
H times vector operation in the Gamow shell model, which is
slower than in standard shell model, is expected to be partially mitigated by the
smaller number of Jacobi-Davidson iterations.
5.8
Memory Management and Two-Dimensional Partitioning
We will describe now an implementation of the Gamow shell model code which
significantly improves both its performance and storage requirements for large-scale
calculations [28].
From a computational point of view, the Gamow shell model code is formally a
shell model code. As a consequence, in order to implementent the two-dimensional
partitioning method in the Gamow shell model, one can reuse the techniques already
developed in another shell model code, called the many-body fermion dynamics
for nuclear structure, which has shown its efficiency when utilized on powerful
parallel supercomputers [29–33]. In particular, one can directly implement the twodimensional partitioning scheme of the many-body fermion dynamics code in the
Gamow shell model code. The two-dimensional partitioning scheme is a powerful
algorithm, taking advantage of the Hamiltonian matrix symmetry, and which
reduces the overheads induced by message passing interface communication [34].
Nevertheless, even from pure computational considerations, the Gamow shell
model code and the many-body fermion dynamics code are not identical. Firstly,
the Gamow shell model uses the Berggren basis, which is in essence continuous,
contrary to the discrete harmonic oscillator basis used in the many-body fermion
dynamics code. Consequently, the Gamow shell model matrix is less sparse than
the typical matrix generated in the many-body fermion dynamics code. Secondly,
in standard shell model, it is customary to separate the large proton-neutron full
model space into two small subspaces, built from only protons or neutrons, as
it allows to greatly optimize standard shell model codes. On the contrary, the
nuclei studied with the Gamow shell model typically possess a large asymmetry
between the numbers of valence protons and neutrons. This implies that a memory
storage optimization, which has no equivalent in the standard shell model, must
be additionally devised in the Gamow shell model code. In particular, the storage
of uncoupled two-body matrix elements and many-body matrix elements between
Slater determinants built from only protons or only neutrons must be optimized. One
