docs: completed review of build section

This commit is contained in:
Richard Berger
2024-08-14 15:25:49 -06:00
parent 26f9a84c4f
commit 817f92d1fe
3 changed files with 81 additions and 48 deletions

View File

@ -181,24 +181,24 @@ The output of this command will be looking something like this:
$ ctest $ ctest
Test project /home/akohlmey/compile/lammps/build-testing Test project /home/akohlmey/compile/lammps/build-testing
Start 1: RunLammps Start 1: RunLammps
1/563 Test #1: RunLammps .......................................... Passed 0.28 sec 1/563 Test #1: RunLammps .................................. Passed 0.28 sec
Start 2: HelpMessage Start 2: HelpMessage
2/563 Test #2: HelpMessage ........................................ Passed 0.06 sec 2/563 Test #2: HelpMessage ................................ Passed 0.06 sec
Start 3: InvalidFlag Start 3: InvalidFlag
3/563 Test #3: InvalidFlag ........................................ Passed 0.06 sec 3/563 Test #3: InvalidFlag ................................ Passed 0.06 sec
Start 4: Tokenizer Start 4: Tokenizer
4/563 Test #4: Tokenizer .......................................... Passed 0.05 sec 4/563 Test #4: Tokenizer .................................. Passed 0.05 sec
Start 5: MemPool Start 5: MemPool
5/563 Test #5: MemPool ............................................ Passed 0.05 sec 5/563 Test #5: MemPool .................................... Passed 0.05 sec
Start 6: ArgUtils Start 6: ArgUtils
6/563 Test #6: ArgUtils ........................................... Passed 0.05 sec 6/563 Test #6: ArgUtils ................................... Passed 0.05 sec
[...] [...]
Start 561: ImproperStyle:zero Start 561: ImproperStyle:zero
561/563 Test #561: ImproperStyle:zero ................................. Passed 0.07 sec 561/563 Test #561: ImproperStyle:zero ......................... Passed 0.07 sec
Start 562: TestMliapPyUnified Start 562: TestMliapPyUnified
562/563 Test #562: TestMliapPyUnified ................................. Passed 0.16 sec 562/563 Test #562: TestMliapPyUnified ......................... Passed 0.16 sec
Start 563: TestPairList Start 563: TestPairList
563/563 Test #563: TestPairList ....................................... Passed 0.06 sec 563/563 Test #563: TestPairList ............................... Passed 0.06 sec
100% tests passed, 0 tests failed out of 563 100% tests passed, 0 tests failed out of 563
@ -216,21 +216,21 @@ The ``ctest`` command has many options, the most important ones are:
* - Option * - Option
- Function - Function
* - -V * - ``-V``
- verbose output: display output of individual test runs - verbose output: display output of individual test runs
* - -j <num> * - ``-j <num>``
- parallel run: run <num> tests in parallel - parallel run: run <num> tests in parallel
* - -R <regex> * - ``-R <regex>``
- run subset of tests matching the regular expression <regex> - run subset of tests matching the regular expression <regex>
* - -E <regex> * - ``-E <regex>``
- exclude subset of tests matching the regular expression <regex> - exclude subset of tests matching the regular expression <regex>
* - -L <regex> * - ``-L <regex>``
- run subset of tests with a label matching the regular expression <regex> - run subset of tests with a label matching the regular expression <regex>
* - -LE <regex> * - ``-LE <regex>``
- exclude subset of tests with a label matching the regular expression <regex> - exclude subset of tests with a label matching the regular expression <regex>
* - -N * - ``-N``
- dry-run: display list of tests without running them - dry-run: display list of tests without running them
* - -T memcheck * - ``-T memcheck``
- run tests with valgrind memory checker (if available) - run tests with valgrind memory checker (if available)
In its full implementation, the unit test framework will consist of multiple In its full implementation, the unit test framework will consist of multiple
@ -339,13 +339,13 @@ The force style test programs have a common set of options:
* - Option * - Option
- Function - Function
* - -g <newfile> * - ``-g <newfile>``
- regenerate reference data in new YAML file - regenerate reference data in new YAML file
* - -u * - ``-u``
- update reference data in the original YAML file - update reference data in the original YAML file
* - -s * - ``-s``
- print error statistics for each group of comparisons - print error statistics for each group of comparisons
* - -v * - ``-v``
- verbose output: also print the executed LAMMPS commands - verbose output: also print the executed LAMMPS commands
The ``ctest`` tool has no mechanism to directly pass flags to the individual The ``ctest`` tool has no mechanism to directly pass flags to the individual
@ -359,10 +359,10 @@ set in an environment variable ``TEST_ARGS``. Example:
To add a test for a style that is not yet covered, it is usually best To add a test for a style that is not yet covered, it is usually best
to copy a YAML file for a similar style to a new file, edit the details to copy a YAML file for a similar style to a new file, edit the details
of the style (how to call it, how to set its coefficients) and then of the style (how to call it, how to set its coefficients) and then
run test command with either the *-g* and the replace the initial run test command with either the ``-g`` and the replace the initial
test file with the regenerated one or the *-u* option. The *-u* option test file with the regenerated one or the ``-u`` option. The ``-u`` option
will destroy the original file, if the generation run does not complete, will destroy the original file, if the generation run does not complete,
so using *-g* is recommended unless the YAML file is fully tested so using ``-g`` is recommended unless the YAML file is fully tested
and working. and working.
Some of the force style tests are rather slow to run and some are very Some of the force style tests are rather slow to run and some are very
@ -512,6 +512,8 @@ After post-processing with ``gen_coverage_html`` the results are in
a folder ``coverage_html`` and can be viewed with a web browser. a folder ``coverage_html`` and can be viewed with a web browser.
The images below illustrate how the data is presented. The images below illustrate how the data is presented.
.. only:: not latex
.. list-table:: .. list-table::
* - .. figure:: JPG/coverage-overview-top.png * - .. figure:: JPG/coverage-overview-top.png
@ -534,6 +536,28 @@ The images below illustrate how the data is presented.
Source page with branches Source page with branches
.. only:: latex
.. figure:: JPG/coverage-overview-top.png
:width: 60%
Top of the overview page
.. figure:: JPG/coverage-overview-manybody.png
:width: 60%
Styles with good coverage
.. figure:: JPG/coverage-file-top.png
:width: 60%
Top of individual source page
.. figure:: JPG/coverage-file-branches.png
:width: 60%
Source page with branches
Coding style utilities Coding style utilities
---------------------- ----------------------

