Skip to content

Commit

Permalink
v0.9.7
Browse files Browse the repository at this point in the history
  • Loading branch information
gmatteo committed Mar 1, 2024
1 parent 6b37665 commit 39e2d9e
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 959 deletions.
35 changes: 22 additions & 13 deletions abipy/abio/abivar_database/variables_abinit.py
Original file line number Diff line number Diff line change
Expand Up @@ -313,10 +313,10 @@

!!! note

Note that this variable is only used when running **ground-state calculations** in parallel with MPI.
Note that this variable is only used when running **ground-state calculations** in parallel with MPI ([[optdriver]]=1).
Other [[optdriver]] runlevels implement different MPI algorithms that rely on other input variables that are
not automatically set by [[autoparal]]. Please consult the [[tutorial:paral_mbt|tutorial on parallelism for Many-Body Perturbation Theory]] to learn how
to run beyond-GS calculations with MPI.
not automatically set by [[autoparal]]. For example, consult the [[tutorial:paral_mbt|tutorial on parallelism for Many-Body Perturbation Theory]] to learn how
to run beyond-GS calculations with MPI. Other tutorials on parallelism are also available.

Given a total number of processors, ABINIT can find a suitable distribution that fill (when possible)
all the different levels of parallelization. ABINIT can also determine optimal
Expand Down Expand Up @@ -6101,8 +6101,8 @@
varset="paral",
vartype="integer",
topics=['parallelism_expert'],
dimensions=[5],
defaultval=[-1, -1, -1, -1, -1],
dimensions=[12],
defaultval=12*(-1),
mnemonics="GPU: choice of DEVICES on one node",
requires="[[gpu_option]] > 0 and [[CUDA]] (Nvidia GPU)",
added_in_version="before_v9",
Expand All @@ -6116,19 +6116,19 @@

Examples:

* 2 GPU devices per node, 4 MPI processes per node, **gpu_device** =[-1,-1,-1,-1,-1] (default):
* 2 GPU devices per node, 4 MPI processes per node, **gpu_device** = *-1 (default):
MPI processes 0 and 2 use the best GPU card, MPI processes 1 and 3 use the
slowest GPU card.

* 3 GPU devices per node, 5 MPI processes per node, **gpu_device** =[1,0,2,-1,-1]:
* 3 GPU devices per node, 5 MPI processes per node, **gpu_device** =[1,0,2,-1,-1, . . .]:
MPI processes 0 and 3 use GPU card 1, MPI processes 1 and 4 use GPU card 0,
MPI process 2 uses GPU card 2.

* 3 GPU devices per node, 5 MPI processes per node, **gpu_device** =[0,1,-1,-1,-1]:
* 3 GPU devices per node, 5 MPI processes per node, **gpu_device** =[0,1,-1,-1, . . .]:
MPI processes 0, 2 and 4 use GPU card 0, MPI processes 1 and 3 use GPU card 1;
the 3rd GPU card is not used.

GPU card are numbered starting from 0; to get the GPU devices list, type
GPU card are numbered starting from 0; to get the GPU devices list, type f.i. (Nvidia):
"nvidia-smi" or "lspci | grep -i nvidia".
""",
),
Expand Down Expand Up @@ -9943,7 +9943,7 @@
abivarname="lambsig",
varset="paw",
vartype="real",
topics=['MagField_expert'],
topics=['NMR_basic','MagField_expert'],
dimensions=['[[ntypat]]'],
defaultval=MultipleValue(number=None, value=0),
mnemonics="LAMB shielding SIGma",
Expand Down Expand Up @@ -13068,7 +13068,7 @@
abivarname="nucdipmom",
varset="gstate",
vartype="real",
topics=['MagField_expert'],
topics=['NMR_basic','MagField_expert'],
dimensions=[3, '[[natom]]'],
defaultval=0.0,
mnemonics="NUClear DIPole MOMents",
Expand Down Expand Up @@ -13792,7 +13792,7 @@
abivarname="orbmag",
varset="dfpt",
vartype="integer",
topics=['MagField_expert'],
topics=['NMR_basic','MagField_expert'],
dimensions="scalar",
defaultval=0,
mnemonics="ORBital MAGnetization",
Expand Down Expand Up @@ -13897,6 +13897,14 @@
mnemonics="activate PARALelization over K-point, G-vectors and Bands",
added_in_version="before_v9",
text=r"""

