precommit: Switch from markdownlint to mdformat

This commit is contained in:
Ole Schütt 2022-11-05 22:42:32 +01:00 committed by Ole Schütt
parent f95d3a4a5d
commit 786bc82ff9
35 changed files with 266 additions and 579 deletions

View file

@ -197,7 +197,7 @@ the FFTW3 threading library libfftw3_threads (or libfftw3_omp) is required.
- The version 5.1.0 (or later) of LIBXC can be downloaded from <https://www.tddft.org/programs/libxc>
- CP2K does not make use of fourth derivates such that LIBXC may be configured
with './configure --disable-lxc \<other LIBXC configuration flags\>'.
with './configure --disable-lxc \<other LIBXC configuration flags>'.
- During the installation, the directories `$(LIBXC_DIR)/lib`
and `$(LIBXC_DIR)/include` are created.
- Add `-D__LIBXC` to DFLAGS, `-I$(LIBXC_DIR)/include` to FCFLAGS
@ -333,8 +333,7 @@ should work out of the box on Nvidia hardware as well.
- Add `GPUVER=Mi50, Mi60, Mi100, Mi250`
- Add `OFFLOAD_CC = hipcc`
- Add `-lamdhip64` to the `LIBS` variable
- Add `OFFLOAD_FLAGS = '-fopenmp -m64 -pthread -fPIC -D__GRID_HIP -O2
--offload-arch=gfx908 --rocm-path=$(ROCM_PATH)'` where `ROCM_PATH` is the path
- Add `OFFLOAD_FLAGS = '-fopenmp -m64 -pthread -fPIC -D__GRID_HIP -O2 --offload-arch=gfx908 --rocm-path=$(ROCM_PATH)'` where `ROCM_PATH` is the path
where the rocm sdk resides. Architectures Mi250 (gfx90a), Mi100 (gfx908),
Mi50 (gfx906) the hip backend for the grid library supports nvidia hardware
as well. It uses the same code and can be used to validate the backend in case
@ -429,13 +428,13 @@ Alternatively, <https://dashboard.cp2k.org> provides sample arch files as part o
the testing reports (click on the status field, search for 'ARCH-file').
- With -DNDEBUG assertions may be stripped ("compiled out").
- NDEBUG is the ANSI-conforming symbol name (not __NDEBUG).
- NDEBUG is the ANSI-conforming symbol name (not \_\_NDEBUG).
- Regular release builds may carry assertions for safety.
Conventionally, there are six versions:
| Acronym | Meaning |
|---------|----------------------------------|
| Acronym | Meaning |
| ------- | -------------------------------- |
| sdbg | OpenMP + debug settings |
| sopt | OpenMP + OMP_NUM_THREADS=1 |
| ssmp | OpenMP |
@ -589,4 +588,4 @@ can be generated using the cp2k executable, see <https://manual.cp2k.org/trunk/g
## 8. Happy computing
The CP2K team.
The CP2K team.

View file

@ -22,7 +22,7 @@ To clone the current master (development version):
git clone --recursive https://github.com/cp2k/cp2k.git cp2k
```
Note the ``--recursive`` flag that is needed because CP2K uses git submodules.
Note the `--recursive` flag that is needed because CP2K uses git submodules.
To clone a release version v*x.y*:
@ -41,29 +41,29 @@ For building CP2K from scratch see the [installation instructions](./INSTALL.md)
## Links
* [CP2K.org](https://www.cp2k.org)
- [CP2K.org](https://www.cp2k.org)
for showcases of scientific work, tutorials, exercises, presentation slides, etc.
* [The manual](https://manual.cp2k.org/)
- [The manual](https://manual.cp2k.org/)
with descriptions of all the keywords for the CP2K input file
* [The dashboard](https://dashboard.cp2k.org)
- [The dashboard](https://dashboard.cp2k.org)
to get an overview of the currently tested architectures
* [The Google group](https://groups.google.com/group/cp2k) to get help if you
- [The Google group](https://groups.google.com/group/cp2k) to get help if you
could not find an answer in one of the previous links
* [Acknowledgements](https://www.cp2k.org/funding) for list of institutions and
- [Acknowledgements](https://www.cp2k.org/funding) for list of institutions and
grants that help to fund the development of CP2K
## Directory organization
* [`arch`](./arch): Collection of definitions for different architectures and compilers
* [`benchmarks`](./benchmarks): Inputs for benchmarks
* [`data`](./data): Simulation parameters e.g. basis sets and pseudopotentials
* [`exts`](./exts): Access to external libraries via GIT submodules
* [`src`](./src): The source code
* [`tests`](./tests): Inputs for tests and regression tests
* [`tools`](./tools): Mixed collection of useful scripts related to cp2k
- [`arch`](./arch): Collection of definitions for different architectures and compilers
- [`benchmarks`](./benchmarks): Inputs for benchmarks
- [`data`](./data): Simulation parameters e.g. basis sets and pseudopotentials
- [`exts`](./exts): Access to external libraries via GIT submodules
- [`src`](./src): The source code
- [`tests`](./tests): Inputs for tests and regression tests
- [`tools`](./tools): Mixed collection of useful scripts related to cp2k
Additional directories created during build process:
* `lib`: Libraries built during compilation
* `obj`: Objects and other intermediate compilation-time files
* `exe`: Where the executables will be located
- `lib`: Libraries built during compilation
- `obj`: Objects and other intermediate compilation-time files
- `exe`: Where the executables will be located

View file

@ -85,7 +85,7 @@ dependencies is
- CP2K_DEV_OPTIONS = OFF : enable developer options. the main purpose is for
debugging
- CP2K_USE_GRID_GPU = ON : turn on of gpu support for collocate integrate
- CP2K_USE_PW_GPU = ON, turn on or off gpu fft support
- CP2K_USE_DBM_GPU = ON turn on or off dbm gpu support
@ -120,17 +120,17 @@ with cray-libsci for instance)
The following list gives several examples of cmake command lines. Just add
`-DCP2K_USE_SIRIUS=ON` to add support of SIRIUS in cp2k
```shell cmake -DCP2K_INSTALL_PREFIX=/myprefix ..```
`shell cmake -DCP2K_INSTALL_PREFIX=/myprefix ..`
then
```shell make```
`shell make`
- MKL
the command line is
```shell cmake -DCP2K_INSTALL_PREFIX=/myprefix -DCP2K_BLAS_VENDOR=MKL
````shell cmake -DCP2K_INSTALL_PREFIX=/myprefix -DCP2K_BLAS_VENDOR=MKL
-DCP2K_SCALAPACK_VENDOR=MKL ..```
- Cray environments (with cray-libsci)
@ -177,3 +177,4 @@ from time to time. Update to ROCM 5.3.x or above to solve the issue.
present. '-DCP2k_BLAS_VENDOR=OpenBLAS' will also help cmake to find OpenBLAS if
it is used. Detecting the scalapack library might also fail if the user
environment is not properly set up.
````

View file

@ -21,13 +21,11 @@ for the MM part of a QM/MM calculation.
The best configurations are shown below.
Click the links under "Detailed Results" to see more detail.
<!-- markdownlint-disable MD013 -->
| Machine Name | Architecture | Date | SVN Revision | Fastest time (s) | Number of Cores | Number of Threads | Detailed Results |
| ------------ | ------------ | ---------- | ------------ | ---------------- | --------------- | --------------------------------- | ---------------- |
| HECToR | Cray XE6 | 21/1/2014 | 13196 | 403.928 | 512 cores | 2 OMP threads per MPI task | [hector-h2o-64](https://www.cp2k.org/performance:hector-h2o-64) |
| ARCHER | Cray XC30 | 9/1/2014 | 13473 | 197.117 | 576 cores | 1 OMP thread per MPI task | [archer-h2o-64](https://www.cp2k.org/performance:archer-h2o-64) |
| Magnus | Cray XC40 | 6/11/2014 | 14377 | 150.493 | 384 cores | 1 OMP thread per MPI task | [magnus-h2o-64](https://www.cp2k.org/performance:magnus-h2o-64) |
| Machine Name | Architecture | Date | SVN Revision | Fastest time (s) | Number of Cores | Number of Threads | Detailed Results |
| ------------ | ------------ | ---------- | ------------ | ---------------- | --------------- | --------------------------------- | --------------------------------------------------------------------- |
| HECToR | Cray XE6 | 21/1/2014 | 13196 | 403.928 | 512 cores | 2 OMP threads per MPI task | [hector-h2o-64](https://www.cp2k.org/performance:hector-h2o-64) |
| ARCHER | Cray XC30 | 9/1/2014 | 13473 | 197.117 | 576 cores | 1 OMP thread per MPI task | [archer-h2o-64](https://www.cp2k.org/performance:archer-h2o-64) |
| Magnus | Cray XC40 | 6/11/2014 | 14377 | 150.493 | 384 cores | 1 OMP thread per MPI task | [magnus-h2o-64](https://www.cp2k.org/performance:magnus-h2o-64) |
| Piz Daint | Cray XC30 | 12/05/2015 | 15268 | 207.972 | 192 cores | 1 OMP thread per MPI task, no GPU | [piz-daint-h2o-64](https://www.cp2k.org/performance:piz-daint-h2o-64) |
| Cirrus | SGI ICE XA | 24/11/2016 | 7566 | 166.192 | 1152 cores | 9 OMP threads per MPI task | [cirrus-h2o-64](https://www.cp2k.org/performance:cirrus-h2o-64) |
| Noctua | Cray CS500 | 25/09/2019 | 9f58d81 | 119.820 | 640 cores | 10 OMP thread per MPI task | [noctua-h2o-64](https://www.cp2k.org/performance:noctua-h2o-64) |
<!-- markdownlint-enable MD013 -->
| Cirrus | SGI ICE XA | 24/11/2016 | 7566 | 166.192 | 1152 cores | 9 OMP threads per MPI task | [cirrus-h2o-64](https://www.cp2k.org/performance:cirrus-h2o-64) |
| Noctua | Cray CS500 | 25/09/2019 | 9f58d81 | 119.820 | 640 cores | 10 OMP thread per MPI task | [noctua-h2o-64](https://www.cp2k.org/performance:noctua-h2o-64) |

View file

@ -14,17 +14,17 @@ Generalized Hybrid Orbital (GHO) method.
## Files description
``CBD_PHY.inp`` - CP2K input file.
`CBD_PHY.inp` - CP2K input file.
``CBD_PHY.prmtop`` - Amber forcefield for MM atoms. The Amber03 forcefield and
`CBD_PHY.prmtop` - Amber forcefield for MM atoms. The Amber03 forcefield and
the TIP3P water model are used.
``CBD_PHY.pdb`` - Atomic input coordinates.
`CBD_PHY.pdb` - Atomic input coordinates.
## Results
### MD Energy file
<!-- markdownlint-disable MD013 -->
```cp2k-output
# Step Nr. Time[fs] Kin.[a.u.] Temp[K] Pot.[a.u.] Cons Qty[a.u.] UsedTime[s]
0 0.000000 239.300084734 300.000000000 -1095.757596412 -856.457511678 0.000000000
@ -34,14 +34,11 @@ the TIP3P water model are used.
4 4.000000 237.524625019 297.774184180 -1087.284636223 -849.760011204 26.518459213
5 5.000000 245.799648725 308.148217747 -1101.835669561 -856.036020836 27.761591604
```
<!-- markdownlint-enable MD013 -->
### Best Configurations
The best configurations are shown below.
<!-- markdownlint-disable MD013 -->
| Machine Name | Architecture | Date | Commit No. | Fastest time (s) | Number of Cores | Number of Threads |
| ------------ | ------------ | ---------- | -----------| ---------------- | --------------- | --------------------------------- |
| ARCHER | Cray XC30 | 07/06/2020 | 6e0731f | 358.478 | 576 | 6 OMP threads per MPI task |
<!-- markdownlint-enable MD013 -->
| Machine Name | Architecture | Date | Commit No. | Fastest time (s) | Number of Cores | Number of Threads |
| ------------ | ------------ | ---------- | ---------- | ---------------- | --------------- | -------------------------- |
| ARCHER | Cray XC30 | 07/06/2020 | 6e0731f | 358.478 | 576 | 6 OMP threads per MPI task |

View file

@ -20,20 +20,19 @@ See also <https://doi.org/10.1021/acs.jctc.9b00424>.
## Files description
``ClC-19.inp`` - ClC with 19 QM atoms.
`ClC-19.inp` - ClC with 19 QM atoms.
``ClC-253.inp`` - ClC with 253 QM atoms.
`ClC-253.inp` - ClC with 253 QM atoms.
``ClC.prmtop`` - Amber forcefield for MM atoms. The Amber14 forcefield and
`ClC.prmtop` - Amber forcefield for MM atoms. The Amber14 forcefield and
the TIP3P water model are used.
``ClC.pdb`` - Atomic input coordinates.
`ClC.pdb` - Atomic input coordinates.
## Results
### MD Energy file for ClC-19
<!-- markdownlint-disable MD013 -->
```cp2k-output
# Step Nr. Time[fs] Kin.[a.u.] Temp[K] Pot.[a.u.] Cons Qty[a.u.] UsedTime[s]
0 0.000000 215.076797492 300.000000000 -596.086687006 -381.009889515 0.000000000
@ -58,13 +57,12 @@ the TIP3P water model are used.
### Best Configuration for ClC-19
| Machine Name | Architecture | Date | Commit No. | Fastest time (s) | Number of Cores | Number of Threads |
| ------------ | ------------ | ---------- | -----------| ---------------- | --------------- | --------------------------------- |
| ARCHER | Cray XC30 | 16/06/2020 | 6e0731f | 225.171 | 384 | 4 OMP threads per MPI task |
| Machine Name | Architecture | Date | Commit No. | Fastest time (s) | Number of Cores | Number of Threads |
| ------------ | ------------ | ---------- | ---------- | ---------------- | --------------- | -------------------------- |
| ARCHER | Cray XC30 | 16/06/2020 | 6e0731f | 225.171 | 384 | 4 OMP threads per MPI task |
### Best Configuration for ClC-253
| Machine Name | Architecture | Date | Commit No. | Fastest time (s) | Number of Cores | Number of Threads |
| ------------ | ------------ | ---------- | -----------| ---------------- | --------------- | --------------------------------- |
| ARCHER | Cray XC30 | 16/06/2020 | 6e0731f | 937.151 | 576 | 6 OMP threads per MPI task |
<!-- markdownlint-enable MD013 -->
| Machine Name | Architecture | Date | Commit No. | Fastest time (s) | Number of Cores | Number of Threads |
| ------------ | ------------ | ---------- | ---------- | ---------------- | --------------- | -------------------------- |
| ARCHER | Cray XC30 | 16/06/2020 | 6e0731f | 937.151 | 576 | 6 OMP threads per MPI task |