View File

@ -264,10 +264,17 @@ script with the specified args:
.. code-block:: bash .. code-block:: bash
make lib-gpu # print help message # print help message
make lib-gpu args="-b" # build GPU library with default Makefile.linux make lib-gpu
make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision
make lib-gpu args="-m mpi -a sm_60 -p mixed -b" # build GPU library with mixed precision and P100 using other settings in Makefile.mpi # build GPU library with default Makefile.linux
make lib-gpu args="-b"
# create new Makefile.xk7.single, altered for single-precision
make lib-gpu args="-m xk7 -p single -o xk7.single"
# build GPU library with mixed precision and P100 using other settings in Makefile.mpi
make lib-gpu args="-m mpi -a sm_60 -p mixed -b"
Note that this procedure starts with a Makefile.machine in lib/gpu, as Note that this procedure starts with a Makefile.machine in lib/gpu, as
specified by the ``-m`` switch. For your convenience, machine makefiles specified by the ``-m`` switch. For your convenience, machine makefiles
@ -476,9 +483,11 @@ Enabling the extra unit tests have some requirements,
Conda. More detailed information is available at: Conda. More detailed information is available at:
`kim-property installation <https://github.com/openkim/kim-property#installing-kim-property>`_. `kim-property installation <https://github.com/openkim/kim-property#installing-kim-property>`_.
* It is also necessary to install the following KIM models: * It is also necessary to install the following KIM models:
- ``EAM_Dynamo_MendelevAckland_2007v3_Zr__MO_004835508849_000``
- ``EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005`` * ``EAM_Dynamo_MendelevAckland_2007v3_Zr__MO_004835508849_000``
- ``LennardJones612_UniversalShifted__MO_959249795837_003`` * ``EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005``
* ``LennardJones612_UniversalShifted__MO_959249795837_003``
See `Obtaining KIM Models <https://openkim.org/doc/usage/obtaining-models>`_ See `Obtaining KIM Models <https://openkim.org/doc/usage/obtaining-models>`_
to learn how to install a pre-built binary of the OpenKIM Repository of to learn how to install a pre-built binary of the OpenKIM Repository of
Models or see Models or see

View File

@ -247,7 +247,7 @@ produce the additional libraries ``libfftw3f.a`` and/or ``libfftw3f.so``\ .
Performing 3d FFTs requires communication to transpose the 3d FFT Performing 3d FFTs requires communication to transpose the 3d FFT
grid. The data packing/unpacking for this can be done in one of 3 grid. The data packing/unpacking for this can be done in one of 3
modes (ARRAY, POINTER, MEMCPY) as set by the FFT_PACK syntax above. modes (ARRAY, POINTER, MEMCPY) as set by the ``FFT_PACK`` syntax above.
Depending on the machine, the size of the FFT grid, the number of Depending on the machine, the size of the FFT grid, the number of
processors used, one option may be slightly faster. The default is processors used, one option may be slightly faster. The default is
ARRAY mode. ARRAY mode.