Commit graph

137 commits

Author SHA1 Message Date
Ole Schütt
449fa423b8 Remove flag __FFTW3_UNALIGNED 2025-12-19 15:01:55 +01:00
Ole Schütt
a53587514b Docs: Move content from INSTALL.md to manual and adopt to CMake 2025-12-18 17:44:29 +01:00
Ole Schütt
633ab399f6 CMake: Make __OFFLOAD_PROFILING flag accessible 2025-12-18 14:59:53 +01:00
Ole Schütt
53d694d2f1 FM: Use __OFFLOAD flags for ELPA as well 2025-12-18 14:59:53 +01:00
Ole Schütt
7bf99f7a74 Remove old flags __HAS_PATCHED_CUFFT_70, __NO_MPI_THREAD_SUPPORT_CHECK, and __MINGW 2025-12-18 14:59:53 +01:00
Ole Schütt
de43aba82f Remove QUIP 2025-12-18 13:07:03 +01:00
Ole Schütt
9e35fc8c04 Precommit: Add Check for docu of CMake options 2025-12-17 15:56:06 +01:00
Ole Schütt
88de2562c6 Precommit: Update check for build flags 2025-12-17 15:56:06 +01:00
dependabot[bot]
ccabb9a0f8 Bump werkzeug from 3.0.6 to 3.1.4 in /tools/precommit
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.0.6 to 3.1.4.
- [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.6...3.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-02 14:42:43 +01:00
Ole Schütt
44e3845b0f Enable Fortitude rule missing-exit-or-cycle-label 2025-11-07 16:48:14 +01:00
Ole Schütt
9e1cd629dd Enable Fortitude rule unnamed-end-statement 2025-11-07 16:48:14 +01:00
Ole Schütt
b08f77308b Enable Fortitude rule deprecated-relational-operator 2025-11-07 16:48:14 +01:00
Ole Schütt
47c81db72a Enable Fortitude rule old-style-array-literal 2025-11-07 16:48:14 +01:00
Ole Schütt
51bfb724f4 Enable some fortitude rules 2025-11-06 16:37:03 +01:00
Ole Schütt
06728efc41 precommit: Move exclusion list into fortitude.toml 2025-11-06 16:37:03 +01:00
Ole Schütt
6bdde325c8 precommit: Get fortitude auto-fixing to work 2025-11-06 16:37:03 +01:00
Ole Schütt
81d9eb2d59 precommit: Simplify some files to help Fortitude 2025-11-05 16:52:17 +01:00
Ole Schütt
0620b4537c precommit: Add Fortitude linter 2025-11-05 16:52:17 +01:00
Hans Pabst
4a2d255c13 GRID: leverage offload mempool 2025-10-25 21:10:23 +02:00
Hans Pabst
badb79934a Use git ls-files instead of os.walk with pattern
- Avoids processing unrelated files.
2025-10-17 15:25:21 +02:00
Hans Pabst
ad3ce71a45 Restore BSD-3 license for C-based MPI-wrapper 2025-10-17 09:54:57 +02:00
Hans Pabst
50b0971e18 DBM mempool to offload and mpi/c to mpiwrap
- Introduced offload_mempool_stats_print to Fortran API.
- Print memory statistics independent of DBM (and grid).
- Avoid circular dependency (string_utilities/strlcpy_c2f).
- Use up-leveled MPI/C wrapper.

* MPI/C wrapper (dbm_mpi_ to cp_mpi_)
  - Adjusted license of C-MPI wrapper (consequence of mpiwrap).
  - Moved wrapper for C languages in to mpiwrap directory.
  - Avoid name clash (same basename as for Fortran).
  - Renamed prefix of all MPI wrapper functions.

* Other (DBM):
  - Improved handling errors (OFFLOAD_CHECK before launch).
  - Permit/Adjusted preprocessor symbol (precommit hook).
  - Avoid multi-line control-flow w/o curly braces.
  - Double-check #4428 (DBM_MULTIPLY_COMM_MEMPOOL).

* TODO
  - Apply offload/print_func pattern to GRID's print_func.
  - Leverage offload_mempool for grid backend.
2025-09-30 16:02:16 +02:00
Hans Pabst
7face5689e DBM/OFFLOAD: prepared for hybrid execution
- Split backend_upload_packs into two phases on GPU.
- Initial phase is chosen to have not triggered upload.
- Offload: offloadEventQuery to check if GPU is busy.
- Removed dbm_multiply_gpu_download_results
- Transfers are launched as early as possible.
- Improved overlap between transfer/compute.
- Idea: proceed on CPU if GPU is busy.

Other changes:
- Documented way to perform validation (ctx=NULL).
- Permit DBM_ prefix for preprocessor symbols.
- Removed C-shard pointer from GPU-context.
- Per-shard event stored/provided by shard.
- Migrated CPU-options into context.
- Miniapp: allow to omit validation.
- Use preincrement (atomic).
2025-09-04 13:27:08 +02:00
Rocco Meli
400017fac0
Update Spack and add support for Spack packages repository 2025-06-26 08:27:09 +02:00
Ole Schütt
6d377b8c9f Precommit: Format spack packages with upstream style 2025-05-22 18:30:23 +02:00
Harald Forbert
1513aefda2 add ace support 2025-05-06 08:32:16 +02:00
Hans Pabst
0e80b46be4
DBM: optionally reuse DBCSR's libsmm_acc_process (#4109)
- Experimented with specialized vs DBM's universal kernel.
- Performance is equal likey due to data mix/sort (TODO).
- DBCSR/unrelated: Likely introduce DBM-kernel (cleaner).
- Rely on OPENCL_LIBSMM_PFORMAT.

Mempool:
- Revised default to skip mempool for host-allocs if offload
  is not compiled-in or if offload-allocs on host are disabled.
- Renamed and split DBM_ALLOCATION_FACTOR.
- Separate DBM_OVERCOMMIT_DEVICE/HOST.
- More rigid control of mempool config
- Conditionally define mempool lists.

Other:
- Passing batch/task data in const-correct fashion.
- Revised verbose output.
2025-03-28 09:28:11 +01:00
dependabot[bot]
85b7b8c410 Bump gunicorn from 22.0.0 to 23.0.0 in /tools/precommit
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 22.0.0 to 23.0.0.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/22.0.0...23.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-23 14:21:29 +01:00
Hans Pabst
3018857f05
DBM: solved issues with MPI based memory allocation (#4090)
- Assert correct size scaled by DBM_ALLOCATION_FACTOR.
- OpenCL: adjusted verbose output.
2025-03-21 15:57:59 +01:00
Hans Pabst
4136e1a5fc
DBM: adjusted MPI-based memory allocation (#4085)
- Apparently, MPI_Alloc_mem/free are not fully thread-safe.
- Debug shows issue similar to issues reported elsewhere.
- Note: MPI_Alloc_mem was taken out of critical section.
2025-03-18 22:00:45 +01:00
Hans Pabst
eb25494c3c
DBM: use host_malloc, introduced host_free and device_free (#4073)
- Internally, use separate pools for device/host memory.
- Let hyperparams enable/disable pooled memory
   - DBM_OFFLOAD_ALLOC
   - DBM_MEMPOOL_DEVICE
   - DBM_MEMPOOL_HOST
- Let hyperparam control offload memory (host).
2025-03-14 14:29:43 +01:00
dependabot[bot]
7c193b409d
Bump jinja2 from 3.1.5 to 3.1.6 in /tools/precommit (#4054)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-06 09:59:41 +01:00
Hans Pabst
91946afd07
DBM_VALIDATE_AGAINST_LIBXSMM to enable internal validation (#4048)
- Compile-time/opt-in with -DDBM_VALIDATE_AGAINST_LIBXSMM.
- TODO: more sophistication like injecting error margin.
2025-03-04 16:06:29 +01:00
Ole Schütt
eced570b41 Precommit: Add work-around for clang-format's excessive memory usage 2025-03-01 12:06:30 +01:00
Ole Schütt
36ef995dc8 Precommit: Touch up check_file_properties.py 2025-03-01 12:06:30 +01:00
Taillefumier Mathieu
cbdeaffe0e
Make GRPP an internal dependency
Co-authored-by: Mathieu Taillefumier <mathieu.taillefumier@free.fr>
2025-02-28 09:36:16 +01:00
Hans Pabst
0217dce9c4
DBM/OCL: option to use SLM as private scratch (#4033)
- DBM_MULTIPLY_SM to use SLM (instead of regs).
- Adjusted permitted preprocessor symbols.
- Control GEN depending on other kernel parameters.
- Avoid bank-conflicts (POT).

- Makefile: miniapp
  - Allow to select GNU Compiler by the means of "make GNU=1".
  - Find <acc_opencl.h> after PR #3994.

- Offload/OCL
  - Implemented offloadGetErrorName and offloadGetLastError.
  - Backward-compatible with DBCSR (OpenCL backend).
2025-02-27 10:53:44 +01:00
Ole Schütt
2819de3bd6 precommit: Ignore very large files 2025-02-12 13:40:05 +01:00
dependabot[bot]
f31b040bfd Bump jinja2 from 3.1.4 to 3.1.5 in /tools/precommit
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5.
- [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.4...3.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-08 22:44:12 +01:00
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