Commit graph

98 commits

Author SHA1 Message Date
Ole Schütt
d59d53cc66 precommit: Touch up DOI check 2024-12-15 13:47:38 +01:00
Hans Pabst
262480dea4
OMP/TRACE: support more comprehensive set of issues (#3784)
- Print issues with in categories: error, warn, info messages.
- Trace additional events and sources of deadlocks and other issues.
- Allow compilation with GNU even if "omp-tools.h" is not present.
- Allow singular translation units under BSD-3 license.
- Print more accurate location of warning.
2024-11-21 14:23:24 +01:00
Hans Pabst
e8c0fe6317
OMP/TRACE: trace-level/verbosity and code location (#3773)
CP2K_OMP_TRACE=1: assert errors at the place/location of the issue (nice debug experience)
CP2K_OMP_TRACE=2: print error issues (printing the code location needs debug symbols)
CP2K_OMP_TRACE=3: print warnings or info messages (when CP2K terminates)

Printing instead of asserting issues (errors, warnings, info) benefits from debug symbols. A negative value of CP2K_OMP_TRACE represents maximum verbosity.
2024-11-12 14:19:56 +01:00
Hans Pabst
4d95af2b47
ocl: removed two variants of the DBM kernel and cleanup (#3761) 2024-11-07 12:58:05 +01:00
dependabot[bot]
51f814e99b Bump werkzeug from 3.0.3 to 3.0.6 in /tools/precommit
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.0.3 to 3.0.6.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/3.0.3...3.0.6)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-26 09:58:38 +02:00
Hans Pabst
63804e02b9 Introduced CPVERSION_CHECK macro
- Adjusted uses of plain CPVERSION accordingly.
- Introduced FTN_NO_DEFAULT_INIT workaround.
2024-09-27 20:25:53 +02:00
Hans Pabst
538a8dc7a9
LIBXSMM: keep compatibility with v1.17 (#3676) 2024-09-13 09:31:43 +02:00
Hans Pabst
352d1c2474
Updated LIBXSMM (#3577) 2024-09-06 12:37:22 +02:00
Hans Pabst
42d1e6b4da IFX: use __INTEL_LLVM_COMPILER instead of __MKL
* Note: it is common to use MKL even for non-Intel compiler
2024-08-16 15:02:23 +02:00
Frederick Stein
537841399b Initialize DBCSR_related variables 2024-08-13 10:14:45 +02:00
Ole Schütt
f3901f63c6 Precommit: Exclude common cmake build dir 2024-08-12 16:11:23 +02:00
Ole Schütt
9a20f053d1 Move prettify into precommit folder and inline fprettify submodule 2024-08-04 12:45:16 +02:00
dependabot[bot]
20da4d9425 Bump jinja2 from 3.1.3 to 3.1.4 in /tools/precommit
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.3...3.1.4)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 21:54:48 +02:00
dependabot[bot]
a98737dd6e Bump werkzeug from 3.0.1 to 3.0.3 in /tools/precommit
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.0.1 to 3.0.3.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/3.0.1...3.0.3)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 21:32:00 +02:00
Ole Schütt
4dbdcdf615 precommit: Upgrade to Ubuntu 24.04 2024-05-01 17:11:52 +02:00
Hans Pabst
25edd69807
DBM: OpenCL implementation (#3375)
* There are three main implementations
  1. DBM_MULTIPLY_SPLIT=1: default kernel with smallest LOC-number uses private/register-backed buffer. This implementation is simple and performs best even on different vendor's GPUs. There is moderate unrolling/code-bloat leveraging macros. Though, there is no "old school GPU" like copy-into SLM; if there is re-use, it leverage existing caches between registers and global memory.
  2. DBM_MULTIPLY_SPLIT=2..N with DBM_MULTIPLY_SPLIT=8 matching the CUDA implementation using shared/local memory. This implementation matches the existing CUDA implementation and perform equal and reasonable across GPUs. There is moderate unrolling/code-bloat leveraging macros; heuristics are revised/different from CUDA implementation (less cases).
  3. DBM_MULTIPLY_GEN=1: uses https://github.com/intel/tiny-tensor-compiler and IR describing DBM's input format. The IR-file (https://github.com/hfp/cp2k/blob/master/src/dbm/dbm_multiply_opencl.ir) is not part of PR. The generated kernel-code is not yet competitive.
* The amount of code in the OpenCL-kernel and and C based glue-code can be *significantly* reduced (fraction of LOC) when removing for instance implementation 2 and 3 (above mentioned). Reducing the number of LOC can be part of a future cleanup (and once code is settled).
* check_file_properties.py: support C-comments, and omit checking OpenCL source code (it is usually compiled at runtime, i.e., machine-driven rather than user-controlled).
2024-04-29 12:23:24 +02:00
dependabot[bot]
fc017266ad Bump gunicorn from 21.2.0 to 22.0.0 in /tools/precommit
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 21.2.0 to 22.0.0.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/21.2.0...22.0.0)

---
updated-dependencies:
- dependency-name: gunicorn
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-17 12:49:31 +02:00
Cristian Le
58e3e09bda
fedora: Optimize builds (#3268)
Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
2024-03-28 21:07:23 +01:00
dependabot[bot]
ffcbeb74c2 Bump black from 23.11.0 to 24.3.0 in /tools/precommit
Bumps [black](https://github.com/psf/black) from 23.11.0 to 24.3.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.11.0...24.3.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-20 20:46:49 +01:00
Hans Pabst
aa4adac34c
DBM: introduced OpenCL support (#3321) 2024-03-15 16:41:35 +01:00
Hans Pabst
4b070db377 Offload: support OpenCL
* This work "short-cuts" supporting OpenCL by leveraging DBCSR's OpenCL backend to implement CP2K's Offload interface.
  - Future work (may be soon) can decide/settle where the actual glue code is hosted making the "OpenCL backend".
  - OpenCL is very close to CUDA (streams/queues, events, etc), however, an OpenCL backend accounts for differences.
  - Pointer arithmetic on the host using device pointers is not supported with OpenCL without additional effort.
  - OpenCL abstracts device memory being "cl_mem" structure and does not expose actual device pointers.
* Some functions on CP2K's Offload interface (once derived from DBCSR's ACC interface) remain "TODO".
* For the time being offload_runtime.h "disables" support for Grid and PW/FFTs
  - Defines for __NO_OFFLOAD_GRID and __NO_OFFLOAD_PW must be still given for the Fortran code.
* Some changes remove CUDA and HIP specific code-paths by relying on Offload runtime (e.g., offload_create_buffer).
* Some changes also address problematic code format (multi-line control-flow w/o curly braces/block, etc).
* Further updating INSTALL.md and white-listing/removing certain items are part of follow-up changes.
* Cleaned FLAG_EXCEPTIONS (tools/precommit/check_file_properties.py).
2024-03-13 09:44:46 +01:00
Matthias Krack
f76adaefd7 Indent @-directives and set them upercase 2024-01-16 16:23:54 +01:00
dependabot[bot]
1f31a16965
precommit: Bump jinja2 from 3.1.2 to 3.1.3 2024-01-12 12:47:08 +01:00
Ole Schütt
fafc0043f0 precommit: Add input file formatter 2023-12-18 22:41:19 +01:00
Ole Schütt
0dfeee1108 Drop support for NDEBUG 2023-12-15 15:31:33 +01:00
Ole Schütt
71ab6edeee precommit: Fix Python 3.6 incompatibility 2023-11-24 15:37:50 +01:00
Ole Schütt
4bf43545bd Manula: Add precommit check for biblio refs 2023-11-21 18:05:00 +01:00
Ole Schütt
443130275c precommit: Wrap Markdown lines after 100 characters 2023-11-14 12:47:36 +01:00
Ole Schütt
090ed75924 precommit: Add mdformat-myst and upgrade package 2023-11-14 12:47:36 +01:00
Ole Schütt
e3caab925d precommit: Fix Dockerfile 2023-11-12 19:48:03 +01:00
Ole Schütt
ab8d59069b precommit: Use Python venv 2023-11-04 14:30:06 +01:00
Ole Schütt
f8667229bc Fix Python 3.12 warnings 2023-11-04 14:30:06 +01:00
dependabot[bot]
b1e573e536 Bump werkzeug from 2.3.3 to 3.0.1 in /tools/precommit
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.3.3 to 3.0.1.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/2.3.3...3.0.1)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-26 10:55:19 +02:00
Ole Schuett
7c90856a67 Add precommit check for spaces in multi-line strings 2023-10-02 21:47:59 +02:00
Taillefumier Mathieu
3b45327215
offload: Only set LimitMallocHeapSize for HIP_VERSION > 5.2 2023-07-24 12:33:04 +02:00
Ole Schütt
934a489bed Docs: Add Sphinx-based manual 2023-06-08 10:46:10 +02:00
Hans Pabst
03f49e929a LIBXSMM 2.0: ensure compatibility
* Link explicitly against static libraries.
* Dispatch kernel using v2-API.
2023-06-07 16:42:49 +02:00
Ole Schütt
12c03de0ba Reformat with black 23.3.0 2023-05-02 12:31:58 +02:00
Ole Schütt
6b21f62de6 precommit: Upgrade Python packages 2023-05-02 12:31:58 +02:00
Matthias Krack
40dbbd6d86 Allow tab characters also in arch files 2023-03-07 13:40:41 +01:00
dependabot[bot]
be1541ddfe Bump markdown-it-py from 2.1.0 to 2.2.0 in /tools/precommit
Bumps [markdown-it-py](https://github.com/executablebooks/markdown-it-py) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/executablebooks/markdown-it-py/releases)
- [Changelog](https://github.com/executablebooks/markdown-it-py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/executablebooks/markdown-it-py/compare/v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: markdown-it-py
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-24 11:01:37 +01:00
dependabot[bot]
8eefebb0a2 Bump werkzeug from 2.2.2 to 2.2.3 in /tools/precommit
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/2.2.2...2.2.3)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-16 10:54:09 +01:00
Frederick Stein
6a8dd724d9 Refactor and simplify 2023-02-06 15:23:23 +01:00
Ole Schütt
64a6e2ead2 Update cp2k_info.F to 2023 2023-01-01 14:08:47 +01:00
Ole Schütt
ffbd2cdb7f precommit: Check copyright banner in LICENSE files 2023-01-01 13:01:39 +01:00
Ole Schütt
fcb0f647ee Add support for Torch which is needed by NequIP 2022-11-30 11:54:22 +01:00
Ole Schütt
0a7d28b76a precommit: Check copyright banner of cmake files 2022-11-06 16:15:27 +01:00
Ole Schütt
786bc82ff9 precommit: Switch from markdownlint to mdformat 2022-11-06 16:15:27 +01:00
Ole Schütt
f95d3a4a5d precommit: Migration Docker image to artifact registry 2022-11-06 16:15:27 +01:00
Ole Schütt
1f91672293 Stop using OpenMP in .cu files to accommodate HIP 2022-10-14 12:54:43 +02:00