Skip to content

Commit 4d46dd5

Browse files
committed
added usage in en
1 parent cb0d0d0 commit 4d46dd5

File tree

33 files changed

+11545
-933
lines changed

33 files changed

+11545
-933
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: c3c689d1f40c918c842861556f4cf854
3+
config: 754b678b8b4ca4523c90f554812f8dc1
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

docs/sphinx/en/build/html/_sources/how_to_use/basic_usage.rst.txt

Lines changed: 84 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,93 @@ The following is an example of an input file selecting QE as a solver.
4343
Execution
4444
========================
4545

46-
The number of processes specified here must be the same as the number of replicas.
46+
The number of processes specified here must be greater than or equal to the number of replicas.
4747

48-
(Various matters derived from MPI_Comm_spawn (the actual process to be allocated, mpiexec options, etc. need to be described somewhere)
4948

5049
::
5150

5251
$ mpiexec -np 2 abics input.toml
5352

53+
This creates a directory named with the replica number under the current directory, and each replica runs the solver in it.
54+
55+
56+
Tips for the number of MPI processes
57+
========================================
58+
abICS uses the MPI library function ``MPI_Comm_spawn`` to run the solver.
59+
This function executes another program on new MPI processes.
60+
61+
For example, consider that you have a parallel machine with 4 CPU cores per node
62+
and want to run two replicas and to invoke solvers on 4 CPU cores.
63+
If invoked as ``mpiexec -np2 abics input.toml``, the replica control processes A and B are started on the first two cores of node 0,
64+
each starting a new four-parallel solver a and b.
65+
Then, solver a fills the remaining two cores in node 0 and the first two cores in node 1,
66+
and solver b is placed on the remaining two cores in node 1 and the first two cores in node 2.
67+
This causes inter-node communication within the solver and reduces performance.
68+
69+
By taking more of the initial process, you can align the processes and prevent unnecessary node stripping.
70+
In this example, ``mpiexec -np 4 abics input.toml`` will allow the replica control processes A and B to fill all the cores of the node 0, while solvers a and b fill nodes 1 and 2, respectively.
71+
72+
73+
Comments on MPI implementation
74+
====================================
75+
In the ``MPI_Comm_spawn`` function, a MPI implementation can use the information "how many process can be started in total" by ``MPI_UNIVERSE_SIZE``.
76+
In this seciton, we will comment on some MPI implementations including how to set ``MPI_UNIVERSE_SIZE``.
77+
78+
OpenMPI
79+
~~~~~~~~~~~~~
80+
``MPI_UNIVERSE_SIZE`` is automatically set to the number of the CPU cores available.
81+
If you want more processes, you should pass the ``--oversubscribe`` option to the ``mpiexec`` command.
82+
83+
When one of the spawned process returns a nonzero return code, all the OpenMPI processes will abort.
84+
The ``--mca orte_abort_on_non_zero_status 0`` option allows you to ignore the return code.
85+
Quantum ESPRESSO, for example, may return a nonzero value due to a floating point exception even if the calculation is successfully completed.
86+
87+
MPICH / Intel MPI
88+
~~~~~~~~~~~~~~~~~~~~~
89+
The ``-usize <num>`` option set ``MPI_UNIVERSE_SIZE``.
90+
Indeed, MPICH and Intel MPI seem not to use this value in ``MPI_Comm_spawn``.
91+
92+
HPE (SGI) MPT
93+
~~~~~~~~~~~~~~~~~~~
94+
The ``-up <num>`` option set ``MPI_UNIVERSE_SIZE``.
95+
This must be set before the ``-np <num>`` option.
96+
97+
Others
98+
~~~~~~~~~~
99+
On large supercomputers, the vendor may provide a dedicated MPI execution script along with the job scheduler.
100+
In this case, refer to the manuals.
101+
On the ISSP supercomputer systems, Sekirei and Enaga, for example, ``mpijob -spawn`` sets ``MPI_UNIVERSE_SIZE`` properly.
102+
103+
104+
The output of abics
105+
---------------------
106+
The calculation results are output below each replica directory.
107+
108+
``structure.XXX.vasp``
109+
=========================
110+
The atomic position for each step in the POSCAR file format of VASP is saved.
111+
``XXX`` in the filename means the index of the step.
112+
113+
``minE.vasp``
114+
====================
115+
The atomic position minimizing the total energy in the POSCAR file format of VASP is saved.
116+
117+
``obs.dat``
118+
===================
119+
The temperature and the total energy for each step in units of eV is saved.
120+
121+
``obs_save.npy``
122+
==================
123+
The total energy for each step in units of eV in the Numpy binary format is saved.
124+
Users can load it as ``darray`` by using ``numpy.load('obs_save.npy')``.
125+
126+
``kT_hist.npy``
127+
==================
128+
The temperature for each step in units of eV in the Numpy binary format is saved.
129+
Users can load it as ``darray`` by using ``numpy.load('kT_hist.npy')``.
130+
131+
``Trank_hist.npy``
132+
==================
133+
The rank (index) of the temperature for each step in the Numpy binary format is saved.
134+
Users can load it as ``darray`` by using ``numpy.load('Trank_hist.npy')``.
135+

docs/sphinx/en/build/html/_sources/install/install.rst.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
Download
44
~~~~~~~~~~~~~~~~~~~~~~
55

6-
The source codes of abICS can be obtained from `GitHub page <https://github.com/issp-center-dev/pymc-dev>`_ .
6+
The source codes of abICS can be obtained from `GitHub page <https://github.com/issp-center-dev/abICS>`_ .
77

8-
``$ git clone https://github.com/issp-center-dev/pymc-dev``
8+
``$ git clone https://github.com/issp-center-dev/abICS``
99

1010
Prerequisites
1111
~~~~~~~~~~~~~~~~~~~~~~

docs/sphinx/en/build/html/_static/alabaster.css

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,19 @@ div.sphinxsidebar hr {
166166
width: 50%;
167167
}
168168

169+
div.sphinxsidebar .badge {
170+
border-bottom: none;
171+
}
172+
173+
div.sphinxsidebar .badge:hover {
174+
border-bottom: none;
175+
}
176+
177+
/* To address an issue with donation coming after search */
178+
div.sphinxsidebar h3.donation {
179+
margin-top: 10px;
180+
}
181+
169182
/* -- body styles ----------------------------------------------------------- */
170183

171184
a {
@@ -314,7 +327,7 @@ p.admonition-title:after {
314327
}
315328

316329
pre, tt, code {
317-
font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
330+
font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
318331
font-size: 0.9em;
319332
}
320333

docs/sphinx/en/build/html/_static/basic.css

Lines changed: 113 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*
55
* Sphinx stylesheet -- basic theme.
66
*
7-
* :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.
7+
* :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
88
* :license: BSD, see LICENSE for details.
99
*
1010
*/
@@ -81,10 +81,26 @@ div.sphinxsidebar input {
8181
font-size: 1em;
8282
}
8383

84+
div.sphinxsidebar #searchbox form.search {
85+
overflow: hidden;
86+
}
87+
8488
div.sphinxsidebar #searchbox input[type="text"] {
85-
width: 170px;
89+
float: left;
90+
width: 80%;
91+
padding: 0.25em;
92+
box-sizing: border-box;
8693
}
8794