View file

@ -17,17 +17,17 @@ See also <https://doi.org/10.1021/acs.jctc.9b00424>.
## Files description
``MQAE.inp`` - CP2K input file.
`MQAE.inp` - CP2K input file.
``MQAE.prmtop`` - Amber forcefield for MM atoms. The Amber14 forcefield and
`MQAE.prmtop` - Amber forcefield for MM atoms. The Amber14 forcefield and
the SPCE water model are used.
``MQAE.pdb`` - Atomic input coordinates.
`MQAE.pdb` - Atomic input coordinates.
## Results
### MD Energy file
<!-- markdownlint-disable MD013 -->
```cp2k-output
# Step Nr. Time[fs] Kin.[a.u.] Temp[K] Pot.[a.u.] Cons Qty[a.u.] UsedTime[s]
0 0.000000 10.239105709 300.000000000 -191.999316391 -181.760210683 0.000000000
@ -42,7 +42,6 @@ the SPCE water model are used.
The best configurations are shown below.
| Machine Name | Architecture | Date | Commit No. | Fastest time (s) | Number of Cores | Number of Threads |
| ------------ | ------------ | ---------- | -----------| ---------------- | --------------- | --------------------------------- |
| ARCHER | Cray XC30 | 16/06/2020 | 6e0731f | 72.439 | 384 | 6 OMP threads per MPI task |
<!-- markdownlint-enable MD013 -->
| Machine Name | Architecture | Date | Commit No. | Fastest time (s) | Number of Cores | Number of Threads |
| ------------ | ------------ | ---------- | ---------- | ---------------- | --------------- | -------------------------- |
| ARCHER | Cray XC30 | 16/06/2020 | 6e0731f | 72.439 | 384 | 6 OMP threads per MPI task |

View file

@ -35,13 +35,11 @@ initial guess of the electronic density is made based on Atomic Orbitals.
The best configurations are shown below.
Click the links under "Detailed Results" to see more detail.
<!-- markdownlint-disable MD013 -->
| Machine Name | Architecture | Date | SVN Revision | Fastest time (s) | Number of Cores | Number of Threads | Detailed Results |
| ------------ | ------------ | ---------- | ------------ | ---------------- | --------------- | --------------------------------- | ---------------- |
| HECToR | Cray XE6 | 21/1/2014 | 13196 | 39.066 | 512 cores | 2 OMP threads per MPI task | [hector-h2o-64](https://www.cp2k.org/performance:hector-h2o-64) |
| ARCHER | Cray XC30 | 8/1/2014 | 13473 | 18.11 | 576 cores | 1 OMP thread per MPI task | [archer-h2o-64](https://www.cp2k.org/performance:archer-h2o-64) |
| Magnus | Cray XC40 | 22/10/2014 | 14377 | 17.275 | 384 cores | 1 OMP thread per MPI task | [magnus-h2o-64](https://www.cp2k.org/performance:magnus-h2o-64) |
| Machine Name | Architecture | Date | SVN Revision | Fastest time (s) | Number of Cores | Number of Threads | Detailed Results |
| ------------ | ------------ | ---------- | ------------ | ---------------- | --------------- | --------------------------------- | --------------------------------------------------------------------- |
| HECToR | Cray XE6 | 21/1/2014 | 13196 | 39.066 | 512 cores | 2 OMP threads per MPI task | [hector-h2o-64](https://www.cp2k.org/performance:hector-h2o-64) |
| ARCHER | Cray XC30 | 8/1/2014 | 13473 | 18.11 | 576 cores | 1 OMP thread per MPI task | [archer-h2o-64](https://www.cp2k.org/performance:archer-h2o-64) |
| Magnus | Cray XC40 | 22/10/2014 | 14377 | 17.275 | 384 cores | 1 OMP thread per MPI task | [magnus-h2o-64](https://www.cp2k.org/performance:magnus-h2o-64) |
| Piz Daint | Cray XC30 | 12/05/2015 | 15268 | 19.885 | 192 cores | 1 OMP thread per MPI task, no GPU | [piz-daint-h2o-64](https://www.cp2k.org/performance:piz-daint-h2o-64) |
| Cirrus | SGI ICE XA | 24/11/2016 | 17566 | 15.560 | 1152 cores | 9 OMP threads per MPI task | [cirrus-h2o-64](https://www.cp2k.org/performance:cirrus-h2o-64) |
| Noctua | Cray CS500 | 25/09/2019 | 9f58d81 | 13.3 | 640 cores | 10 OMP threads per MPI task | [noctua-h2o-64](https://www.cp2k.org/performance:noctua-h2o-64) |
<!-- markdownlint-enable MD013 -->
| Cirrus | SGI ICE XA | 24/11/2016 | 17566 | 15.560 | 1152 cores | 9 OMP threads per MPI task | [cirrus-h2o-64](https://www.cp2k.org/performance:cirrus-h2o-64) |
| Noctua | Cray CS500 | 25/09/2019 | 9f58d81 | 13.3 | 640 cores | 10 OMP threads per MPI task | [noctua-h2o-64](https://www.cp2k.org/performance:noctua-h2o-64) |

View file

@ -41,16 +41,14 @@ the number of atoms scales cubically with `NREP`.
The best configurations are shown below.
Click the links under "Detailed Results" to see more detail.
<!-- markdownlint-disable MD013 -->
| Machine Name | Architecture | Date | SVN Revision | Fastest time (s) | Number of Cores | Number of Threads | Detailed Results |
| ------------ | ------------ | ---------- | ------------ | ---------------- | --------------- | ---------------------------------- | ---------------- |
| HECToR | Cray XE6 | 16/1/2014 | 13196 | 98.256 | 65536 | 8 OMP threads per MPI task | [hector-h2o-dft-ls](https://www.cp2k.org/performance:hector-h2o-dft-ls) |
| ARCHER | Cray XC30 | 8/1/2014 | 13473 | 28.476 | 49152 | 4 OMP threads per MPI task | [archer-h2o-dft-ls](https://www.cp2k.org/performance:archer-h2o-dft-ls) |
| Magnus | Cray XC40 | 3/12/2014 | 14377 | 30.921 | 24576 | 2 OMP threads per MPI task | [magnus-h2o-dft-ls](https://www.cp2k.org/performance:magnus-h2o-dft-ls) |
| Machine Name | Architecture | Date | SVN Revision | Fastest time (s) | Number of Cores | Number of Threads | Detailed Results |
| ------------ | ------------ | ---------- | ------------ | ---------------- | --------------- | ---------------------------------- | ----------------------------------------------------------------------------- |
| HECToR | Cray XE6 | 16/1/2014 | 13196 | 98.256 | 65536 | 8 OMP threads per MPI task | [hector-h2o-dft-ls](https://www.cp2k.org/performance:hector-h2o-dft-ls) |
| ARCHER | Cray XC30 | 8/1/2014 | 13473 | 28.476 | 49152 | 4 OMP threads per MPI task | [archer-h2o-dft-ls](https://www.cp2k.org/performance:archer-h2o-dft-ls) |
| Magnus | Cray XC40 | 3/12/2014 | 14377 | 30.921 | 24576 | 2 OMP threads per MPI task | [magnus-h2o-dft-ls](https://www.cp2k.org/performance:magnus-h2o-dft-ls) |
| Piz Daint | Cray XC30 | 12/05/2015 | 15268 | 27.900 | 32768 | 2 OMP threads per MPI task, no GPU | [piz-daint-h2o-dft-ls](https://www.cp2k.org/performance:piz-daint-h2o-dft-ls) |
| Cirrus | SGI ICE XA | 24/11/2016 | 17566 | 543.032 | 2016 | 2 OMP threads per MPI task | [cirrus-h2o-dft-ls](https://www.cp2k.org/performance:cirrus-h2o-dft-ls) |
| Noctua | Cray CS500 | 25/09/2019 | 9f58d81 | 37.730 | 10240 | 10 OMP threads per MPI task | [noctua-h2o-dft-ls](https://www.cp2k.org/performance:noctua-h2o-dft-ls) |
<!-- markdownlint-enable MD013 -->
| Cirrus | SGI ICE XA | 24/11/2016 | 17566 | 543.032 | 2016 | 2 OMP threads per MPI task | [cirrus-h2o-dft-ls](https://www.cp2k.org/performance:cirrus-h2o-dft-ls) |
| Noctua | Cray CS500 | 25/09/2019 | 9f58d81 | 37.730 | 10240 | 10 OMP threads per MPI task | [noctua-h2o-dft-ls](https://www.cp2k.org/performance:noctua-h2o-dft-ls) |
### Weak Scaling on Piz Daint, CSCS
@ -67,26 +65,24 @@ Following results were obtained in the following conditions:
while the cells marked with an `X` crashed with out-of-memory errors, and the
cells left empty weren't measured.
| nodes / NREP | NREP=1 | NREP=2 | NREP=3 | NREP=4 | NREP=6 | NREP=8 | NREP=9 |
| ------------- | ----- | ----- | ----- | ----- | ----- | ----- | ----- |
| 1 node | 7.4 | 60.3 | X | | | | |
| 2 nodes | 7.4 | 35.0 | 269.4 | X | | | |
| 4 nodes | 9.9 | 22.7 | 149.8 | X | | | |
| 6 nodes | 12.1 | 19.7 | 113.0 | X | | | |
| 8 nodes | 11.4 | 16.4 | 90.2 | 253.4 | X | | |
| 12 nodes | 15.5 | 21.7 | 71.5 | 193.8 | X | | |
| 16 nodes | 15.5 | 20.8 | 61.5 | 159.2 | X | | |
| 24 nodes | 22.0 | 24.7 | 51.8 | 130.2 | X | | |
| 32 nodes | 15.9 | 20.4 | 42.8 | 101.8 | 352.9 | X | |
| 36 nodes | 21.9 | 25.6 | 44.0 | 99.8 | 333.0 | X | |
| 48 nodes | 24.5 | 34.1 | 42.0 | 84.1 | 277.9 | X | |
| 64 nodes | 24.9 | 29.0 | 40.4 | 79.7 | 257.5 | X | |
| 128 nodes | 26.3 | 32.8 | 36.6 | 62.5 | 181.9 | 400.6 | X |
| nodes / NREP | NREP=1 | NREP=2 | NREP=3 | NREP=4 | NREP=6 | NREP=8 | NREP=9 |
| ------------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ |
| 1 node | 7.4 | 60.3 | X | | | | |
| 2 nodes | 7.4 | 35.0 | 269.4 | X | | | |
| 4 nodes | 9.9 | 22.7 | 149.8 | X | | | |
| 6 nodes | 12.1 | 19.7 | 113.0 | X | | | |
| 8 nodes | 11.4 | 16.4 | 90.2 | 253.4 | X | | |
| 12 nodes | 15.5 | 21.7 | 71.5 | 193.8 | X | | |
| 16 nodes | 15.5 | 20.8 | 61.5 | 159.2 | X | | |
| 24 nodes | 22.0 | 24.7 | 51.8 | 130.2 | X | | |
| 32 nodes | 15.9 | 20.4 | 42.8 | 101.8 | 352.9 | X | |
| 36 nodes | 21.9 | 25.6 | 44.0 | 99.8 | 333.0 | X | |
| 48 nodes | 24.5 | 34.1 | 42.0 | 84.1 | 277.9 | X | |
| 64 nodes | 24.9 | 29.0 | 40.4 | 79.7 | 257.5 | X | |
| 128 nodes | 26.3 | 32.8 | 36.6 | 62.5 | 181.9 | 400.6 | X |
<!-- markdownlint-disable MD013 -->
| nodes / NREP | NREP=6 | NREP=8 | NREP=9 | NREP=10 | NREP=11 | NREP=12 | NREP=13 | NREP=14 | NREP=16 | NREP=18 | NREP=19 | NREP=20 |
| ------------- | ----- | ----- | ----- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- |
| 256 nodes | 132.6 | 262.3 | 359.2 | 498.8 | 647.1 | X | | | | | | |
| 512 nodes | 106.0 | 212.5 | 290.2 | 409.2 | 534.0 | 732.3 | 875.2 | 1030.1 | X | | | |
| 1024 nodes | 98.1 | 168.9 | | 284.7 | | 510.8 | | 786.5 | 1161.1 | 1607.3 | 1872.8 | X |
<!-- markdownlint-enable MD013 -->
| nodes / NREP | NREP=6 | NREP=8 | NREP=9 | NREP=10 | NREP=11 | NREP=12 | NREP=13 | NREP=14 | NREP=16 | NREP=18 | NREP=19 | NREP=20 |
| ------------ | ------ | ------ | ------ | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- |
| 256 nodes | 132.6 | 262.3 | 359.2 | 498.8 | 647.1 | X | | | | | | |
| 512 nodes | 106.0 | 212.5 | 290.2 | 409.2 | 534.0 | 732.3 | 875.2 | 1030.1 | X | | | |
| 1024 nodes | 98.1 | 168.9 | | 284.7 | | 510.8 | | 786.5 | 1161.1 | 1607.3 | 1872.8 | X |

View file

@ -29,7 +29,7 @@ avoid recomputing any integrals on-the-fly, improving performance.
## Benchmark Requirements
To run these this benchmark, CP2K needs to be compiled with libint support
(-D__LIBINT), and it is advantageous to have a OMP/MPI hybrid code (cp2k.psmp).
(-D\_\_LIBINT), and it is advantageous to have a OMP/MPI hybrid code (cp2k.psmp).
## How to Run the Benchmark
@ -41,7 +41,7 @@ To run these this benchmark, CP2K needs to be compiled with libint support
cp LiH_bulk_3-RESTART.wfn B88.wfn
```
2. run `input_bulk_HFX_3.inp` on a number of nodes (about 30min on 2048 cores)
1. run `input_bulk_HFX_3.inp` on a number of nodes (about 30min on 2048 cores)
The obtained energies should be similar to (obtained on 2048 MPI x 8 OMP cores):
@ -108,18 +108,16 @@ BASIS_SET OPT1
The best configurations are shown below. Click the links under
"Detailed Results" to see more detail.
<!-- markdownlint-disable MD013 -->
| Machine Name | Architecture | Date | SVN Revision | Fastest time (s) | Number of cores | Number of threads | Detailed results |
| ------------:| ------------:| ----------:| ------------:| ----------------:| ---------------:| ----------------------------------:| ----------------:|
| HECToR | Cray XE6 | 21/1/2014 | 13196(*) | 121.362 | 65536 | 8 OMP threads per MPI task | [hector-lih-hfx](https://www.cp2k.org/performance:hector-lih-hfx) |
| ARCHER | Cray XC30 | 9/1/2014 | 13473(*) | 51.172 | 49152 | 6 OMP threads per MPI task | [archer-lih-hfx](https://www.cp2k.org/performance:archer-lih-hfx) |
| Magnus | Cray XC40 | 10/11/2014 | 14377(*) | 62.075 | 24576 | 4 OMP threads per MPI task | [magnus-lih-hfx](https://www.cp2k.org/performance:magnus-lih-hfx) |
| Piz Daint | Cray XC30 | 12/05/2015 | 15268 | 66.051 | 32768 | 4 OMP threads per MPI task, no GPU | [piz-daint-lih-hfx](https://www.cp2k.org/performance:piz-daint-lih-hfx) |
| Cirrus | SGI ICE XA | 24/11/2016 | 17566 | 483.676 | 2016 | 6 OMP threads per MPI task | [cirrus-lih-hfx](https://www.cp2k.org/performance:cirrus-lih-hfx) |
| Noctua | Cray CS500 | 25/09/2019 | 9f58d81 | 131.290 | 10240 | 4 OMP threads per MPI task | [noctua-lih-hfx](https://www.cp2k.org/performance:noctua-lih-hfx) |
<!-- markdownlint-enable MD013 -->
| Machine Name | Architecture | Date | SVN Revision | Fastest time (s) | Number of cores | Number of threads | Detailed results |
| -----------: | -----------: | ---------: | -----------: | ---------------: | --------------: | ---------------------------------: | ----------------------------------------------------------------------: |
| HECToR | Cray XE6 | 21/1/2014 | 13196(\*) | 121.362 | 65536 | 8 OMP threads per MPI task | [hector-lih-hfx](https://www.cp2k.org/performance:hector-lih-hfx) |
| ARCHER | Cray XC30 | 9/1/2014 | 13473(\*) | 51.172 | 49152 | 6 OMP threads per MPI task | [archer-lih-hfx](https://www.cp2k.org/performance:archer-lih-hfx) |
| Magnus | Cray XC40 | 10/11/2014 | 14377(\*) | 62.075 | 24576 | 4 OMP threads per MPI task | [magnus-lih-hfx](https://www.cp2k.org/performance:magnus-lih-hfx) |
| Piz Daint | Cray XC30 | 12/05/2015 | 15268 | 66.051 | 32768 | 4 OMP threads per MPI task, no GPU | [piz-daint-lih-hfx](https://www.cp2k.org/performance:piz-daint-lih-hfx) |
| Cirrus | SGI ICE XA | 24/11/2016 | 17566 | 483.676 | 2016 | 6 OMP threads per MPI task | [cirrus-lih-hfx](https://www.cp2k.org/performance:cirrus-lih-hfx) |
| Noctua | Cray CS500 | 25/09/2019 | 9f58d81 | 131.290 | 10240 | 4 OMP threads per MPI task | [noctua-lih-hfx](https://www.cp2k.org/performance:noctua-lih-hfx) |
(*) Prior to r14945, a bug resulted in an underestimation of the number of ERIs
(\*) Prior to r14945, a bug resulted in an underestimation of the number of ERIs
which should be computed (by roughly 50% for this benchmark. Therefore these
results cannot be compared directly with later ones.
@ -128,12 +126,12 @@ results cannot be compared directly with later ones.
Running on ORNL's Cray XT5 (Jaguar) the following runtime has been obtained in a
setup using 8 OMP threads per node (8 cores per node / 16 Gb per node).
| Cores | Full CP2K[s] | HFX[s] | local HFX[s] | Mem/node[Mb] |
| -----:| ------------:| -------:| ------------:| ------------:|
| 1024 | 6569.07 | 6488.24 | 6406.99 | 14845.00 |
| 2048 | 1369.92 | 1314.86 | 1259.82 | 13468.00 |
| 4096 | 722.24 | 670.18 | 631.11 | 7293.00 |
| 8192 | 402.18 | 352.21 | 317.59 | 4306.00 |
| 16384 | 274.41 | 213.88 | 172.88 | 2801.00 |
| 32768 | 201.71 | 135.47 | 85.29 | 2046.00 |
| 65536 | 255.97 | 117.33 | 41.43 | 1673.00 |
| Cores | Full CP2K\[s\] | HFX\[s\] | local HFX\[s\] | Mem/node\[Mb\] |
| ----: | -------------: | -------: | -------------: | -------------: |
| 1024 | 6569.07 | 6488.24 | 6406.99 | 14845.00 |
| 2048 | 1369.92 | 1314.86 | 1259.82 | 13468.00 |
| 4096 | 722.24 | 670.18 | 631.11 | 7293.00 |
| 8192 | 402.18 | 352.21 | 317.59 | 4306.00 |
| 16384 | 274.41 | 213.88 | 172.88 | 2801.00 |
| 32768 | 201.71 | 135.47 | 85.29 | 2046.00 |
| 65536 | 255.97 | 117.33 | 41.43 | 1673.00 |

View file

@ -18,8 +18,8 @@ To run the benchmark, CP2K needs to be compiled with libint support (`-D__LIBINT
## Results on Piz Dora, CSCS
| Input File | Configuration | Total Number of Cores| Runtime [s] |
| ---------- | -------------------------:| --------------------:| ------------:|
| GW.inp | 16 nodes x 36 MPI x 1 OMP | 576 | 305 |
| Input File | Configuration | Total Number of Cores | Runtime \[s\] |
| ---------- | ------------------------: | --------------------: | ------------: |
| GW.inp | 16 nodes x 36 MPI x 1 OMP | 576 | 305 |
The timings have been obtained on CRAY-XC40 (PizDora@CSCS)

View file

@ -16,17 +16,16 @@
1. run `H2O-128-PBE-TZ.inp`: this will generate the file `H2O-128-PBE-TZ-RESTART.wfn`,
necessary for the benchmark run.
2. run `H2O-128-RI-dRPA-TZ.inp` for the RI-RPA benchmark.
1. run `H2O-128-RI-dRPA-TZ.inp` for the RI-RPA benchmark.
## Results
### Results on Piz Daint, CSCS
<!-- markdownlint-disable MD013 -->
| Input File | Date | CP2K Git SHA | Number of nodes | Node Configuration | Runtime |
| ---------------------- | ---------- | ------------:| ---------------:| ------------------- | ------- |
| H2O-128-PBE-TZ.inp | 2019-08-19 | 4519a8ad7 | 4 nodes | 12 MPI x 1 OMP | ~2 min |
| H2O-128-RI-dRPA-TZ.inp | 2019-08-19 | 4519a8ad7 | 128 nodes | 2 MPI x 6 OMP | 80 min |
| H2O-128-RI-dRPA-TZ.inp | 2019-12-03 | 78cea8eee | 1024 nodes | 2 MPI x 6 OMP | 487 sec |
<!-- markdownlint-enable MD013 -->
*) The timings have been obtained on CRAY-XC50 (PizDaint@CSCS, GPU partition)
| Input File | Date | CP2K Git SHA | Number of nodes | Node Configuration | Runtime |
| ---------------------- | ---------- | -----------: | --------------: | ------------------ | ------- |
| H2O-128-PBE-TZ.inp | 2019-08-19 | 4519a8ad7 | 4 nodes | 12 MPI x 1 OMP | ~2 min |
| H2O-128-RI-dRPA-TZ.inp | 2019-08-19 | 4519a8ad7 | 128 nodes | 2 MPI x 6 OMP | 80 min |
| H2O-128-RI-dRPA-TZ.inp | 2019-12-03 | 78cea8eee | 1024 nodes | 2 MPI x 6 OMP | 487 sec |
\*) The timings have been obtained on CRAY-XC50 (PizDaint@CSCS, GPU partition)

View file

@ -23,16 +23,16 @@ are taken from [cp2k/data](../../../data) directory.
1. run `H2O-32-PBE-TZ.inp`: this will generate the file `H2O-32-PBE-TZ-RESTART.wfn`,
necessary for the two benchmark runs.
2. run `H2O-32-RI-MP2-TZ.inp` for the RI-MP2 benchmark.
3. and/or run `H2O-32-RI-dRPA-TZ.inp` for the RI-RPA benchmark.
1. run `H2O-32-RI-MP2-TZ.inp` for the RI-MP2 benchmark.
1. and/or run `H2O-32-RI-dRPA-TZ.inp` for the RI-RPA benchmark.
## Results
### Results on Piz Dora, CSCS
| Input File | Configuration | Total Number of Cores| Runtime [s] |
| ---------- | -------------------------:| --------------------:| ------------:|
| RI-MP2.inp | 16 nodes x 16 MPI x 1 OMP | 256 | 392 |
| RI-RPA.inp | 16 nodes x 16 MPI x 1 OMP | 256 | 221 |
| Input File | Configuration | Total Number of Cores | Runtime \[s\] |
| ---------- | ------------------------: | --------------------: | ------------: |
| RI-MP2.inp | 16 nodes x 16 MPI x 1 OMP | 256 | 392 |
| RI-RPA.inp | 16 nodes x 16 MPI x 1 OMP | 256 | 221 |
*) The timings have been obtained on CRAY-XC40 (PizDora@CSCS)
\*) The timings have been obtained on CRAY-XC40 (PizDora@CSCS)

View file

@ -24,8 +24,8 @@ RI-MP2 run, and can be found in the [cp2k/data](../../../data) directory.
1. run `H2O-64-PBE-TZ.inp`: this will generate the file `H2O-64-PBE-TZ-RESTART.wfn`,
necessary for the two benchmark runs.
2. run `H2O-64-RI-MP2-TZ.inp` for the RI-MP2 benchmark.
3. and/or run `H2O-64-RI-dRPA-TZ.inp` for the RI-RPA benchmark.
1. run `H2O-64-RI-MP2-TZ.inp` for the RI-MP2 benchmark.
1. and/or run `H2O-64-RI-dRPA-TZ.inp` for the RI-RPA benchmark.
## Results
@ -34,33 +34,30 @@ RI-MP2 run, and can be found in the [cp2k/data](../../../data) directory.
The best configurations are shown below.
Click the links under "Detailed Results"to see more detail.
<!-- markdownlint-disable MD013 -->
| Machine Name | Architecture | Date | SVN Revision | Fastest time (s) | Number of Cores | Number of Threads | Detailed Results |
| ------------ | ------------ | ---------- | ------------ | ---------------- | --------------- | ---------------------------------- | ---------------- |
| HECToR | Cray XE6 | 13/01/2014 | 13196 | 141.633 | 49152 | 8 OMP threads per MPI task | [hector-h2o-64-ri-mp2](https://www.cp2k.org/performance:hector-h2o-64-ri-mp2) |
| ARCHER | Cray XC30 | 09/01/2014 | 13473 | 83.945 | 36864 | 4 OMP threads per MPI task | [archer-h2o-64-ri-mp2](https://www.cp2k.org/performance:archer-h2o-64-ri-mp2) |
| Magnus | Cray XC40 | 04/11/2014 | 14377 | 63.891 | 24576 | 6 OMP threads per MPI task | [magnus-h2o-64-ri-mp2](https://www.cp2k.org/performance:magnus-h2o-64-ri-mp2) |
| Machine Name | Architecture | Date | SVN Revision | Fastest time (s) | Number of Cores | Number of Threads | Detailed Results |
| ------------ | ------------ | ---------- | ------------ | ---------------- | --------------- | ---------------------------------- | ----------------------------------------------------------------------------------- |
| HECToR | Cray XE6 | 13/01/2014 | 13196 | 141.633 | 49152 | 8 OMP threads per MPI task | [hector-h2o-64-ri-mp2](https://www.cp2k.org/performance:hector-h2o-64-ri-mp2) |
| ARCHER | Cray XC30 | 09/01/2014 | 13473 | 83.945 | 36864 | 4 OMP threads per MPI task | [archer-h2o-64-ri-mp2](https://www.cp2k.org/performance:archer-h2o-64-ri-mp2) |
| Magnus | Cray XC40 | 04/11/2014 | 14377 | 63.891 | 24576 | 6 OMP threads per MPI task | [magnus-h2o-64-ri-mp2](https://www.cp2k.org/performance:magnus-h2o-64-ri-mp2) |
| Piz Daint | Cray XC30 | 12/05/2015 | 15268 | 48.15 | 32768 | 8 OMP threads per MPI task, no GPU | [piz-daint-h2o-64-ri-mp2](https://www.cp2k.org/performance:piz-daint-h2o-64-ri-mp2) |
| Cirrus | SGI ICE XA | 24/11/2016 | 17566 | 303.571 | 2016 | 1 OMP thread per MPI task | [cirrus-h2o-64-ri-mp2](https://www.cp2k.org/performance:cirrus-h2o-64-ri-mp2) |
| Noctua | Cray CS500 | 25/09/2019 | 9f58d81 | 82.571 | 10240 | 2 OMP threads per MPI task | [noctua-h2o-64-ri-mp2](https://www.cp2k.org/performance:noctua-h2o-64-ri-mp2) |
<!-- markdownlint-enable MD013 -->
| Cirrus | SGI ICE XA | 24/11/2016 | 17566 | 303.571 | 2016 | 1 OMP thread per MPI task | [cirrus-h2o-64-ri-mp2](https://www.cp2k.org/performance:cirrus-h2o-64-ri-mp2) |
| Noctua | Cray CS500 | 25/09/2019 | 9f58d81 | 82.571 | 10240 | 2 OMP threads per MPI task | [noctua-h2o-64-ri-mp2](https://www.cp2k.org/performance:noctua-h2o-64-ri-mp2) |
### Results on Monte Rosa, CSCS
| Input File | Configuration | Total Number of Cores| Runtime |
| --------------------- | -------------------:| --------------------:| -------:|
| H2O-64-PBE-TZ.inp | 128 MPI x 2 OMP | 256 | 50 s |
| H2O-64-RI-MP2-TZ.inp | 1024 MPI x 2 OMP | 2048 | ~18 min |
| H2O-64-RI-dRPA-TZ.inp | 1024 MPI x 2 OMP | 2048 | ~12 min |
| Input File | Configuration | Total Number of Cores | Runtime |
| --------------------- | ---------------: | --------------------: | ------: |
| H2O-64-PBE-TZ.inp | 128 MPI x 2 OMP | 256 | 50 s |
| H2O-64-RI-MP2-TZ.inp | 1024 MPI x 2 OMP | 2048 | ~18 min |
| H2O-64-RI-dRPA-TZ.inp | 1024 MPI x 2 OMP | 2048 | ~12 min |
*) The timings have been obtained on CRAY-XE6 (MonteRosa@CSCS)
\*) The timings have been obtained on CRAY-XE6 (MonteRosa@CSCS)
### Results on Piz Daint, CSCS
<!-- markdownlint-disable MD013 -->
| Input File | Date | CP2K Git SHA | Number of nodes | Node Configuration | Runtime |
| --------------------- | ---------- | ------------:| ---------------:| ------------------- | ------- |
| H2O-64-PBE-TZ.inp | 2019-08-07 | 4519a8ad7 | 4 nodes | 12 MPI x 1 OMP | 69 s |
| H2O-64-RI-dRPA-TZ.inp | 2019-08-07 | 4519a8ad7 | 128 nodes | 2 MPI x 6 OMP | 455 s |
<!-- markdownlint-enable MD013 -->
*) The timings have been obtained on CRAY-XC50 (PizDaint@CSCS, GPU partition)
| Input File | Date | CP2K Git SHA | Number of nodes | Node Configuration | Runtime |
| --------------------- | ---------- | -----------: | --------------: | ------------------ | ------- |
| H2O-64-PBE-TZ.inp | 2019-08-07 | 4519a8ad7 | 4 nodes | 12 MPI x 1 OMP | 69 s |
| H2O-64-RI-dRPA-TZ.inp | 2019-08-07 | 4519a8ad7 | 128 nodes | 2 MPI x 6 OMP | 455 s |
\*) The timings have been obtained on CRAY-XC50 (PizDaint@CSCS, GPU partition)

View file

@ -23,11 +23,11 @@ linear algebra routines as displayed at the end of the cp2k output.
On rosa the total run times are approximately:
| Input file | Number cores | Runtime |
| ------------- | ------------:| ---------------------:|
| H2O-256.inp | 576 cores | 5 min |
| H2O-1024.inp | 576 cores | 40 min |
| H2O-4096.inp | 2304 cores | 15 min |
| Input file | Number cores | Runtime |
| ------------- | -----------: | --------------------: |
| H2O-256.inp | 576 cores | 5 min |
| H2O-1024.inp | 576 cores | 40 min |
| H2O-4096.inp | 2304 cores | 15 min |
| H2O-65536.inp | | doesn't run so far... |
Runs performed with cp2k from 30.01.09 (no libdbcsr routines used), compiled

View file

@ -38,7 +38,7 @@ nodes, SB + K20X, +- 8Gb mem used per node
```
### MD Energy File
<!-- markdownlint-disable MD013 -->
```shell
> cat pao_ml_md-1.ener
# Step Nr. Time[fs] Kin.[a.u.] Temp[K] Pot.[a.u.] Cons Qty[a.u.] UsedTime[s]
@ -64,7 +64,6 @@ nodes, SB + K20X, +- 8Gb mem used per node
19 9.500000 105.405738067 286.181305486 -554932.815285468 -554827.409547401 365.768221021
20 10.000000 102.522367308 278.352824576 -554929.882289568 -554827.359922261 364.275226861
```
<!-- markdownlint-enable MD013 -->
### Timings

View file

@ -2,5 +2,5 @@
The purpose of these tests is to give a quick idea of the performance of a
system, when only a single node is available.
The tests should run in < 5 minutes on a modern node,
The tests should run in \< 5 minutes on a modern node,
and require less than 16Gb of memory.

View file

@ -5,11 +5,10 @@ This directory contains NNP models from the following paper:
Committee neural network potentials control generalization errors
and enable active learning
Christoph Schran, Kyrstof Brezina, and Ondrej Marsalek
J. Chem. Phys. 153, 2020, DOI: [10.1063/5.0016004](
https://doi.org/10.1063/5.0016004)
J. Chem. Phys. 153, 2020, DOI: [10.1063/5.0016004](https://doi.org/10.1063/5.0016004)
arXiv: [2006.01541](https://arxiv.org/abs/2006.01541)
## Contents
* `nnp-1/2/3/4/5/6/7/8`
All parameters of the C-NNP model from generation 4 of the active learning procedure.
- `nnp-1/2/3/4/5/6/7/8`
All parameters of the C-NNP model from generation 4 of the active learning procedure.

View file

@ -5,7 +5,7 @@ written in C. For the time being only features required by [DBT](../dbt/) are im
## Storage
The DBM uses [coordinate lists](https://en.wikipedia.org/wiki/Sparse_matrix#Coordinate_list_(COO))
The DBM uses [coordinate lists](<https://en.wikipedia.org/wiki/Sparse_matrix#Coordinate_list_(COO)>)
as internal storage format.
An existing block is represented by the following data structure:
@ -18,7 +18,7 @@ typedef struct {
```
To allow for efficient OpenMP parallelism the blocks are
[sharded](https://en.wikipedia.org/wiki/Shard_(database_architecture)) via round-robin:
[sharded](<https://en.wikipedia.org/wiki/Shard_(database_architecture)>) via round-robin:
```C
const int ishard = row % matrix->nshards;
@ -45,7 +45,6 @@ The last stage of the multiplication are the backends for specific hardware, e.g
They are passed batches of task for processing. Each task describes a single block
multiplication. A simplest backend implementation looks like this:
<!-- markdownlint-disable MD013 -->
```C
for (int itask = 0; itask < ntasks; itask++) {
const dbm_task_t task = batch[itask];
@ -58,7 +57,6 @@ for (int itask = 0; itask < ntasks; itask++) {
dgemm(transa, transb, task.m, task.n, task.k, alpha, data_a, lda, data_b, ldb, 1.0, data_c, ldc);
}
```
<!-- markdownlint-enable MD013 -->
## MiniApp

View file

@ -50,7 +50,6 @@ The `grid_collocate_miniapp.x` binary allows to run individual .task files.
By default `grid_collocate_pgf_product_cpu` is called. When the `--batch` flag
is set then `grid_collocate_task_list` is called instead.
<!-- markdownlint-disable MD013 -->
```shell
$ cd cp2k/src/grid
$ make
@ -60,7 +59,6 @@ Usage: grid_base_ref_miniapp.x [--batch <cycles-per-block>] <cycles> <task-file>
$ ./grid_collocate_miniapp.x --batch 10 100 sample_tasks/collocate_ortho_density_l2200.task
Task: sample_tasks/collocate_ortho_density_l2200.task Batched: yes Cycles: 1.000000e+02 Max value: 1.579830e+02 Max diff: 1.705303e-13 Time: 1.884854e-03 sec
```
<!-- markdownlint-enable MD013 -->
## Unit Test
@ -69,7 +67,6 @@ The `grid_collocate_unittest.x` binary runs the .task files from the
Beware that this is merely a smoke test.
The cp2k regtest suite provides much more thorough testing.
<!-- markdownlint-disable MD013 -->
```shell
$ cd cp2k/src/grid
$ make
@ -83,4 +80,3 @@ Task: ../../src/grid/sample_tasks/collocate_ortho_density_l0000.task Batche
Task: ../../src/grid/sample_tasks/collocate_ortho_non_periodic.task Batched: yes Cycles: 1.000000e+00 Max value: 4.483815e-01 Max diff: 0.000000e+00 Time: 1.882868e-02 sec
All tests have passed :-)
```
<!-- markdownlint-enable MD013 -->

View file

@ -23,7 +23,7 @@ Python interpreter instances due to side effects in the library.
## Known Issues
* If libcp2k is built with MPI support, you may get an MPI initialization error
- If libcp2k is built with MPI support, you may get an MPI initialization error
depending on your MPI implementation/configuration. In that case MPI must be
initialized first by using Mpi4py and the Fortran MPI communicator handler
must be passed down the CP2K via the respective `...comm` functions.

View file

@ -1,6 +1,6 @@
# Fist EAM Regression Tests
The potentials for Ag, Pt and Au listed here are converted from the [LAMMPS distribution](http://lammps.sandia.gov).
The mixed file is generated by multiplication of Za(R)*Zb(R)/R as prescribed in
The mixed file is generated by multiplication of Za(R)\*Zb(R)/R as prescribed in
Foiles et al., PRB 33 (1986) 7983.
Note that the grid is quite loose, so `EMAX_SPLINE` is set to a high value (D. Passerone).

View file

@ -5,27 +5,23 @@ The only prerequisite is to [install Docker](https://docs.docker.com/get-docker/
## Production Images
1. Build the container image:
1. Build the container image:
<!-- markdownlint-disable MD013 -->
```shell
docker build -f Dockerfile.prod_psmp --build-arg GIT_COMMIT_SHA=$(git rev-parse HEAD) -t cp2k_prod_psmp ../../
```
<!-- markdownlint-enable MD013 -->
```shell
docker build -f Dockerfile.prod_psmp --build-arg GIT_COMMIT_SHA=$(git rev-parse HEAD) -t cp2k_prod_psmp ../../
```
2. Go to the directory with your input files:
1. Go to the directory with your input files:
```shell
cd ../../benchmarks/QS_single_node
```
```shell
cd ../../benchmarks/QS_single_node
```
3. Run the container:
1. Run the container:
<!-- markdownlint-disable MD013 -->
```shell
docker run --shm-size=1g -ti -v "$(pwd)":/mnt cp2k_prod_psmp mpiexec -genv OMP_NUM_THREADS=2 -np 16 cp2k dbcsr.inp
```
<!-- markdownlint-enable MD013 -->
```shell
docker run --shm-size=1g -ti -v "$(pwd)":/mnt cp2k_prod_psmp mpiexec -genv OMP_NUM_THREADS=2 -np 16 cp2k dbcsr.inp
```
## Test Images

View file

@ -10,11 +10,11 @@ The driver script `doxyify.sh` will process CP2K source code (`*.F` files) proce
one file at a time. The following steps are carried out for each `*.F` file:
1. Run `remove_double_ampersands.pl` - removes any any double ampersand characters
2. Run `fixcomments.pl` - does the addition of missing comments or updating of
1. Run `fixcomments.pl` - does the addition of missing comments or updating of
existing comments
3. Run `remove_extra_comments.pl` - removes any extra comment lines which arise
1. Run `remove_extra_comments.pl` - removes any extra comment lines which arise
from application of `fixcomments.pl`
4. Finally, overwrite the original `*.F` file with the updated version
1. Finally, overwrite the original `*.F` file with the updated version
To run the script, you should execute it with the name of the source file you
want to process:

View file

@ -27,16 +27,16 @@ files. It has been tested on emacs 2.1, 2.3 and 2.4.
### Key Bindings
| character | |
| ------------- |---------------|
| `<tab>` | `cp2k-indent-line`
| C-j | `newline-and-indent`
| C-c ; | `comment-region`
| C-M-a | `cp2k-beginning-of-block`
| C-M-e | `cp2k-end-of-block`
| C-c C-c | `outline-toggle-children`
| C-c C-a | `show-all`
| C-c C-t | `show-subtree`
| character | |
| --------- | ------------------------- |
| `<tab>` | `cp2k-indent-line` |
| C-j | `newline-and-indent` |
| C-c ; | `comment-region` |
| C-M-a | `cp2k-beginning-of-block` |
| C-M-e | `cp2k-end-of-block` |
| C-c C-c | `outline-toggle-children` |
| C-c C-a | `show-all` |
| C-c C-t | `show-subtree` |
## Installation

View file

@ -2,6 +2,6 @@
For more information on
* obtaining and using the Vim editor plugin for CP2K, see [CP2K Tools:vim](https://www.cp2k.org/tools:vim)
* creating the Vim editor plugin file cp2k.vim (together with the manual),
- obtaining and using the Vim editor plugin for CP2K, see [CP2K Tools:vim](https://www.cp2k.org/tools:vim)
- creating the Vim editor plugin file cp2k.vim (together with the manual),
see [How to generate the CP2K input reference manual](https://manual.cp2k.org/trunk/generate_manual_howto.html)

View file

@ -19,10 +19,10 @@ between ranks for the OpenMP threads.
Because of the above-mentioned complexity, a script for planning
MPI/OpenMP-hybrid execution (`plan.sh`) is available. Here is a first example
for running the PSMP-binary on an SMP-enabled (Hyperthreads) dual-socket system
with 24&#160;cores per processor/socket (96&#160;hardware threads in total). At
first, a run with 48&#160;ranks and 2&#160;threads per core comes to the mind
(`48x2`). However, for instance 16&#160;ranks with 6&#160;threads per rank can
be better for performance (`16x6`). To easily place the ranks, Intel&#160;MPI
with 24 cores per processor/socket (96 hardware threads in total). At
first, a run with 48 ranks and 2 threads per core comes to the mind
(`48x2`). However, for instance 16 ranks with 6 threads per rank can
be better for performance (`16x6`). To easily place the ranks, Intel MPI
is used:
```bash
@ -40,7 +40,7 @@ not necessary and not recommended to build a rather complicated
to log the pinning and thread affinization at the startup of an application,
`I_MPI_DEBUG=4` can be used with no performance penalty. The recommended
`I_MPI_PIN_ORDER=bunch` ensures that ranks per node are split as even as
possible with respect to sockets (e.g., 36&#160;ranks on a 2x20-core system
possible with respect to sockets (e.g., 36 ranks on a 2x20-core system
are put in 2x18 ranks instead of 20+16 ranks).
To achieve a similar placement with OpenMPI, ranks are mapped to "execution
@ -55,7 +55,7 @@ mpirun -np 16 --map-by slot:PE=3 \
exe/Linux-x86-64-intelx/cp2k.psmp workload.inp
```
**NOTE**: Intel&#160;MPI's `I_MPI_PIN_ORDER=bunch` to balance the number of
**NOTE**: Intel MPI's `I_MPI_PIN_ORDER=bunch` to balance the number of
ranks between sockets (see above) appears hard to achieve with OpenMPI
therefore an undersubscribed system may not be recommended. To display and
to log the pinning and thread affinization at the startup of an application,
@ -69,9 +69,8 @@ to multiple nodes of the above-mentioned system.
To configure the plan-script, the metric of the compute nodes can be given for
future invocations so that only the node-count is required as an argument. The
script's help output (`-h` or `--help`) initially shows the "system metric" of
the computer the script is invoked on. For a system with 48&#160;cores (two
sockets, SMP/HT enabled), setting up the "system metric" looks like (`plan.sh
[num-nodes] [ncores-per-node] [nthreads-per-core] [nsockets-per-node]`):
the computer the script is invoked on. For a system with 48 cores (two
sockets, SMP/HT enabled), setting up the "system metric" looks like (`plan.sh [num-nodes] [ncores-per-node] [nthreads-per-core] [nsockets-per-node]`):
```bash
./plan.sh 1 48 2 2
@ -80,7 +79,7 @@ sockets, SMP/HT enabled), setting up the "system metric" looks like (`plan.sh
The script is storing the arguments (except for the node-count) as default
values for the next plan (file: `$HOME/.xconfigure-cp2k-plan`). This allows to
supply the system-type once, and to plan with varying node-counts in a
convenient fashion. Planning for 8&#160;nodes of the above kind yields the
convenient fashion. Planning for 8 nodes of the above kind yields the
following output (`plan.sh 8`):
```text
@ -102,8 +101,8 @@ The first group of the output displays POT-style (trivial) MPI/OpenMP
configurations (penalty denotes potential communication overhead), however the
second group (if present) shows rank/thread combinations with the total
rank-count hitting a square number (penalty denotes waste of compute due to not
filling each node). For the given example, 8&#160;ranks per node with
12&#160;threads per rank is chosen (`8x12`) and MPI-executed:
filling each node). For the given example, 8 ranks per node with
12 threads per rank is chosen (`8x12`) and MPI-executed:
```bash
mpirun -perhost 8 -host node1,node2,node3,node4,node5,node6,node7,node8 \
@ -112,8 +111,7 @@ mpirun -perhost 8 -host node1,node2,node3,node4,node5,node6,node7,node8 \
exe/Linux-x86-64-intelx/cp2k.psmp workload.inp
```
**NOTE**: For Intel&#160;MPI as well as OpenMPI, mpirun's host-list (`mpirun
-host`) is setup with unique node-names, and this is the only style that is
**NOTE**: For Intel MPI as well as OpenMPI, mpirun's host-list (`mpirun -host`) is setup with unique node-names, and this is the only style that is
explained in this article. There is a competing style where nodes names are
duplicated for the sake of enumerating available ranks (or "execution slots"
in case of OpenMPI), which is not exercised in this article.

View file

@ -4,23 +4,25 @@ The precommit system consists of the following tools that analyze and format the
source code:
- [doxify](../doxify/)
to add Doxygen templates.
to add Doxygen templates.
- [prettify](../prettify/)
to format Fortran files.
to format Fortran files.
- [analyze_src](../conventions/analyze_src.py)
to check copyright banners and a few other things.
to check copyright banners and a few other things.
- [ast.parse](https://docs.python.org/3/library/ast.html)
to check Python syntax.
to check Python syntax.
- [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
to format C and Cuda files.
to format C and Cuda files.
- [black](https://github.com/psf/black)
to format Python scripts.
to format Python scripts.
- [shfmt](https://github.com/mvdan/sh)
to format Shell scripts.
to format Shell scripts.
- [shellcheck](https://github.com/koalaman/shellcheck)
to analyze Shell scripts.
- [markdownlint](https://github.com/DavidAnson/markdownlint)
to analyze Markdown files.
to analyze Shell scripts.
- [mdformat](https://github.com/executablebooks/mdformat) with [gfm plugin](https://github.com/hukkin/mdformat-gfm)
to format Markdown scripts.
- [cmake-format](https://github.com/cheshirekow/cmake_format)
to format CMake scripts.
In contrast to the [CP2K-CI](https://github.com/cp2k/cp2k-ci) these tools
process each file individually, which makes them much more lightweight.

View file

@ -13,7 +13,6 @@ apt-get install -qq --no-install-recommends \
git \
less \
nano \
npm \
python3 \
python3-pip \
python3-wheel \
@ -22,14 +21,9 @@ apt-get install -qq --no-install-recommends \
wget
rm -rf /var/lib/apt/lists/*
# Install markdownlint-cli and dependencies.
# https://github.com/DavidAnson/markdownlint
# https://github.com/igorshubovych/markdownlint-cli
npm install .
ln -s /opt/cp2k-precommit/node_modules/markdownlint-cli/markdownlint.js /usr/bin/markdownlint
# Install black, flask, gunicorn, and dependencies.
# https://github.com/psf/black
# Install Python packages. Upgrade via:
# pip3 install black flask gunicorn mdformat-gfm cmake-format
# pip3 freeze > requirements.txt
pip3 install --quiet -r requirements.txt
# Install shfmt.

View file

@ -1,257 +0,0 @@
{
"name": "cp2k-precommit",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"argparse": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"requires": {
"sprintf-js": "~1.0.2"
}
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"commander": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
"integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
"requires": {
"graceful-readlink": ">= 1.0.0"
}
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"deep-extend": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz",
"integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w=="
},
"entities": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
"integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ=="
},
"esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"get-stdin": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
"integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g="
},
"glob": {
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"graceful-readlink": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU="
},
"ignore": {
"version": "5.1.8",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
"integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw=="
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"ini": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
},
"js-yaml": {
"version": "3.13.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
"integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
}
},
"jsonc-parser": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz",
"integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w=="
},
"linkify-it": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz",
"integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==",
"requires": {
"uc.micro": "^1.0.1"
}
},
"lodash.differencewith": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.differencewith/-/lodash.differencewith-4.5.0.tgz",
"integrity": "sha1-uvr7yRi1UVTheRdqALsK76rIVLc="
},
"lodash.flatten": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
"integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8="
},
"markdown-it": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz",
"integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==",
"requires": {
"argparse": "^1.0.7",
"entities": "~2.0.0",
"linkify-it": "^2.0.0",
"mdurl": "^1.0.1",
"uc.micro": "^1.0.5"
}
},
"markdownlint": {
"version": "0.20.4",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.20.4.tgz",
"integrity": "sha512-jpfaPgjT0OpeBbemjYNZbzGG3hCLcAIvrm/pEY3+q/szDScG6ZonDacqySVRJAv9glbo8y4wBPJ0wgW17+9GGA==",
"requires": {
"markdown-it": "10.0.0"
}
},
"markdownlint-cli": {
"version": "0.23.2",
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.23.2.tgz",
"integrity": "sha512-OSl5OZ8xzGN6z355cqRkiq67zPi3reJimklaF72p0554q85Dng5ToOjjSB9tDKZebSt85jX8cp+ruoQlPqOsPA==",
"requires": {
"commander": "~2.9.0",
"deep-extend": "~0.5.1",
"get-stdin": "~5.0.1",
"glob": "~7.1.2",
"ignore": "~5.1.4",
"js-yaml": "~3.13.1",
"jsonc-parser": "~2.2.0",
"lodash.differencewith": "~4.5.0",
"lodash.flatten": "~4.4.0",
"markdownlint": "~0.20.4",
"markdownlint-rule-helpers": "~0.11.0",
"minimatch": "~3.0.4",
"minimist": "~1.2.5",
"rc": "~1.2.7"
}
},
"markdownlint-rule-helpers": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.11.0.tgz",
"integrity": "sha512-PhGii9dOiDJDXxiRMpK8N0FM9powprvRPsXALgkjlSPTwLh6ymH+iF3iUe3nq8KGu26tclFBlLL5xAGy/zb7FA=="
},
"mdurl": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
"integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"rc": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"requires": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
},
"dependencies": {
"deep-extend": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
}
}
},
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
},
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
},
"uc.micro": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
"integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA=="
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}
}
}

View file

@ -1,20 +0,0 @@
{
"name": "cp2k-precommit",
"version": "1.0.0",
"description": "Tools used by the cp2k-precomit system",
"main": "index.js",
"repository": "",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": ""
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"markdownlint-cli": "^0.23.2"
}
}

View file

@ -204,7 +204,7 @@ def process_file(fn: str, allow_modifications: bool) -> None:
run_remote_tool("shellcheck", fn)
if re.match(r".*\.md$", fn):
run_remote_tool("markdownlint", fn)
run_remote_tool("mdformat", fn)
if re.match(r"(.*/CMakeLists.txt)|(.*\.cmake)$", fn):
run_remote_tool("cmakeformat", fn)

View file

@ -41,9 +41,10 @@ def shellcheck():
# ======================================================================================
@app.route("/markdownlint", methods=["POST"])
def markdownlint():
return run_tool(["markdownlint"])
@app.route("/mdformat", methods=["POST"])
@app.route("/markdownlint", methods=["POST"]) # for backwards compatibility
def mdformat():
return run_tool(["mdformat"])
# ======================================================================================

View file

@ -1,21 +1,23 @@
appdirs==1.4.4
attrs==21.4.0
black==22.3.0
black==22.10.0
click==8.1.3
cmake-format==0.6.13
cmakelang==0.6.13
Flask==2.1.2
Flask==2.2.2
gunicorn==20.1.0
gyp==0.1
itsdangerous==2.1.2
Jinja2==3.1.2
linkify-it-py==1.0.3
markdown-it-py==2.1.0
MarkupSafe==2.1.1
mdformat==0.7.16
mdformat-gfm==0.3.5
mdformat_tables==0.4.1
mdit-py-plugins==0.3.1
mdurl==0.1.2
mypy-extensions==0.4.3
pathspec==0.9.0
pathspec==0.10.1
platformdirs==2.5.2
regex==2022.4.24
six==1.16.0
toml==0.10.2
tomli==2.0.1
typed-ast==1.5.3
Werkzeug==2.1.2
uc-micro-py==1.0.1
Werkzeug==2.2.2

View file

@ -107,37 +107,35 @@ The following table list the licenses of all those packages. While the toolchain
does support linking proprietary software packages, like e.g. MKL, these have to
be installed separately by the user.
<!-- markdownlint-disable MD013 -->
| Package | License | GPL Compatible |
| --------- | --------------------------------------------------------------------------------------- | -------------- |
| cmake | [BSD 3-Clause](https://gitlab.kitware.com/cmake/cmake/raw/master/Copyright.txt) | Yes |
| cosma | [BSD 3-Clause](https://github.com/eth-cscs/COSMA/blob/master/LICENCE) | Yes |
| elpa | [LGPL](https://gitlab.mpcdf.mpg.de/elpa/elpa/blob/master/LICENSE) | Yes |
| fftw | [GPL](http://www.fftw.org/doc/License-and-Copyright.html) | Yes |
| gcc | [GPL](https://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=COPYING;hb=HEAD) | Yes |
| gsl | [GPL](https://www.gnu.org/software/gsl/doc/html/gpl.html) | Yes |
| hdf5 | [BSD 3-Clause](https://support.hdfgroup.org/ftp/HDF5/releases/COPYING) | Yes |
| libint | [GPL](https://github.com/evaleev/libint/blob/master/LICENSE) | Yes |
| libvori | LGPL-3 | Yes |
| libvdwxc | [GPL](https://gitlab.com/libvdwxc/libvdwxc/blob/master/LICENSE) | Yes |
| libxc | [MPL](https://gitlab.com/libxc/libxc/blob/master/COPYING) | Yes |
| libxsmm | [BSD 3-Clause](https://github.com/hfp/libxsmm/blob/master/LICENSE.md) | Yes |
| mpich | [MPICH](https://github.com/pmodels/mpich/blob/master/COPYRIGHT) | [Yes](https://enterprise.dejacode.com/licenses/public/mpich/#license-conditions) |
| openblas | [BSD 3-Clause](https://github.com/xianyi/OpenBLAS/blob/develop/LICENSE) | Yes |
| openmpi | [BSD 3-Clause](https://github.com/open-mpi/ompi/blob/master/LICENSE) | Yes |
| pexsi | [BSD 3-Clause](https://bitbucket.org/berkeleylab/pexsi/src/master/LICENSE) | Yes |
| plumed | [LGPL](https://github.com/plumed/plumed2/blob/master/COPYING.LESSER) | Yes |
| ptscotch | [CeCILL-C](https://www.labri.fr/perso/pelegrin/scotch/) | [Yes](https://cecill.info/faq.en.html#gpl) |
| quip | [GPL](https://github.com/libAtoms/QUIP/blob/public/src/libAtoms/COPYRIGHT) | Yes |
| fox | [BSD 3-Clause](https://github.com/andreww/fox/blob/master/LICENSE) | Yes |
| reflapack | [BSD 3-Clause](http://www.netlib.org/lapack/LICENSE.txt) | Yes |
| scalapack | [BSD 3-Clause](http://www.netlib.org/scalapack/LICENSE) | Yes |
| sirius | [BSD 2-Clause](https://github.com/electronic-structure/SIRIUS/blob/master/LICENSE) | Yes |
| spfft | [BSD 3-Clause](https://github.com/eth-cscs/SpFFT/blob/master/LICENSE) | Yes |
| spglib | [BSD 3-Clause](https://github.com/atztogo/spglib/blob/master/COPYING) | Yes |
| superlu | [BSD 3-Clause](https://github.com/xiaoyeli/superlu/blob/master/License.txt) | Yes |
| valgrind | [GPL](https://sourceware.org/git/?p=valgrind.git;a=blob_plain;f=COPYING;hb=HEAD) | Yes |
<!-- markdownlint-enable MD013 -->
| Package | License | GPL Compatible |
| --------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| cmake | [BSD 3-Clause](https://gitlab.kitware.com/cmake/cmake/raw/master/Copyright.txt) | Yes |
| cosma | [BSD 3-Clause](https://github.com/eth-cscs/COSMA/blob/master/LICENCE) | Yes |
| elpa | [LGPL](https://gitlab.mpcdf.mpg.de/elpa/elpa/blob/master/LICENSE) | Yes |
| fftw | [GPL](http://www.fftw.org/doc/License-and-Copyright.html) | Yes |
| gcc | [GPL](https://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=COPYING;hb=HEAD) | Yes |
| gsl | [GPL](https://www.gnu.org/software/gsl/doc/html/gpl.html) | Yes |
| hdf5 | [BSD 3-Clause](https://support.hdfgroup.org/ftp/HDF5/releases/COPYING) | Yes |
| libint | [GPL](https://github.com/evaleev/libint/blob/master/LICENSE) | Yes |
| libvori | LGPL-3 | Yes |
| libvdwxc | [GPL](https://gitlab.com/libvdwxc/libvdwxc/blob/master/LICENSE) | Yes |
| libxc | [MPL](https://gitlab.com/libxc/libxc/blob/master/COPYING) | Yes |
| libxsmm | [BSD 3-Clause](https://github.com/hfp/libxsmm/blob/master/LICENSE.md) | Yes |
| mpich | [MPICH](https://github.com/pmodels/mpich/blob/master/COPYRIGHT) | [Yes](https://enterprise.dejacode.com/licenses/public/mpich/#license-conditions) |
| openblas | [BSD 3-Clause](https://github.com/xianyi/OpenBLAS/blob/develop/LICENSE) | Yes |
| openmpi | [BSD 3-Clause](https://github.com/open-mpi/ompi/blob/master/LICENSE) | Yes |
| pexsi | [BSD 3-Clause](https://bitbucket.org/berkeleylab/pexsi/src/master/LICENSE) | Yes |
| plumed | [LGPL](https://github.com/plumed/plumed2/blob/master/COPYING.LESSER) | Yes |
| ptscotch | [CeCILL-C](https://www.labri.fr/perso/pelegrin/scotch/) | [Yes](https://cecill.info/faq.en.html#gpl) |
| quip | [GPL](https://github.com/libAtoms/QUIP/blob/public/src/libAtoms/COPYRIGHT) | Yes |
| fox | [BSD 3-Clause](https://github.com/andreww/fox/blob/master/LICENSE) | Yes |
| reflapack | [BSD 3-Clause](http://www.netlib.org/lapack/LICENSE.txt) | Yes |
| scalapack | [BSD 3-Clause](http://www.netlib.org/scalapack/LICENSE) | Yes |
| sirius | [BSD 2-Clause](https://github.com/electronic-structure/SIRIUS/blob/master/LICENSE) | Yes |
| spfft | [BSD 3-Clause](https://github.com/eth-cscs/SpFFT/blob/master/LICENSE) | Yes |
| spglib | [BSD 3-Clause](https://github.com/atztogo/spglib/blob/master/COPYING) | Yes |
| superlu | [BSD 3-Clause](https://github.com/xiaoyeli/superlu/blob/master/License.txt) | Yes |
| valgrind | [GPL](https://sourceware.org/git/?p=valgrind.git;a=blob_plain;f=COPYING;hb=HEAD) | Yes |
## For Developers
@ -156,6 +154,7 @@ be installed separately by the user.
on other libraries being already installed and the correct
environment variables set. At the end of each script, it should
write to __two__ files: `build/setup_PKG` and `install/setup`.
- The `build/setup_PKG` file contains all the instructions to set
the variables used by the `install_cp2k_toolchain.sh` and other
`script/install_PKG.sh` scripts in order for them to correctly