!!! note

Note that this variable is only used when running **ground-state calculations** in parallel with MPI ([[optdriver]]=1) (or GW Lanczos-Sternheimer [[optdriver]]=66, but this is very rare).
Other [[optdriver]] runlevels implement different MPI algorithms that rely on other input variables that are
not automatically set by [[autoparal]]. For example, consult the [[tutorial:paral_mbt|tutorial on parallelism for Many-Body Perturbation Theory]] to learn how
to run beyond-GS calculations with MPI. Other tutorials on parallelism are also available.

**If paral_kgb is not explicitely put in the input file**, ABINIT
automatically detects if the job has been sent in sequential or in parallel.
In this last case, it detects the number of processors on which the job has
Expand All @@ -13912,7 +13920,7 @@
components is activated (see [[np_spkpt]], [[npfft]] [[npband]] and possibly
[[npspinor]]). With this parallelization, the work load is split over four
levels of parallelization (three level of parallelisation (kpt-band-fft )+
spin) The different communications almost occur along one dimension only.
spin). The different communications almost occur along one dimension only.
Require compilation option --enable-mpi="yes".

HOWTO fix the number of processors along one level of parallelisation:
Expand Down Expand Up @@ -19662,6 +19670,7 @@
vartype="real",
topics=['SCFControl_basic'],
dimensions="scalar",
mnemonics="TOLerance on the Wavefunction Residuals",
defaultval=0.0,
added_in_version="before_v9",
text=r"""
Expand Down
8 changes: 6 additions & 2 deletions abipy/abio/abivar_database/variables_anaddb.py
Original file line number Diff line number Diff line change
Expand Up @@ -823,7 +823,8 @@
3,5,7,9) The DDB files correspond to phonon calculations performed at
different volumes (usually ± 1% of the equilibrium volume). The DDB files must
be ordered according to the volume of the unit cell (the DDB with smallest
volume comes first) and the volume increment must be constant. The code
volume comes first) and the volume increment must be constant to a precision of
better than 1 part in $10^4$. The code
computes the derivative of the dynamical matrix wrt the volume using central finite difference.
""",
),
Expand All @@ -839,7 +840,10 @@
added_in_version="before_v9",
text=r"""
This variable defines the number of DDB files (read from [[anaddb:gruns_ddbs]])
used for the calculation of the Gruneisen parameters.
used for the calculation of the Gruneisen parameters. Note that computation of
the Grunheisen parameters is currently incompatible with many other features of
ANADDB, and so should be computed in a separate run from calculation of other
possible responses.
""",
),

Expand Down
1 change: 1 addition & 0 deletions abipy/abio/inputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -814,6 +814,7 @@ def escape(text):
for name in names:
value = vars[name]
if mnemonics and value is not None:
print(f"{name=}")
app(escape("#### <" + var_database[name].mnemonics + ">"))

# Build variable, convert to string and append it
Expand Down
2 changes: 1 addition & 1 deletion abipy/core/release.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# release. 'dev' as a _version_extra string means this is a development version
_version_major = 0
_version_minor = 9
_version_micro = 6 # use '' for first of series, number for 1 and above
_version_micro = 7 # use '' for first of series, number for 1 and above
#_version_extra = 'dev'
_version_extra = '' # Uncomment this for full releases

Expand Down
2 changes: 0 additions & 2 deletions abipy/examples/flows/err

This file was deleted.

Loading

0 comments on commit 39e2d9e

Please sign in to comment.