From 8ff970916b975cfd1b79ff3751061526fe88614b Mon Sep 17 00:00:00 2001 From: Grimmauld Date: Fri, 26 Jun 2026 17:40:20 +0200 Subject: [PATCH] openmpCheckPhaseHook: init --- .../op/openmpCheckPhaseHook/omp-check-hook.sh | 11 +++++++++++ pkgs/by-name/op/openmpCheckPhaseHook/package.nix | 12 ++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/by-name/op/openmpCheckPhaseHook/omp-check-hook.sh create mode 100644 pkgs/by-name/op/openmpCheckPhaseHook/package.nix diff --git a/pkgs/by-name/op/openmpCheckPhaseHook/omp-check-hook.sh b/pkgs/by-name/op/openmpCheckPhaseHook/omp-check-hook.sh new file mode 100644 index 000000000000..b3279b170360 --- /dev/null +++ b/pkgs/by-name/op/openmpCheckPhaseHook/omp-check-hook.sh @@ -0,0 +1,11 @@ +preCheckHooks+=('setupOmpCheck') +preInstallCheckHooks+=('setupOmpCheck') + + +setupOmpCheck() { + # Limit number of OpenMP threads. Default is "all cores". + # Using all cores causes high load on builders if checks are executed with NIX_BUILD_CORE parallelism. + # This gets even worse if multiple builds are scheduled on the same machine, potentially growing O(n^3) without explicit core limits. + export OMP_NUM_THREADS="${OMP_NUM_THREADS:-1}" +} + diff --git a/pkgs/by-name/op/openmpCheckPhaseHook/package.nix b/pkgs/by-name/op/openmpCheckPhaseHook/package.nix new file mode 100644 index 000000000000..9e30609e8de5 --- /dev/null +++ b/pkgs/by-name/op/openmpCheckPhaseHook/package.nix @@ -0,0 +1,12 @@ +{ + lib, + makeSetupHook, +}: + +makeSetupHook { + name = "omp-checkPhase-hook"; + + __structuredAttrs = true; + + meta.license = lib.licenses.mit; +} ./omp-check-hook.sh