95+
div.sphinxsidebar #searchbox input[type="submit"] {
96+
float: left;
97+
width: 20%;
98+
border-left: none;
99+
padding: 0.25em;
100+
box-sizing: border-box;
101+
}
102+
103+
88104
img {
89105
border: 0;
90106
max-width: 100%;
@@ -199,6 +215,11 @@ table.modindextable td {
199215

200216
/* -- general body styles --------------------------------------------------- */
201217

218+
div.body {
219+
min-width: 450px;
220+
max-width: 800px;
221+
}
222+
202223
div.body p, div.body dd, div.body li, div.body blockquote {
203224
-moz-hyphens: auto;
204225
-ms-hyphens: auto;
@@ -210,6 +231,16 @@ a.headerlink {
210231
visibility: hidden;
211232
}
212233

234+
a.brackets:before,
235+
span.brackets > a:before{
236+
content: "[";
237+
}
238+
239+
a.brackets:after,
240+
span.brackets > a:after {
241+
content: "]";
242+
}
243+
213244
h1:hover > a.headerlink,
214245
h2:hover > a.headerlink,
215246
h3:hover > a.headerlink,
@@ -332,6 +363,11 @@ table.docutils {
332363
border-collapse: collapse;
333364
}
334365

366+
table.align-center {
367+
margin-left: auto;
368+
margin-right: auto;
369+
}
370+
335371
table caption span.caption-number {
336372
font-style: italic;
337373
}
@@ -365,6 +401,16 @@ table.citation td {
365401
border-bottom: none;
366402
}
367403

404+
th > p:first-child,
405+
td > p:first-child {
406+
margin-top: 0px;
407+
}
408+
409+
th > p:last-child,
410+
td > p:last-child {
411+
margin-bottom: 0px;
412+
}
413+
368414
/* -- figures --------------------------------------------------------------- */
369415

370416
div.figure {
@@ -405,6 +451,13 @@ table.field-list td, table.field-list th {
405451
hyphens: manual;
406452
}
407453

454+
/* -- hlist styles ---------------------------------------------------------- */
455+
456+
table.hlist td {
457+
vertical-align: top;
458+
}
459+
460+
408461
/* -- other body styles ----------------------------------------------------- */
409462

410463
ol.arabic {
@@ -427,11 +480,57 @@ ol.upperroman {
427480
list-style: upper-roman;
428481
}
429482

483+
li > p:first-child {
484+
margin-top: 0px;
485+
}
486+
487+
li > p:last-child {
488+
margin-bottom: 0px;
489+
}
490+
491+
dl.footnote > dt,
492+
dl.citation > dt {
493+
float: left;
494+
}
495+
496+
dl.footnote > dd,
497+
dl.citation > dd {
498+
margin-bottom: 0em;
499+
}
500+
501+
dl.footnote > dd:after,
502+
dl.citation > dd:after {
503+
content: "";
504+
clear: both;
505+
}
506+
507+
dl.field-list {
508+
display: flex;
509+
flex-wrap: wrap;
510+
}
511+
512+
dl.field-list > dt {
513+
flex-basis: 20%;
514+
font-weight: bold;
515+
word-break: break-word;
516+
}
517+
518+
dl.field-list > dt:after {
519+
content: ":";
520+
}
521+
522+
dl.field-list > dd {
523+
flex-basis: 70%;
524+
padding-left: 1em;
525+
margin-left: 0em;
526+
margin-bottom: 0em;
527+
}
528+
430529
dl {
431530
margin-bottom: 15px;
432531
}
433532

434-
dd p {
533+
dd > p:first-child {
435534
margin-top: 0px;
436535
}
437536

@@ -445,10 +544,14 @@ dd {
445544
margin-left: 30px;
446545
}
447546

448-
dt:target, .highlighted {
547+
dt:target, span.highlighted {
449548
background-color: #fbe54e;
450549
}
451550

551+
rect.highlighted {
552+
fill: #fbe54e;
553+
}
554+
452555
dl.glossary dt {
453556
font-weight: bold;
454557
font-size: 1.1em;
@@ -500,6 +603,12 @@ dl.glossary dt {
500603
font-style: oblique;
501604
}
502605

606+
.classifier:before {
607+
font-style: normal;
608+
margin: 0.5em;
609+
content: ":";
610+
}
611+
503612
abbr, acronym {
504613
border-bottom: dotted 1px;
505614
cursor: help;

0 commit comments

Comments
 (0)