forked from rarias/jungle
Compare commits
47 Commits
selfhost-a
...
llvm-intel
| Author | SHA1 | Date | |
|---|---|---|---|
|
8787677df3
|
|||
|
8b3b21af97
|
|||
|
a9b9d9a13d
|
|||
|
19e5399039
|
|||
|
250d173376
|
|||
|
704a33fbae
|
|||
|
dd455e8424
|
|||
|
6106d16d75
|
|||
|
ec19115da5
|
|||
|
63e58f4102
|
|||
|
0dc74f8b61
|
|||
|
40d6cae8a9
|
|||
|
9888c5913a
|
|||
|
fcb0ba6da0
|
|||
|
b0cfde9dca
|
|||
|
3d052cfa78
|
|||
|
8c5a190394
|
|||
|
d10f2f3818
|
|||
|
85a17b5320
|
|||
|
d4df6e37b9
|
|||
|
e12955e313
|
|||
|
92c011ed2e
|
|||
|
7c52af61a8
|
|||
|
0b225f0a8b
|
|||
|
5d9a4eb9ee
|
|||
|
0115787a4e
|
|||
|
aa89eeeba7
|
|||
|
ceea1e4601
|
|||
|
045cebac68
|
|||
|
61119f48ab
|
|||
|
9aab2e5340
|
|||
|
e259391343
|
|||
|
037ed21f23
|
|||
|
9519b8c32b
|
|||
|
8c8688b274
|
|||
|
4f51ebe607
|
|||
|
98cac0fb8d
|
|||
|
ea89344945
|
|||
|
fed0cc9685
|
|||
|
87da05df91
|
|||
|
66a3047596
|
|||
|
8cd97fd7cb
|
|||
|
0e2a90db13
|
|||
|
b0e754e0e7
|
|||
|
f6c8c78305
|
|||
| 4832e7bc34 | |||
| 39eddb76c1 |
@@ -61,6 +61,8 @@
|
|||||||
registrationFlags = [
|
registrationFlags = [
|
||||||
# Increase build log length to 64 MiB
|
# Increase build log length to 64 MiB
|
||||||
"--output-limit 65536"
|
"--output-limit 65536"
|
||||||
|
# Allow the runner to be used in multiple projects
|
||||||
|
"--locked=false"
|
||||||
];
|
];
|
||||||
preBuildScript = pkgs.writeScript "setup-container" ''
|
preBuildScript = pkgs.writeScript "setup-container" ''
|
||||||
mkdir -p -m 0755 /nix/var/log/nix/drvs
|
mkdir -p -m 0755 /nix/var/log/nix/drvs
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
closing = pkgs.writeText "closing.txt"
|
closing = pkgs.writeText "closing.txt"
|
||||||
''
|
''
|
||||||
Subject: OmpSs-2 release enters closing period
|
Subject: OmpSs-2 release enters closing period
|
||||||
|
To: star@bsc.es
|
||||||
|
|
||||||
Hi,
|
Hi,
|
||||||
|
|
||||||
@@ -42,6 +43,7 @@
|
|||||||
freeze = pkgs.writeText "freeze.txt"
|
freeze = pkgs.writeText "freeze.txt"
|
||||||
''
|
''
|
||||||
Subject: OmpSs-2 release enters freeze period
|
Subject: OmpSs-2 release enters freeze period
|
||||||
|
To: star@bsc.es
|
||||||
|
|
||||||
Hi,
|
Hi,
|
||||||
|
|
||||||
@@ -55,6 +57,7 @@
|
|||||||
release = pkgs.writeText "release.txt"
|
release = pkgs.writeText "release.txt"
|
||||||
''
|
''
|
||||||
Subject: OmpSs-2 release now
|
Subject: OmpSs-2 release now
|
||||||
|
To: star@bsc.es
|
||||||
|
|
||||||
Hi,
|
Hi,
|
||||||
|
|
||||||
@@ -69,7 +72,7 @@
|
|||||||
script = ''
|
script = ''
|
||||||
set -eu
|
set -eu
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
cat ${mail} | ${config.security.wrapperDir}/sendmail star@bsc.es
|
cat ${mail} | ${config.security.wrapperDir}/sendmail -t star@bsc.es
|
||||||
'';
|
'';
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
|
|||||||
43
overlay.nix
43
overlay.nix
@@ -19,7 +19,13 @@ let
|
|||||||
cudainfo = prev.callPackage ./pkgs/cudainfo/default.nix { };
|
cudainfo = prev.callPackage ./pkgs/cudainfo/default.nix { };
|
||||||
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
|
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
|
||||||
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
|
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
|
||||||
intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { };
|
gromacs = callPackage ./pkgs/gromacs/default.nix { enableSYCL = true; };
|
||||||
|
wrapIntel = callPackage ./pkgs/intel-oneapi/common/wrapper.nix { };
|
||||||
|
intel-apt = callPackage ./pkgs/intel-oneapi/deb/packages.nix { };
|
||||||
|
intelPackages_2023 = callPackage ./pkgs/intel-oneapi/deb/2023.nix { };
|
||||||
|
intelPackages_2024 = final.intel-apt.hpckit-2024;
|
||||||
|
intelPackages_2025 = final.intel-apt.hpckit-2025;
|
||||||
|
intelPackages = final.intelPackages_2025;
|
||||||
jemallocNanos6 = callPackage ./pkgs/nanos6/jemalloc.nix { };
|
jemallocNanos6 = callPackage ./pkgs/nanos6/jemalloc.nix { };
|
||||||
# FIXME: Extend this to all linuxPackages variants. Open problem, see:
|
# FIXME: Extend this to all linuxPackages variants. Open problem, see:
|
||||||
# https://discourse.nixos.org/t/whats-the-right-way-to-make-a-custom-kernel-module-available/4636
|
# https://discourse.nixos.org/t/whats-the-right-way-to-make-a-custom-kernel-module-available/4636
|
||||||
@@ -29,6 +35,8 @@ let
|
|||||||
linuxPackages_latest = prev.linuxPackages_latest.extend(_final: _prev: {
|
linuxPackages_latest = prev.linuxPackages_latest.extend(_final: _prev: {
|
||||||
amd-uprof-driver = _prev.callPackage ./pkgs/amd-uprof/driver.nix { };
|
amd-uprof-driver = _prev.callPackage ./pkgs/amd-uprof/driver.nix { };
|
||||||
});
|
});
|
||||||
|
llvm-intel-unwrapped = callPackage ./pkgs/intel-oneapi/open/default.nix { };
|
||||||
|
llvm-intel = final.wrapIntel { cc = final.llvm-intel-unwrapped; };
|
||||||
lmbench = callPackage ./pkgs/lmbench/default.nix { };
|
lmbench = callPackage ./pkgs/lmbench/default.nix { };
|
||||||
# Broken and unmantained
|
# Broken and unmantained
|
||||||
# mcxx = callPackage ./pkgs/mcxx/default.nix { };
|
# mcxx = callPackage ./pkgs/mcxx/default.nix { };
|
||||||
@@ -43,12 +51,16 @@ let
|
|||||||
nix-wrap = callPackage ./pkgs/nix-wrap/default.nix { };
|
nix-wrap = callPackage ./pkgs/nix-wrap/default.nix { };
|
||||||
nodes = callPackage ./pkgs/nodes/default.nix { };
|
nodes = callPackage ./pkgs/nodes/default.nix { };
|
||||||
nosv = callPackage ./pkgs/nosv/default.nix { };
|
nosv = callPackage ./pkgs/nosv/default.nix { };
|
||||||
|
oneMath = callPackage ./pkgs/onemath/default.nix { };
|
||||||
openmp = callPackage ./pkgs/llvm-ompss2/openmp.nix { monorepoSrc = final.clangOmpss2Unwrapped.src; version = final.clangOmpss2Unwrapped.version; };
|
openmp = callPackage ./pkgs/llvm-ompss2/openmp.nix { monorepoSrc = final.clangOmpss2Unwrapped.src; version = final.clangOmpss2Unwrapped.version; };
|
||||||
openmpv = final.openmp.override { enableNosv = true; enableOvni = true; };
|
openmpv = final.openmp.override { enableNosv = true; enableOvni = true; };
|
||||||
osumb = callPackage ./pkgs/osu/default.nix { };
|
osumb = callPackage ./pkgs/osu/default.nix { };
|
||||||
ovni = callPackage ./pkgs/ovni/default.nix { };
|
ovni = callPackage ./pkgs/ovni/default.nix { };
|
||||||
ovniGit = final.ovni.override { useGit = true; };
|
ovniGit = final.ovni.override { useGit = true; };
|
||||||
|
papi = callPackage ./pkgs/papi/default.nix { papi = prev.papi; };
|
||||||
paraverKernel = callPackage ./pkgs/paraver/kernel.nix { };
|
paraverKernel = callPackage ./pkgs/paraver/kernel.nix { };
|
||||||
|
pocl = callPackage ./pkgs/pocl/default.nix { };
|
||||||
|
pocl-noicd = callPackage ./pkgs/pocl/default.nix { enableICD = false; };
|
||||||
prometheus-slurm-exporter = prev.callPackage ./pkgs/slurm-exporter/default.nix { };
|
prometheus-slurm-exporter = prev.callPackage ./pkgs/slurm-exporter/default.nix { };
|
||||||
#pscom = callPackage ./pkgs/parastation/pscom.nix { }; # Unmaintaned
|
#pscom = callPackage ./pkgs/parastation/pscom.nix { }; # Unmaintaned
|
||||||
#psmpi = callPackage ./pkgs/parastation/psmpi.nix { }; # Unmaintaned
|
#psmpi = callPackage ./pkgs/parastation/psmpi.nix { }; # Unmaintaned
|
||||||
@@ -60,6 +72,8 @@ let
|
|||||||
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
|
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
|
||||||
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
|
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
|
||||||
tampi = callPackage ./pkgs/tampi/default.nix { };
|
tampi = callPackage ./pkgs/tampi/default.nix { };
|
||||||
|
tasycl = callPackage ./pkgs/tasycl/default.nix { };
|
||||||
|
tasycl-acpp = callPackage ./pkgs/tasycl/default.nix { useIntel = false; };
|
||||||
upc-qaire-exporter = prev.callPackage ./pkgs/upc-qaire-exporter/default.nix { };
|
upc-qaire-exporter = prev.callPackage ./pkgs/upc-qaire-exporter/default.nix { };
|
||||||
wxparaver = callPackage ./pkgs/paraver/default.nix { };
|
wxparaver = callPackage ./pkgs/paraver/default.nix { };
|
||||||
};
|
};
|
||||||
@@ -69,6 +83,13 @@ let
|
|||||||
#sigsegv = callPackage ./test/reproducers/sigsegv.nix { };
|
#sigsegv = callPackage ./test/reproducers/sigsegv.nix { };
|
||||||
hello-c = callPackage ./test/compilers/hello-c.nix { };
|
hello-c = callPackage ./test/compilers/hello-c.nix { };
|
||||||
hello-cpp = callPackage ./test/compilers/hello-cpp.nix { };
|
hello-cpp = callPackage ./test/compilers/hello-cpp.nix { };
|
||||||
|
hello-sycl = callPackage ./test/compilers/hello-sycl.nix { };
|
||||||
|
hello-syclompss = callPackage ./test/compilers/icpx-ompss2.nix { };
|
||||||
|
hello-sycl-pocl = (callPackage ./test/compilers/hello-sycl.nix { }).withPocl;
|
||||||
|
hello-sycl-intel = (callPackage ./test/compilers/hello-sycl.nix { }).withIntel;
|
||||||
|
hello-syclompss-pocl = (callPackage ./test/compilers/icpx-ompss2.nix { }).withPocl;
|
||||||
|
hello-syclompss-intel = (callPackage ./test/compilers/icpx-ompss2.nix { }).withIntel;
|
||||||
|
|
||||||
lto = callPackage ./test/compilers/lto.nix { };
|
lto = callPackage ./test/compilers/lto.nix { };
|
||||||
asan = callPackage ./test/compilers/asan.nix { };
|
asan = callPackage ./test/compilers/asan.nix { };
|
||||||
intel2023-icx-c = hello-c.override { stdenv = final.intelPackages_2023.stdenv; };
|
intel2023-icx-c = hello-c.override { stdenv = final.intelPackages_2023.stdenv; };
|
||||||
@@ -78,6 +99,17 @@ let
|
|||||||
intel2023-ifort = callPackage ./test/compilers/hello-f.nix {
|
intel2023-ifort = callPackage ./test/compilers/hello-f.nix {
|
||||||
stdenv = final.intelPackages_2023.stdenv-ifort;
|
stdenv = final.intelPackages_2023.stdenv-ifort;
|
||||||
};
|
};
|
||||||
|
intel2024-icx-c = hello-c.override { stdenv = final.intelPackages_2024.stdenv; };
|
||||||
|
intel2025-icx-c = hello-c.override { stdenv = final.intelPackages_2025.stdenv; };
|
||||||
|
intel2024-icx-cpp = hello-cpp.override { stdenv = final.intelPackages_2024.stdenv; };
|
||||||
|
intel2025-icx-cpp = hello-cpp.override { stdenv = final.intelPackages_2025.stdenv; };
|
||||||
|
# intel2023-sycl = hello-sycl.override { intelPackages = final.intelPackages_2023; }; # broken
|
||||||
|
intel2024-sycl = hello-sycl.override { intelPackages = final.intelPackages_2024; };
|
||||||
|
intel2025-sycl = hello-sycl.override { intelPackages = final.intelPackages_2025; };
|
||||||
|
oneapi-c = hello-c.override { inherit (final.llvm-intel) stdenv; };
|
||||||
|
oneapi-cpp = hello-cpp.override { inherit (final.llvm-intel) stdenv; };
|
||||||
|
oneapi-sycl = hello-sycl.override { intelPackages = final.llvm-intel; };
|
||||||
|
oneapi-syclompss = hello-syclompss.override { intelPackages = final.llvm-intel; };
|
||||||
clangOmpss2-lto = lto.override { stdenv = final.stdenvClangOmpss2Nanos6; };
|
clangOmpss2-lto = lto.override { stdenv = final.stdenvClangOmpss2Nanos6; };
|
||||||
clangOmpss2-asan = asan.override { stdenv = final.stdenvClangOmpss2Nanos6; };
|
clangOmpss2-asan = asan.override { stdenv = final.stdenvClangOmpss2Nanos6; };
|
||||||
clangOmpss2-task = callPackage ./test/compilers/ompss2.nix {
|
clangOmpss2-task = callPackage ./test/compilers/ompss2.nix {
|
||||||
@@ -95,6 +127,15 @@ let
|
|||||||
clangNosvOmpv-ld = callPackage ./test/compilers/clang-openmp-ld.nix {
|
clangNosvOmpv-ld = callPackage ./test/compilers/clang-openmp-ld.nix {
|
||||||
stdenv = final.stdenvClangOmpss2NodesOmpv;
|
stdenv = final.stdenvClangOmpss2NodesOmpv;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ocl-build = callPackage ./test/compilers/opencl.nix { };
|
||||||
|
ocl-build-noicd = callPackage ./test/compilers/opencl.nix { ocl-icd = final.pocl-noicd; };
|
||||||
|
|
||||||
|
pocl = callPackage ./test/compilers/pocl.nix { };
|
||||||
|
ocl-run-pocl = ocl-build.test-icd;
|
||||||
|
ocl-run-pocl-noicd = ocl-build-noicd.test-noicd;
|
||||||
|
|
||||||
|
sycl-ls = callPackage ./test/compilers/sycl-ls.nix { };
|
||||||
};
|
};
|
||||||
|
|
||||||
# For now, only build toplevel packages in CI/Hydra
|
# For now, only build toplevel packages in CI/Hydra
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ in
|
|||||||
pname = "AMD-uProf";
|
pname = "AMD-uProf";
|
||||||
inherit src version;
|
inherit src version;
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
nativeBuildInputs = [ autoPatchelfHook radare2 ];
|
nativeBuildInputs = [ autoPatchelfHook radare2 ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ in stdenv.mkDerivation {
|
|||||||
set +x
|
set +x
|
||||||
'';
|
'';
|
||||||
hardeningDisable = [ "pic" "format" ];
|
hardeningDisable = [ "pic" "format" ];
|
||||||
|
strictDeps = true;
|
||||||
nativeBuildInputs = kernel.moduleBuildDependencies;
|
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||||
patches = [ ./makefile.patch ./hrtimer.patch ./remove-wr-rdmsrq.patch ];
|
patches = [ ./makefile.patch ./hrtimer.patch ./remove-wr-rdmsrq.patch ];
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://gitlab.pm.bsc.es/rarias/bench6";
|
homepage = "https://gitlab.pm.bsc.es/rarias/bench6";
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ stdenv.mkDerivation {
|
|||||||
};
|
};
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/rodarima/bigotes";
|
homepage = "https://github.com/rodarima/bigotes";
|
||||||
description = "Versatile benchmark tool";
|
description = "Versatile benchmark tool";
|
||||||
|
|||||||
@@ -10,11 +10,14 @@
|
|||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
name = "cudainfo";
|
name = "cudainfo";
|
||||||
src = ./.;
|
src = ./.;
|
||||||
buildInputs = [
|
strictDeps = true;
|
||||||
|
nativeBuildInputs = [
|
||||||
cudatoolkit # Required for nvcc
|
cudatoolkit # Required for nvcc
|
||||||
(lib.getOutput "static" cudaPackages.cuda_cudart) # Required for -lcudart_static
|
|
||||||
autoAddDriverRunpath
|
autoAddDriverRunpath
|
||||||
];
|
];
|
||||||
|
buildInputs = [
|
||||||
|
(lib.getOutput "static" cudaPackages.cuda_cudart) # Required for -lcudart_static
|
||||||
|
];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp -a cudainfo $out/bin
|
cp -a cudainfo $out/bin
|
||||||
@@ -23,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
name = "cudainfo-test";
|
name = "cudainfo-test";
|
||||||
requiredSystemFeatures = [ "cuda" ];
|
requiredSystemFeatures = [ "cuda" ];
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
strictDeps = true;
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
finalAttrs.finalPackage # The cudainfo package from above
|
finalAttrs.finalPackage # The cudainfo package from above
|
||||||
strace # When it fails, it will show the trace
|
strace # When it fails, it will show the trace
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
#, python3Packages
|
#, python3Packages
|
||||||
, installShellFiles
|
, installShellFiles
|
||||||
, symlinkJoin
|
, symlinkJoin
|
||||||
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
|
, enablePapi ? true
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
patches = [ ./rdma-core.patch ./max-mem.patch ];
|
patches = [ ./rdma-core.patch ./max-mem.patch ];
|
||||||
|
|
||||||
|
|||||||
191
pkgs/gromacs/default.nix
Normal file
191
pkgs/gromacs/default.nix
Normal file
@@ -0,0 +1,191 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchurl,
|
||||||
|
cmake,
|
||||||
|
hwloc,
|
||||||
|
fftw,
|
||||||
|
perl,
|
||||||
|
blas,
|
||||||
|
lapack,
|
||||||
|
llvmPackages,
|
||||||
|
intelPackages ? null,
|
||||||
|
mpi,
|
||||||
|
cudaPackages,
|
||||||
|
plumed,
|
||||||
|
singlePrec ? true,
|
||||||
|
config,
|
||||||
|
enableSYCL ? false,
|
||||||
|
enableCuda ? config.cudaSupport,
|
||||||
|
enableMpi ? false,
|
||||||
|
enablePlumed ? false,
|
||||||
|
cpuAcceleration ? null,
|
||||||
|
}:
|
||||||
|
|
||||||
|
# CUDA is only implemented for single precission
|
||||||
|
assert enableCuda -> singlePrec;
|
||||||
|
|
||||||
|
assert !(enableSYCL && enableCuda);
|
||||||
|
|
||||||
|
assert enableSYCL -> intelPackages != null;
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (cudaPackages.flags) cmakeCudaArchitecturesString;
|
||||||
|
|
||||||
|
# Select reasonable defaults for all major platforms
|
||||||
|
# The possible values are defined in CMakeLists.txt:
|
||||||
|
# AUTO None SSE2 SSE4.1 AVX_128_FMA AVX_256 AVX2_256
|
||||||
|
# AVX2_128 AVX_512 AVX_512_KNL MIC ARM_NEON ARM_NEON_ASIMD
|
||||||
|
SIMD =
|
||||||
|
x:
|
||||||
|
if (cpuAcceleration != null) then
|
||||||
|
x
|
||||||
|
else if stdenv.hostPlatform.system == "i686-linux" then
|
||||||
|
"SSE2"
|
||||||
|
else if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||||
|
"SSE4.1"
|
||||||
|
else if stdenv.hostPlatform.system == "x86_64-darwin" then
|
||||||
|
"SSE4.1"
|
||||||
|
else if stdenv.hostPlatform.system == "aarch64-linux" then
|
||||||
|
"ARM_NEON_ASIMD"
|
||||||
|
else
|
||||||
|
"None";
|
||||||
|
|
||||||
|
source =
|
||||||
|
if enablePlumed then
|
||||||
|
{
|
||||||
|
version = "2024.2";
|
||||||
|
hash = "sha256-gCp+M18uiVdw9XsVnk7DaOuw/yzm2sz3BsboAlw2hSs=";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
version = "2025.3";
|
||||||
|
hash = "sha256-i9/KAmjz8Qp8o8BuWbYvc+oCQgxnIRwP85EvMteDPGU=";
|
||||||
|
};
|
||||||
|
|
||||||
|
stdenv' = if enableSYCL then intelPackages.stdenv else stdenv;
|
||||||
|
|
||||||
|
in
|
||||||
|
stdenv'.mkDerivation rec {
|
||||||
|
pname = "gromacs";
|
||||||
|
version = source.version;
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-${version}.tar.gz";
|
||||||
|
inherit (source) hash;
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [ (if enablePlumed then ./pkgconfig-2024.patch else ./pkgconfig-2025.patch) ];
|
||||||
|
|
||||||
|
postPatch = lib.optionalString enablePlumed ''
|
||||||
|
plumed patch -p -e gromacs-${source.version}
|
||||||
|
'';
|
||||||
|
|
||||||
|
outputs = [
|
||||||
|
"out"
|
||||||
|
"dev"
|
||||||
|
"man"
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
]
|
||||||
|
++ lib.optional enablePlumed plumed
|
||||||
|
++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ];
|
||||||
|
|
||||||
|
env.MKLROOT = intelPackages.mkl;
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
fftw
|
||||||
|
perl
|
||||||
|
hwloc
|
||||||
|
blas
|
||||||
|
lapack
|
||||||
|
]
|
||||||
|
++ lib.optional enableMpi mpi
|
||||||
|
++ lib.optionals enableCuda [
|
||||||
|
cudaPackages.cuda_cccl
|
||||||
|
cudaPackages.cuda_cudart
|
||||||
|
cudaPackages.libcufft
|
||||||
|
cudaPackages.cuda_profiler_api
|
||||||
|
]
|
||||||
|
++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.openmp;
|
||||||
|
|
||||||
|
propagatedBuildInputs = lib.optional enableMpi mpi;
|
||||||
|
propagatedUserEnvPkgs = lib.optional enableMpi mpi;
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
(lib.cmakeBool "GMX_HWLOC" true)
|
||||||
|
"-DGMX_SIMD:STRING=${SIMD cpuAcceleration}"
|
||||||
|
"-DGMX_OPENMP:BOOL=TRUE"
|
||||||
|
"-DBUILD_SHARED_LIBS=ON"
|
||||||
|
]
|
||||||
|
++ (
|
||||||
|
if singlePrec then
|
||||||
|
[
|
||||||
|
"-DGMX_DOUBLE=OFF"
|
||||||
|
]
|
||||||
|
else
|
||||||
|
[
|
||||||
|
"-DGMX_DOUBLE=ON"
|
||||||
|
"-DGMX_DEFAULT_SUFFIX=OFF"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
++ (
|
||||||
|
if enableMpi then
|
||||||
|
[
|
||||||
|
"-DGMX_MPI:BOOL=TRUE"
|
||||||
|
"-DGMX_THREAD_MPI:BOOL=FALSE"
|
||||||
|
]
|
||||||
|
else
|
||||||
|
[
|
||||||
|
"-DGMX_MPI:BOOL=FALSE"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
++ (lib.optionals enableSYCL [
|
||||||
|
"-DGMX_GPU=SYCL"
|
||||||
|
"-DGMX_OPENMP=OFF" # TODO: enable OpenMP with SYCL?
|
||||||
|
])
|
||||||
|
++ lib.optionals enableCuda [
|
||||||
|
"-DGMX_GPU=CUDA"
|
||||||
|
(lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cmakeCudaArchitecturesString)
|
||||||
|
|
||||||
|
# Gromacs seems to ignore and override the normal variables, so we add this ad hoc:
|
||||||
|
(lib.cmakeFeature "GMX_CUDA_TARGET_COMPUTE" cmakeCudaArchitecturesString)
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
moveToOutput share/cmake $dev
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://www.gromacs.org";
|
||||||
|
license = licenses.lgpl21Plus;
|
||||||
|
description = "Molecular dynamics software package";
|
||||||
|
longDescription = ''
|
||||||
|
GROMACS is a versatile package to perform molecular dynamics,
|
||||||
|
i.e. simulate the Newtonian equations of motion for systems
|
||||||
|
with hundreds to millions of particles.
|
||||||
|
|
||||||
|
It is primarily designed for biochemical molecules like
|
||||||
|
proteins, lipids and nucleic acids that have a lot of
|
||||||
|
complicated bonded interactions, but since GROMACS is
|
||||||
|
extremely fast at calculating the nonbonded interactions (that
|
||||||
|
usually dominate simulations) many groups are also using it
|
||||||
|
for research on non-biological systems, e.g. polymers.
|
||||||
|
|
||||||
|
GROMACS supports all the usual algorithms you expect from a
|
||||||
|
modern molecular dynamics implementation, (check the online
|
||||||
|
reference or manual for details), but there are also quite a
|
||||||
|
few features that make it stand out from the competition.
|
||||||
|
|
||||||
|
See: https://www.gromacs.org/about.html for details.
|
||||||
|
'';
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [
|
||||||
|
sheepforce
|
||||||
|
markuskowa
|
||||||
|
bsc.abonerib
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
24
pkgs/gromacs/pkgconfig-2024.patch
Normal file
24
pkgs/gromacs/pkgconfig-2024.patch
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
diff --git a/src/external/muparser/muparser.pc.in b/src/external/muparser/muparser.pc.in
|
||||||
|
index 646787cb53..9b97ad57f7 100644
|
||||||
|
--- a/src/external/muparser/muparser.pc.in
|
||||||
|
+++ b/src/external/muparser/muparser.pc.in
|
||||||
|
@@ -1,7 +1,5 @@
|
||||||
|
-prefix=@CMAKE_INSTALL_PREFIX@
|
||||||
|
-exec_prefix=${prefix}
|
||||||
|
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||||
|
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||||
|
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||||
|
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||||
|
|
||||||
|
Name: @PACKAGE_NAME@
|
||||||
|
Description: Mathematical expressions parser library
|
||||||
|
diff --git a/src/gromacs/libgromacs.pc.cmakein b/src/gromacs/libgromacs.pc.cmakein
|
||||||
|
index ec1ed6684e..ca1105474a 100644
|
||||||
|
--- a/src/gromacs/libgromacs.pc.cmakein
|
||||||
|
+++ b/src/gromacs/libgromacs.pc.cmakein
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
|
||||||
|
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||||
|
|
||||||
|
Name: libgromacs@GMX_LIBS_SUFFIX@
|
||||||
|
Description: Gromacs library
|
||||||
36
pkgs/gromacs/pkgconfig-2025.patch
Normal file
36
pkgs/gromacs/pkgconfig-2025.patch
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
diff --git a/src/external/muparser/muparser.pc.in b/src/external/muparser/muparser.pc.in
|
||||||
|
index 646787cb53..d26e84de8f 100644
|
||||||
|
--- a/src/external/muparser/muparser.pc.in
|
||||||
|
+++ b/src/external/muparser/muparser.pc.in
|
||||||
|
@@ -1,11 +1,9 @@
|
||||||
|
-prefix=@CMAKE_INSTALL_PREFIX@
|
||||||
|
-exec_prefix=${prefix}
|
||||||
|
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||||
|
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||||
|
-
|
||||||
|
-Name: @PACKAGE_NAME@
|
||||||
|
-Description: Mathematical expressions parser library
|
||||||
|
-Version: @MUPARSER_VERSION@
|
||||||
|
-Requires:
|
||||||
|
-Libs: -L${libdir} -lmuparser
|
||||||
|
-Cflags: -I${includedir} @PKG_CONFIG_FLAGS@
|
||||||
|
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||||
|
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||||
|
+
|
||||||
|
+Name: @PACKAGE_NAME@
|
||||||
|
+Description: Mathematical expressions parser library
|
||||||
|
+Version: @MUPARSER_VERSION@
|
||||||
|
+Requires:
|
||||||
|
+Libs: -L${libdir} -lmuparser
|
||||||
|
+Cflags: -I${includedir} @PKG_CONFIG_FLAGS@
|
||||||
|
diff --git a/src/gromacs/libgromacs.pc.cmakein b/src/gromacs/libgromacs.pc.cmakein
|
||||||
|
index af9b5a6dc0..5f58d549bf 100644
|
||||||
|
--- a/src/gromacs/libgromacs.pc.cmakein
|
||||||
|
+++ b/src/gromacs/libgromacs.pc.cmakein
|
||||||
|
@@ -1,5 +1,4 @@
|
||||||
|
-prefix=@CMAKE_INSTALL_PREFIX@
|
||||||
|
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||||
|
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||||
|
|
||||||
|
Name: libgromacs@GMX_LIBS_SUFFIX@
|
||||||
|
Description: Gromacs library
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
73
pkgs/intel-oneapi/common/wrapper.nix
Normal file
73
pkgs/intel-oneapi/common/wrapper.nix
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
lib,
|
||||||
|
gcc,
|
||||||
|
libgcc,
|
||||||
|
overrideCC,
|
||||||
|
wrapCCWith,
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
cc,
|
||||||
|
extraPath ? lib.makeBinPath (
|
||||||
|
[ gcc.cc ] ++ (lib.optionals (cc.enableCuda or false) [ cc.cudaPackages.cudatoolkit ])
|
||||||
|
),
|
||||||
|
extraBuildCommands ? "",
|
||||||
|
extraInstallCommands ? "",
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
|
in
|
||||||
|
(wrapCCWith {
|
||||||
|
inherit cc;
|
||||||
|
|
||||||
|
nixSupport = {
|
||||||
|
cc-ldflags = [
|
||||||
|
"-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}"
|
||||||
|
"-L${gcc.cc.lib}/lib"
|
||||||
|
"-L${libgcc.out}/lib"
|
||||||
|
"-L${gcc.libc}/lib"
|
||||||
|
"-L${cc}/lib"
|
||||||
|
];
|
||||||
|
cc-cflags = [
|
||||||
|
"--gcc-toolchain=${gcc.cc}"
|
||||||
|
"-isystem ${cc.original or cc}/lib/clang/${toString cc.llvmMajorVersion}/include"
|
||||||
|
"-isystem ${cc}/include"
|
||||||
|
"-isystem ${cc}/include/intel64"
|
||||||
|
"-isystem ${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}/include"
|
||||||
|
];
|
||||||
|
libcxx-cxxflags = [
|
||||||
|
"-isystem ${gcc.cc}/include/c++/${gcc.version}"
|
||||||
|
"-isystem ${gcc.cc}/include/c++/${gcc.version}/${targetConfig}"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraBuildCommands = ''
|
||||||
|
# FIXME: We should find a better way to modify the PATH instead of using
|
||||||
|
# this ugly hack. See https://jungle.bsc.es/git/rarias/bscpkgs/issues/9
|
||||||
|
echo 'path_backup="${extraPath}:$path_backup"' >>$out/nix-support/cc-wrapper-hook
|
||||||
|
|
||||||
|
# Disable hardening by default
|
||||||
|
echo "" > $out/nix-support/add-hardening.sh
|
||||||
|
|
||||||
|
pushd $ccPath
|
||||||
|
for i in $ {llvm,sycl}-* ; do
|
||||||
|
ln -s $ccPath/$i $out/bin/$i
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Use this to detect when a compiler subprocess is called
|
||||||
|
# from icpx (--fsycl-host-compiler)
|
||||||
|
echo 'export NIX_CC_WRAPPER_INTEL=1' >>$out/nix-support/cc-wrapper-hook
|
||||||
|
|
||||||
|
# oneMath looks for sycl libraries in bin/../lib
|
||||||
|
ln -s ${cc}/lib $out/lib
|
||||||
|
ln -s ${cc}/include $out/include
|
||||||
|
''
|
||||||
|
+ extraBuildCommands;
|
||||||
|
}).overrideAttrs
|
||||||
|
(finalAttrs: prevAttrs: {
|
||||||
|
installPhase = prevAttrs.installPhase + extraInstallCommands;
|
||||||
|
passthru.stdenv = overrideCC stdenv finalAttrs.finalPackage;
|
||||||
|
})
|
||||||
@@ -40,45 +40,19 @@ let
|
|||||||
mpi = "2021.9.0";
|
mpi = "2021.9.0";
|
||||||
};
|
};
|
||||||
|
|
||||||
aptPackageIndex = stdenv.mkDerivation {
|
findMatch = name:
|
||||||
name = "intel-oneapi-packages";
|
|
||||||
srcs = [
|
|
||||||
# Run update.sh to update the package lists
|
|
||||||
./amd64-packages ./all-packages
|
|
||||||
];
|
|
||||||
phases = [ "installPhase" ];
|
|
||||||
installPhase = ''
|
|
||||||
awk -F': ' '\
|
|
||||||
BEGIN { print "[ {" } \
|
|
||||||
NR>1 && /^Package: / { print "} {"; } \
|
|
||||||
/: / { printf "%s = \"%s\";\n", $1, $2 } \
|
|
||||||
END { print "} ]" }' $srcs > $out
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
aptPackages = import aptPackageIndex;
|
|
||||||
|
|
||||||
apthost = "https://apt.repos.intel.com/oneapi/";
|
|
||||||
|
|
||||||
getSum = pkgList: name:
|
|
||||||
let
|
let
|
||||||
matches = lib.filter (x: name == x.Package) pkgList;
|
aptPackages = builtins.getAttr "hpckit-2023-1-0" (builtins.fromTOML (builtins.readFile ./packages.toml));
|
||||||
#n = lib.length matches;
|
matches = lib.filter (x: lib.hasPrefix name (x.name + "-" + x.version)) aptPackages;
|
||||||
#match = builtins.trace (name + " -- ${builtins.toString n}") (lib.elemAt matches 0);
|
|
||||||
match = lib.elemAt matches 0;
|
|
||||||
in
|
|
||||||
match.SHA256;
|
|
||||||
|
|
||||||
getUrl = pkgList: name:
|
|
||||||
let
|
|
||||||
matches = lib.filter (x: name == x.Package) pkgList;
|
|
||||||
#match = assert lib.length matches == 1; lib.elemAt matches 0;
|
|
||||||
n = lib.length matches;
|
n = lib.length matches;
|
||||||
match =
|
match = builtins.traceVerbose (name + " -- ${builtins.toString n}") (builtins.head matches);
|
||||||
#builtins.trace (name + " -- n=${builtins.toString n}")
|
|
||||||
(lib.elemAt matches 0);
|
apthost = "https://apt.repos.intel.com/oneapi/";
|
||||||
in
|
in
|
||||||
apthost + match.Filename;
|
{
|
||||||
|
url = apthost + match.file;
|
||||||
|
sha256 = match.sha256;
|
||||||
|
};
|
||||||
|
|
||||||
uncompressDebs = debs: name: stdenv.mkDerivation {
|
uncompressDebs = debs: name: stdenv.mkDerivation {
|
||||||
name = name;
|
name = name;
|
||||||
@@ -98,10 +72,7 @@ let
|
|||||||
|
|
||||||
joinDebs = name: names:
|
joinDebs = name: names:
|
||||||
let
|
let
|
||||||
urls = builtins.map (x: getUrl aptPackages x) names;
|
debs = builtins.map (x: builtins.fetchurl (findMatch x)) names;
|
||||||
sums = builtins.map (x: getSum aptPackages x) names;
|
|
||||||
getsrc = url: sha256: builtins.fetchurl { inherit url sha256; };
|
|
||||||
debs = lib.zipListsWith getsrc urls sums;
|
|
||||||
in
|
in
|
||||||
uncompressDebs debs "${name}-source";
|
uncompressDebs debs "${name}-source";
|
||||||
|
|
||||||
@@ -328,7 +299,7 @@ let
|
|||||||
src = joinDebs pname [
|
src = joinDebs pname [
|
||||||
# C/C++
|
# C/C++
|
||||||
"intel-oneapi-dpcpp-cpp-${version}"
|
"intel-oneapi-dpcpp-cpp-${version}"
|
||||||
"intel-oneapi-compiler-dpcpp-cpp-${version}"
|
# "intel-oneapi-compiler-dpcpp-cpp-${version}"
|
||||||
"intel-oneapi-compiler-dpcpp-cpp-common-${version}"
|
"intel-oneapi-compiler-dpcpp-cpp-common-${version}"
|
||||||
"intel-oneapi-compiler-dpcpp-cpp-runtime-${version}"
|
"intel-oneapi-compiler-dpcpp-cpp-runtime-${version}"
|
||||||
"intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-${version}"
|
"intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-${version}"
|
||||||
@@ -470,7 +441,7 @@ let
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
ifort-wrapper = wrapIntel rec {
|
ifort-wrapper = wrapIntel {
|
||||||
cc = intel-compiler-fortran;
|
cc = intel-compiler-fortran;
|
||||||
mygcc = gcc;
|
mygcc = gcc;
|
||||||
extraBuild = ''
|
extraBuild = ''
|
||||||
149
pkgs/intel-oneapi/deb/packages.nix
Normal file
149
pkgs/intel-oneapi/deb/packages.nix
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
callPackage,
|
||||||
|
dpkg,
|
||||||
|
fetchurl,
|
||||||
|
|
||||||
|
sqlite,
|
||||||
|
elfutils,
|
||||||
|
|
||||||
|
intelAptRepoURL ? "https://apt.repos.intel.com/oneapi/"
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (builtins) map mapAttrs readFile;
|
||||||
|
|
||||||
|
fetchDeb =
|
||||||
|
p:
|
||||||
|
fetchurl {
|
||||||
|
url = intelAptRepoURL + p.file;
|
||||||
|
inherit (p) sha256;
|
||||||
|
};
|
||||||
|
|
||||||
|
dpkgExtractAll =
|
||||||
|
pname: version:
|
||||||
|
{ srcs, deps }:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
inherit pname version srcs;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ dpkg ];
|
||||||
|
phases = [ "installPhase" ];
|
||||||
|
|
||||||
|
passthru = { inherit deps; };
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out
|
||||||
|
for src in $srcs; do
|
||||||
|
echo "Unpacking $src"
|
||||||
|
dpkg -x $src $out
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
extractKit =
|
||||||
|
name: version: pkg:
|
||||||
|
dpkgExtractAll "${name}-extracted" version {
|
||||||
|
srcs = map fetchDeb pkg;
|
||||||
|
deps = pkg;
|
||||||
|
};
|
||||||
|
|
||||||
|
patchIntel = callPackage ./patch_intel.nix { };
|
||||||
|
|
||||||
|
# Version information for each hpckit. This is used to normalize the paths
|
||||||
|
# so that files are in $out/{bin,lib,include...} instead of all over the place
|
||||||
|
# in $out/opt/intel/oneapi/*/*/{...}.
|
||||||
|
#
|
||||||
|
# The most important is the compiler component, which is used to build the
|
||||||
|
# stdenv for the hpckit.
|
||||||
|
#
|
||||||
|
# NOTE: this have to be manually specified, so we can avoid IFD. To add a
|
||||||
|
# new version, add a new field with an empty attrset, (e.g. "2026" = {}; ),
|
||||||
|
# build hpckit_2026.unpatched and use the values from
|
||||||
|
# result/opt/intel/oneapi/* to populate the attrset.
|
||||||
|
#
|
||||||
|
# WARN: if there are more than one version in the folders of the unpatched
|
||||||
|
# components, our dependency resolution hacks have probably failed and the
|
||||||
|
# package set may be broken.
|
||||||
|
components = {
|
||||||
|
# hpckit-2023 = {
|
||||||
|
# ccl = "2021.10.0";
|
||||||
|
# compiler = "2023.2.4";
|
||||||
|
# # conda_channel = "linux-64"; # TODO: which package pulls this?
|
||||||
|
# dal = "2023.2.0";
|
||||||
|
# debugger = "2023.2.0";
|
||||||
|
# dev-utilities = "2021.10.0";
|
||||||
|
# diagnostics = "2022.4.0";
|
||||||
|
# dnnl = "2023.2.0";
|
||||||
|
# dpcpp-ct = "2023.2.0";
|
||||||
|
# dpl = "2022.2.0";
|
||||||
|
# ipp = "2021.9.0";
|
||||||
|
# ippcp = "2021.8.0";
|
||||||
|
# itac = "2021.10.0";
|
||||||
|
# mkl = "2023.2.0";
|
||||||
|
# mpi = "2021.10.0";
|
||||||
|
# tbb = "2021.10.0";
|
||||||
|
#
|
||||||
|
# llvmMajorVersion = 14;
|
||||||
|
# };
|
||||||
|
|
||||||
|
hpckit-2024 = {
|
||||||
|
tcm = "1.1";
|
||||||
|
|
||||||
|
ccl = "2021.13";
|
||||||
|
compiler = "2024.2";
|
||||||
|
dal = "2024.6";
|
||||||
|
debugger = "2024.2";
|
||||||
|
dev-utilities = "2024.2";
|
||||||
|
diagnostics = "2024.2";
|
||||||
|
dnnl = "2024.2";
|
||||||
|
dpcpp-ct = "2024.2";
|
||||||
|
dpl = "2022.6";
|
||||||
|
ipp = "2021.12";
|
||||||
|
ippcp = "2021.12";
|
||||||
|
mkl = "2024.2";
|
||||||
|
mpi = "2021.13";
|
||||||
|
tbb = "2021.13";
|
||||||
|
|
||||||
|
llvmMajorVersion = 19;
|
||||||
|
|
||||||
|
extraPackages = [
|
||||||
|
sqlite
|
||||||
|
elfutils
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
hpckit-2025 = {
|
||||||
|
ishmem = "1.5";
|
||||||
|
tcm = "1.4";
|
||||||
|
umf = "1.0";
|
||||||
|
|
||||||
|
ccl = "2021.17";
|
||||||
|
compiler = "2025.3";
|
||||||
|
dal = "2025.10";
|
||||||
|
debugger = "2025.3";
|
||||||
|
dev-utilities = "2025.3";
|
||||||
|
dnnl = "2025.3";
|
||||||
|
dpcpp-ct = "2025.3";
|
||||||
|
dpl = "2022.10";
|
||||||
|
ipp = "2022.3";
|
||||||
|
ippcp = "2025.3";
|
||||||
|
mkl = "2025.3";
|
||||||
|
mpi = "2021.17";
|
||||||
|
tbb = "2022.3";
|
||||||
|
|
||||||
|
llvmMajorVersion = 21;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
mapAttrs (
|
||||||
|
name: value:
|
||||||
|
patchIntel {
|
||||||
|
unpatched = extractKit (lib.getName name) (lib.getVersion name) value;
|
||||||
|
components = components.${name};
|
||||||
|
}
|
||||||
|
) (fromTOML (readFile ./packages.toml))
|
||||||
|
// {
|
||||||
|
inherit patchIntel extractKit;
|
||||||
|
}
|
||||||
966
pkgs/intel-oneapi/deb/packages.toml
Normal file
966
pkgs/intel-oneapi/deb/packages.toml
Normal file
@@ -0,0 +1,966 @@
|
|||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-ccl"
|
||||||
|
version="2021.9.0-43543"
|
||||||
|
file="pool/main/intel-oneapi-ccl-2021.9.0-2021.9.0-43543_amd64.deb"
|
||||||
|
sha256="153807818d0f67bf351acdcb30520e34d3b21e57d2feecb35bbffce741b220ab"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-ccl-devel"
|
||||||
|
version="2021.9.0-43543"
|
||||||
|
file="pool/main/intel-oneapi-ccl-devel-2021.9.0-2021.9.0-43543_amd64.deb"
|
||||||
|
sha256="4271cd383fc618633566340b7f8ae1fcf7882f208dffcf854d50c10f4389cf72"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-clck"
|
||||||
|
version="2021.7.3-45658"
|
||||||
|
file="pool/main/intel-oneapi-clck-2021.7.3-2021.7.3-45658_amd64.deb"
|
||||||
|
sha256="045a5e1f1135cfef146f7b5211dcad3afd5608bef283c7f03a920bf686a86586"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.1.0-2023.1.0-46305_amd64.deb"
|
||||||
|
sha256="8a85a64359f8ea49d82a0a1e89d9a456d3447f917c5a0682d2f6b3d09c6fe48e"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-common"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-common-2023.1.0-2023.1.0-46305_all.deb"
|
||||||
|
sha256="d38895ab3046195929b7109b8bf80b3a0cd14507fda096ab7d0577aaea79b727"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-runtime"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-runtime-2023.1.0-2023.1.0-46305_amd64.deb"
|
||||||
|
sha256="2b12ab367bbf7e07d1f9da0b3ec6b3dd409703cb08802cd1e87b78192d90cf39"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-compiler-dpcpp-cpp-classic-fortran-shared-runtime"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-compiler-dpcpp-cpp-classic-fortran-shared-runtime-2023.1.0-2023.1.0-46305_amd64.deb"
|
||||||
|
sha256="354e65a469a9ab8e5c72684ff8c2dc5731356bc7be45012eff23e75302624edf"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-compiler-dpcpp-cpp-common"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-compiler-dpcpp-cpp-common-2023.1.0-2023.1.0-46305_all.deb"
|
||||||
|
sha256="9c117b25ddee699d1a8162ab101b9c23beeea5e9a3f2409414ee6bbc78d6593b"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-compiler-dpcpp-cpp-runtime"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-compiler-dpcpp-cpp-runtime-2023.1.0-2023.1.0-46305_amd64.deb"
|
||||||
|
sha256="d0eec67fe7e3b36c8c5b1d07a17779f739fd2fd1881f6b1848169faffcb855c6"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-compiler-fortran"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-compiler-fortran-2023.1.0-2023.1.0-46305_amd64.deb"
|
||||||
|
sha256="c8c73b7a88ed594c53a424dc3ed1dc497259da960dad5eb902982f5c31059e8d"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-compiler-fortran-common"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-compiler-fortran-common-2023.1.0-2023.1.0-46305_all.deb"
|
||||||
|
sha256="312bc5e47b7254c5637110a31c48509e09bdcb4af07a8edfddc3d190cd83d9b7"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-compiler-fortran-runtime"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-compiler-fortran-runtime-2023.1.0-2023.1.0-46305_amd64.deb"
|
||||||
|
sha256="bb137c02afd6c372e0734c424e2087c9509fbe2f154eee1f363e39368f794334"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-compiler-shared"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-compiler-shared-2023.1.0-2023.1.0-46305_amd64.deb"
|
||||||
|
sha256="014104b9721d7fca7bb2529ed810f27e9a73410698e9cc643ded7f909a7f17cf"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-compiler-shared-common"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-compiler-shared-common-2023.1.0-2023.1.0-46305_all.deb"
|
||||||
|
sha256="894eaf13bfe840d2f5df49685e9f5bb9ca8212bc2c8ddf848adcabb3806db8bd"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-compiler-shared-runtime"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-compiler-shared-runtime-2023.1.0-2023.1.0-46305_amd64.deb"
|
||||||
|
sha256="fa3f4c23f527f1ced767fef56c022e252daedd08fab752ec653985f178d509b6"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-dal"
|
||||||
|
version="2023.1.0-46349"
|
||||||
|
file="pool/main/intel-oneapi-dal-2023.1.0-2023.1.0-46349_amd64.deb"
|
||||||
|
sha256="1c7c79398aad2010590ac092087bd8430232cf79bd859b8f3a5ac08bf8b1e9f9"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-dal-common"
|
||||||
|
version="2023.1.0-46349"
|
||||||
|
file="pool/main/intel-oneapi-dal-common-2023.1.0-2023.1.0-46349_all.deb"
|
||||||
|
sha256="ffa4620fe6deeb71779ecc8ea6e4b113d93d0abb326632ec87a2be6aa62b579f"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-dal-common-devel"
|
||||||
|
version="2023.1.0-46349"
|
||||||
|
file="pool/main/intel-oneapi-dal-common-devel-2023.1.0-2023.1.0-46349_all.deb"
|
||||||
|
sha256="72f539982ef75acc8d236144529715d656f35b3ffff486f5205295aa97fe097b"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-dal-devel"
|
||||||
|
version="2023.1.0-46349"
|
||||||
|
file="pool/main/intel-oneapi-dal-devel-2023.1.0-2023.1.0-46349_amd64.deb"
|
||||||
|
sha256="202b28dc9cba1d978d3dd296b66fb2de266adb53f8c1aaeead3dd70d713756d6"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-dev-utilities"
|
||||||
|
version="2021.9.0-44447"
|
||||||
|
file="pool/main/intel-oneapi-dev-utilities-2021.9.0-2021.9.0-44447_amd64.deb"
|
||||||
|
sha256="2d34f9d4f746b2b6468ed033628ffbe7838bf1d0bafcc3650d13d5740b10157f"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-diagnostics-utility"
|
||||||
|
version="2022.3.0-43897"
|
||||||
|
file="pool/main/intel-oneapi-diagnostics-utility-2022.3.0-43897_amd64.deb"
|
||||||
|
sha256="0dcb568c586269c34acf055a2531eda75b1e79beaeca2587f3a87daf5167a86f"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-dnnl"
|
||||||
|
version="2023.1.0-46343"
|
||||||
|
file="pool/main/intel-oneapi-dnnl-2023.1.0-46343_amd64.deb"
|
||||||
|
sha256="e60916a5849ba8faacd46f9633cdd6e9623fc45828696afe5d8308b7a6fcd96e"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-dnnl-devel"
|
||||||
|
version="2023.1.0-46343"
|
||||||
|
file="pool/main/intel-oneapi-dnnl-devel-2023.1.0-46343_amd64.deb"
|
||||||
|
sha256="5a014e468825ad12b674b88a8b549e6a607bf8a8caf2e100e525e41ac9302db6"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-dpcpp-cpp"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-dpcpp-cpp-2023.1.0-2023.1.0-46305_amd64.deb"
|
||||||
|
sha256="5acd0dc9fc540355bc19317be5d79686f2acb90ac28486dd0717c423e4c94326"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-dpcpp-ct"
|
||||||
|
version="2023.1.0-44450"
|
||||||
|
file="pool/main/intel-oneapi-dpcpp-ct-2023.1.0-2023.1.0-44450_amd64.deb"
|
||||||
|
sha256="062a8186d07999286875f13de68b7516c10ed4466c408b03558b318e2cffa291"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-dpcpp-debugger"
|
||||||
|
version="2023.1.0-43513"
|
||||||
|
file="pool/main/intel-oneapi-dpcpp-debugger-2023.1.0-2023.1.0-43513_amd64.deb"
|
||||||
|
sha256="910daada72c1754f3784906a105788f9de226c84b0147c38c63ce4345ab5455e"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-dpcpp-debugger-eclipse-cfg"
|
||||||
|
version="2023.1.0-43513"
|
||||||
|
file="pool/main/intel-oneapi-dpcpp-debugger-eclipse-cfg-2023.1.0-43513_all.deb"
|
||||||
|
sha256="389ace7ca89e567cf63dbc083dfea3c2ecef645f5461aca35cda02e5410ced8a"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-ipp"
|
||||||
|
version="2021.8.0-46345"
|
||||||
|
file="pool/main/intel-oneapi-ipp-2021.8.0-2021.8.0-46345_amd64.deb"
|
||||||
|
sha256="2e7e6bdf92b650bcb56e5f72224289531b35de870e16b46b2000ee1276185186"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-ipp-common"
|
||||||
|
version="2021.8.0-46345"
|
||||||
|
file="pool/main/intel-oneapi-ipp-common-2021.8.0-2021.8.0-46345_all.deb"
|
||||||
|
sha256="d367b5eb7135fd16e78be64e31be8fabf82bdd7ff5b7e20c0cab7aa89da82612"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-ipp-common-devel"
|
||||||
|
version="2021.8.0-46345"
|
||||||
|
file="pool/main/intel-oneapi-ipp-common-devel-2021.8.0-2021.8.0-46345_all.deb"
|
||||||
|
sha256="16f5d9448492023b701b36dbe860ede13fb771ca60d5165464151f4fec086423"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-ipp-devel"
|
||||||
|
version="2021.8.0-46345"
|
||||||
|
file="pool/main/intel-oneapi-ipp-devel-2021.8.0-2021.8.0-46345_amd64.deb"
|
||||||
|
sha256="0651c32a8875ffad2c627aae8c120366b51ae5bf62aa3fb3ac478e635aeeb871"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-ippcp"
|
||||||
|
version="2021.7.0-43492"
|
||||||
|
file="pool/main/intel-oneapi-ippcp-2021.7.0-2021.7.0-43492_amd64.deb"
|
||||||
|
sha256="51c8ba51ffb8aa8d8fb89cb0e33e52ba6a1b415e6dcfa8dbf3e6c111f33f67d9"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-ippcp-common"
|
||||||
|
version="2021.7.0-43492"
|
||||||
|
file="pool/main/intel-oneapi-ippcp-common-2021.7.0-2021.7.0-43492_all.deb"
|
||||||
|
sha256="acda55e5e660fb0a15183310aaf5acd42b2a5aef82395964e2aa2d74012b8fde"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-ippcp-common-devel"
|
||||||
|
version="2021.7.0-43492"
|
||||||
|
file="pool/main/intel-oneapi-ippcp-common-devel-2021.7.0-2021.7.0-43492_all.deb"
|
||||||
|
sha256="d2c7e3f1c6a1cb0c84bfeb8ab1d398dc5dd4ebd48569a2a1d4d64292bb4bf938"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-ippcp-devel"
|
||||||
|
version="2021.7.0-43492"
|
||||||
|
file="pool/main/intel-oneapi-ippcp-devel-2021.7.0-2021.7.0-43492_amd64.deb"
|
||||||
|
sha256="8b682da8d14c940779845385b9a68b9a71c5a488791ea1c3f64d4eb317abd23f"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-itac"
|
||||||
|
version="2021.9.0-43491"
|
||||||
|
file="pool/main/intel-oneapi-itac-2021.9.0-2021.9.0-43491_amd64.deb"
|
||||||
|
sha256="b8b393e0f7f027f56e3d6c3fe06c2bf84fe40783701a0849fd13982d9e8eff50"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-libdpstd-devel"
|
||||||
|
version="2022.1.0-43490"
|
||||||
|
file="pool/main/intel-oneapi-libdpstd-devel-2022.1.0-2022.1.0-43490_amd64.deb"
|
||||||
|
sha256="133b98eec6558ffee3cec65bcadcda097497cd390a63c3da09f77a7d7d225ded"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-mkl"
|
||||||
|
version="2023.1.0-46342"
|
||||||
|
file="pool/main/intel-oneapi-mkl-2023.1.0-2023.1.0-46342_amd64.deb"
|
||||||
|
sha256="0581a867bed4ef620812bc05faa35228b7439d4f1d33f0eb4483f7eb8cafe8aa"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-mkl-common"
|
||||||
|
version="2023.1.0-46342"
|
||||||
|
file="pool/main/intel-oneapi-mkl-common-2023.1.0-2023.1.0-46342_all.deb"
|
||||||
|
sha256="50c1537cd8252b443802325a6938f607b4b3801c552e77aacaa8d9d9dfc8c34e"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-mkl-common-devel"
|
||||||
|
version="2023.1.0-46342"
|
||||||
|
file="pool/main/intel-oneapi-mkl-common-devel-2023.1.0-2023.1.0-46342_all.deb"
|
||||||
|
sha256="bb096792ea3669a0977beb0949c49238e0e43e3bc48a7f63abc5fdb856562651"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-mkl-devel"
|
||||||
|
version="2023.1.0-46342"
|
||||||
|
file="pool/main/intel-oneapi-mkl-devel-2023.1.0-2023.1.0-46342_amd64.deb"
|
||||||
|
sha256="1eeb94ad7aeebd55873cb64f2ba3db5a202e3c6f17c7d3095742aeb95c72f2cd"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-mpi"
|
||||||
|
version="2021.9.0-43482"
|
||||||
|
file="pool/main/intel-oneapi-mpi-2021.9.0-2021.9.0-43482_amd64.deb"
|
||||||
|
sha256="ccef71d5992198bca7b40111addb854062c0796427180c42d51553a949a2f7b4"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-mpi-devel"
|
||||||
|
version="2021.9.0-43482"
|
||||||
|
file="pool/main/intel-oneapi-mpi-devel-2021.9.0-2021.9.0-43482_amd64.deb"
|
||||||
|
sha256="8702f4df9030597352e10f28ccc9635f3f17a3e128d18622a82ffa440471ba4e"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-openmp"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-openmp-2023.1.0-2023.1.0-46305_amd64.deb"
|
||||||
|
sha256="6455ee16e4b5ab482ca57a607c20b7387ebc74ab0e1787d2a0beb7ad38c74443"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-openmp-common"
|
||||||
|
version="2023.1.0-46305"
|
||||||
|
file="pool/main/intel-oneapi-openmp-common-2023.1.0-2023.1.0-46305_all.deb"
|
||||||
|
sha256="d4cb4adfbfc1ba289996f4b55e85fef73348ee193314552b08a3c59c2af2c8e0"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-tbb"
|
||||||
|
version="2021.9.0-43484"
|
||||||
|
file="pool/main/intel-oneapi-tbb-2021.9.0-2021.9.0-43484_amd64.deb"
|
||||||
|
sha256="5a5b041a76e1def25b57c3aa3a3d6f60af761115770193c61185eec2c21f6e65"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-tbb-common"
|
||||||
|
version="2021.9.0-43484"
|
||||||
|
file="pool/main/intel-oneapi-tbb-common-2021.9.0-2021.9.0-43484_all.deb"
|
||||||
|
sha256="cdad350bed77e0f695d28c0a1468c5b21b32ff9d6db960e5c11d466ea17c634a"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-tbb-common-devel"
|
||||||
|
version="2021.9.0-43484"
|
||||||
|
file="pool/main/intel-oneapi-tbb-common-devel-2021.9.0-2021.9.0-43484_all.deb"
|
||||||
|
sha256="919783c69c8fe7d78ba592801630da2dc6031bfec9c56363bc09ff3ce762d9b8"
|
||||||
|
|
||||||
|
[[hpckit-2023-1-0]]
|
||||||
|
name="intel-oneapi-tbb-devel"
|
||||||
|
version="2021.9.0-43484"
|
||||||
|
file="pool/main/intel-oneapi-tbb-devel-2021.9.0-2021.9.0-43484_amd64.deb"
|
||||||
|
sha256="dec4a9c18b10039dac5bd8a7c3158c9521cc018a986bff58a36d7a5daadfc3e3"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-ccl"
|
||||||
|
version="2021.13.1-31"
|
||||||
|
file="pool/main/intel-oneapi-ccl-2021.13-2021.13.1-31_amd64.deb"
|
||||||
|
sha256="a2c0e8548336c97ba76152dc121d09599c0b87f442215882216177d09748afd7"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-ccl-devel"
|
||||||
|
version="2021.13.1-31"
|
||||||
|
file="pool/main/intel-oneapi-ccl-devel-2021.13-2021.13.1-31_amd64.deb"
|
||||||
|
sha256="e643cf40e6b878cda5d1d5b6faa1f1591d10b7117454133d67558cb511e2a988"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-compiler-dpcpp-cpp-common"
|
||||||
|
version="2024.2.1-1079"
|
||||||
|
file="pool/main/intel-oneapi-compiler-dpcpp-cpp-common-2024.2-2024.2.1-1079_all.deb"
|
||||||
|
sha256="9435fa27dff15a63dc8f57badffd0c8f5b4e259ea5f3b842b5e0bdc27eb629bd"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-compiler-dpcpp-cpp-runtime"
|
||||||
|
version="2024.2.1-1079"
|
||||||
|
file="pool/main/intel-oneapi-compiler-dpcpp-cpp-runtime-2024.2-2024.2.1-1079_amd64.deb"
|
||||||
|
sha256="89e862808730ce2a6e71ffbe04742c8148e056a54f616f9b9fa791c5865f8ed8"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-compiler-fortran"
|
||||||
|
version="2024.2.1-1079"
|
||||||
|
file="pool/main/intel-oneapi-compiler-fortran-2024.2-2024.2.1-1079_amd64.deb"
|
||||||
|
sha256="39b06723ee859f520297b2ab1895d1c5fd93bb313c107f94b7c277630be3cb94"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-compiler-fortran-common"
|
||||||
|
version="2024.2.1-1079"
|
||||||
|
file="pool/main/intel-oneapi-compiler-fortran-common-2024.2-2024.2.1-1079_all.deb"
|
||||||
|
sha256="8a0b2ad4017336fe607600eaf958199c3c0a65a258b11cbc4d54e1f4ca9c67ca"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-compiler-fortran-runtime"
|
||||||
|
version="2024.2.1-1079"
|
||||||
|
file="pool/main/intel-oneapi-compiler-fortran-runtime-2024.2-2024.2.1-1079_amd64.deb"
|
||||||
|
sha256="1f88e312f361d1aecf92c992f8d86127f935fd1bbe92bbe17d5ec9503538a0b1"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-compiler-shared"
|
||||||
|
version="2024.2.1-1079"
|
||||||
|
file="pool/main/intel-oneapi-compiler-shared-2024.2-2024.2.1-1079_amd64.deb"
|
||||||
|
sha256="0fe148b6cc0d3bafe8a9cb71d2fd47473eb7a9df76f14369440c1cd2fd2b76c4"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-compiler-shared-common"
|
||||||
|
version="2024.2.1-1079"
|
||||||
|
file="pool/main/intel-oneapi-compiler-shared-common-2024.2-2024.2.1-1079_all.deb"
|
||||||
|
sha256="dbc61ca434fa0ab12fd70e7b19d796eac2fbd60f9b3309ace233226c74169f0a"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-compiler-shared-runtime"
|
||||||
|
version="2024.2.1-1079"
|
||||||
|
file="pool/main/intel-oneapi-compiler-shared-runtime-2024.2-2024.2.1-1079_amd64.deb"
|
||||||
|
sha256="0ede7ca5d7bd0266d072e5b948ade26b8dcb384aa4f202d0178540d6e94a67ad"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-dal"
|
||||||
|
version="2024.6.0-416"
|
||||||
|
file="pool/main/intel-oneapi-dal-2024.6-2024.6.0-416_amd64.deb"
|
||||||
|
sha256="f8c30b452512332ab357913be00a9a96f2285a757f9e25ec1725af9479c94abe"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-dal-common"
|
||||||
|
version="2024.6.0-416"
|
||||||
|
file="pool/main/intel-oneapi-dal-common-2024.6-2024.6.0-416_all.deb"
|
||||||
|
sha256="511f5e6c2efaec93252f5c83801af0445297353d5e31f566c59b57f6e1f87cfe"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-dal-common-devel"
|
||||||
|
version="2024.6.0-416"
|
||||||
|
file="pool/main/intel-oneapi-dal-common-devel-2024.6-2024.6.0-416_all.deb"
|
||||||
|
sha256="572c8f27df4a6e1500040918c808edf5ad20efbb2efc26076038eae16816cb98"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-dal-devel"
|
||||||
|
version="2024.6.0-416"
|
||||||
|
file="pool/main/intel-oneapi-dal-devel-2024.6-2024.6.0-416_amd64.deb"
|
||||||
|
sha256="aff98af4aa133589e400371aa7db91d119fb74b5d4736948ca1e63bcd7c265e5"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-dev-utilities"
|
||||||
|
version="2024.2.1-11"
|
||||||
|
file="pool/main/intel-oneapi-dev-utilities-2024.2-2024.2.1-11_amd64.deb"
|
||||||
|
sha256="de5db5005c9458aea2b00531d5737b7b5018d76c36283aa715f44757a4608c08"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-diagnostics-utility"
|
||||||
|
version="2024.2.1-13"
|
||||||
|
file="pool/main/intel-oneapi-diagnostics-utility-2024.2-2024.2.1-13_amd64.deb"
|
||||||
|
sha256="a876443134a971810f874e340ecfd10307766bb42f1f649e4cb13e714d13e8b9"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-dnnl"
|
||||||
|
version="2024.2.1-74"
|
||||||
|
file="pool/main/intel-oneapi-dnnl-2024.2-2024.2.1-74_amd64.deb"
|
||||||
|
sha256="5f31be37bb55d7486a703dc305180f8055ab40ddfe1b114f68401e5568415d3b"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-dnnl-devel"
|
||||||
|
version="2024.2.1-74"
|
||||||
|
file="pool/main/intel-oneapi-dnnl-devel-2024.2-2024.2.1-74_amd64.deb"
|
||||||
|
sha256="4f5d1ceb675713f9678d1256320f85199c6ae26ebfe0e51767511468699edbf8"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-dpcpp-cpp"
|
||||||
|
version="2024.2.1-1079"
|
||||||
|
file="pool/main/intel-oneapi-dpcpp-cpp-2024.2-2024.2.1-1079_amd64.deb"
|
||||||
|
sha256="bcfef41a59ec2e5dc9092569a4d6de61dffed6ab4e34386a06ed427bcd4f0b67"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-dpcpp-ct"
|
||||||
|
version="2024.2.1-62"
|
||||||
|
file="pool/main/intel-oneapi-dpcpp-ct-2024.2-2024.2.1-62_amd64.deb"
|
||||||
|
sha256="5d3d34a085ab2423d84e69955b22dc1358360ee1c4be4f2f9c4a88428fc9b244"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-dpcpp-debugger"
|
||||||
|
version="2024.2.1-67"
|
||||||
|
file="pool/main/intel-oneapi-dpcpp-debugger-2024.2-2024.2.1-67_amd64.deb"
|
||||||
|
sha256="494e5f6f1beaa78367cde9b57a804c1b6d8d7fa1ab395805d4e5309e9b75114d"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-ipp"
|
||||||
|
version="2021.12.1-14"
|
||||||
|
file="pool/main/intel-oneapi-ipp-2021.12-2021.12.1-14_amd64.deb"
|
||||||
|
sha256="b05ed95530e9a2a56d1c628ead3f6c6e1806b056863f87d6a20f1f619b98e833"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-ipp-common"
|
||||||
|
version="2021.12.1-14"
|
||||||
|
file="pool/main/intel-oneapi-ipp-common-2021.12-2021.12.1-14_all.deb"
|
||||||
|
sha256="09b37bb4ed060958b31684e923e302cd43f08da119936a107548355b8974ad9e"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-ipp-common-devel"
|
||||||
|
version="2021.12.1-14"
|
||||||
|
file="pool/main/intel-oneapi-ipp-common-devel-2021.12-2021.12.1-14_all.deb"
|
||||||
|
sha256="b49c425f10f05ca060d0e63fd2298ef13a8de79d31354857e0fee9afb5a8ffdd"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-ipp-devel"
|
||||||
|
version="2021.12.1-14"
|
||||||
|
file="pool/main/intel-oneapi-ipp-devel-2021.12-2021.12.1-14_amd64.deb"
|
||||||
|
sha256="46193460bce2b8f17a0990e75acce9e1dd48fc995df5dc206b113a2a34cc2145"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-ippcp"
|
||||||
|
version="2021.12.1-12"
|
||||||
|
file="pool/main/intel-oneapi-ippcp-2021.12-2021.12.1-12_amd64.deb"
|
||||||
|
sha256="8aa7ff2bc8cb35ca150657c44e150c341d23ebe2775a4fc417d1976f6d004772"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-ippcp-common"
|
||||||
|
version="2021.12.1-12"
|
||||||
|
file="pool/main/intel-oneapi-ippcp-common-2021.12-2021.12.1-12_all.deb"
|
||||||
|
sha256="a47dcaa7d79c9f72de55e31f47e1af25073bb2677353cf97fbf0a06af8a34df9"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-ippcp-common-devel"
|
||||||
|
version="2021.12.1-12"
|
||||||
|
file="pool/main/intel-oneapi-ippcp-common-devel-2021.12-2021.12.1-12_all.deb"
|
||||||
|
sha256="2a36e254f7b21e0bbbdedd904741c58aa9d8f92e992eed19ec112253dca30e69"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-ippcp-devel"
|
||||||
|
version="2021.12.1-12"
|
||||||
|
file="pool/main/intel-oneapi-ippcp-devel-2021.12-2021.12.1-12_amd64.deb"
|
||||||
|
sha256="21a1ccffe1e2b632ed9c3295ecac99ba646978938d701b8f9bb5f936d8f85ac9"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-libdpstd-devel"
|
||||||
|
version="2022.6.1-12"
|
||||||
|
file="pool/main/intel-oneapi-libdpstd-devel-2022.6-2022.6.1-12_amd64.deb"
|
||||||
|
sha256="c2dbe75d54ce0d66a85d17642496067e3bdca6c55828a3a2e3f8a7fcf017a331"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-classic-include"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-classic-include-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="c561650b0a29f68a2a64b2b08013eacc7c4c474c78ecc9a97e377600008230e5"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-classic-include-common"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-classic-include-common-2024.2-2024.2.2-15_all.deb"
|
||||||
|
sha256="d693457a4d5b1ac4fa9ef3b33fe840d13d585c7c53481ba1bae50574c8c35632"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-cluster"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-cluster-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="987c2f088d1bcaf0c09f5a07f75d46d8badc0c5043e8f950c0cc21ce66f8449f"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-cluster-devel"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-cluster-devel-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="237ea66178e0f1ca17ad84a602ae18095dfa68654bceff8f012c35add7e2f75a"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-cluster-devel-common"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-cluster-devel-common-2024.2-2024.2.2-15_all.deb"
|
||||||
|
sha256="139579e6c551a4d40a90a32760ca81a7b0dd020a38d8d55edd1fd37a67c2425c"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-core"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-core-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="38790ffe5e4bae6b58e987888d3f201b2da5378d724d0748ed08cfb44adc7293"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-core-common"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-core-common-2024.2-2024.2.2-15_all.deb"
|
||||||
|
sha256="3782e65378ad8c5ab313d400ddb629475dd0f29a54deb4e7bd242c102f336d04"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-core-devel"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-core-devel-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="c723a51b2dc413cc92e6916d607bb770cc3358e49e6f3e46593cabedaea5ebf8"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-core-devel-common"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-core-devel-common-2024.2-2024.2.2-15_all.deb"
|
||||||
|
sha256="e57684820dbd38baf21fa38c78c32046aae73408dfcfbc2fbfcff09ef4b31a10"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-sycl"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="96b9cf9ed87a298c17ddb7fa9be1f2f9bb75bcfb2d10e4a768e89d33641bcefc"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-sycl-blas"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-blas-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="17bc5c87e632e695d34b99c4ad9a355c6151bf4da049b111326c2ab690c2203a"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-sycl-data-fitting"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-data-fitting-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="26ed10e928b68a03e64db96b0d889f7654579bf687a2f2f4c199c3c18daacc66"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-sycl-devel"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-devel-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="bc0052e3703da2e5531f8b2a826bcfcca968db66a9e9d3a3e59fa2fa7e54eb23"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-sycl-devel-common"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-devel-common-2024.2-2024.2.2-15_all.deb"
|
||||||
|
sha256="0da183623695e91e79d7260770b6a7e32b935f0cdaaa5eb22e9684cd68dae0b0"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-sycl-dft"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-dft-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="e3e6eaaf801b3df3ae99f38e700dbd858b877b7691c7e55aef9937d469a359ab"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-sycl-include"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-include-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="7e86492fbcb1e708e034b2638b1032ea346387f60f9dd2253824784492a9561d"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-sycl-lapack"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-lapack-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="bf1b104b52f8b22c1ae92e20e23901970e7736aabfc5ab41ba7b0cfd450aeeec"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-sycl-rng"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-rng-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="8be435fc7b16634d8e7b12a09b80b399c594f53a8d0a12efa332fe422efaa608"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-sycl-sparse"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-sparse-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="01fb7b7586d3d59c9c4beff3b871c406fb3a801b85712940175a003d6d3d69f8"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-sycl-stats"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-stats-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="e741dc0dabbc0955fb1d1f0a4ad73e7326b880d859f2c1caf18cb2384761811f"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mkl-sycl-vm"
|
||||||
|
version="2024.2.2-15"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-vm-2024.2-2024.2.2-15_amd64.deb"
|
||||||
|
sha256="40f44c1e90781757d342edc242359d2567013b6d32aeff3dfca6f1e77777d995"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mpi"
|
||||||
|
version="2021.13.1-767"
|
||||||
|
file="pool/main/intel-oneapi-mpi-2021.13-2021.13.1-767_amd64.deb"
|
||||||
|
sha256="4a60fd1ea52b0c0cb052c0f9309c5e6e4aa8cac05e9da4b7cf3157dde02bd7bd"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-mpi-devel"
|
||||||
|
version="2021.13.1-767"
|
||||||
|
file="pool/main/intel-oneapi-mpi-devel-2021.13-2021.13.1-767_amd64.deb"
|
||||||
|
sha256="47fb46dfaeee395547cf54714cd9d20d3e37cf5714676e28d0eb828c538b5805"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-openmp"
|
||||||
|
version="2024.2.1-1079"
|
||||||
|
file="pool/main/intel-oneapi-openmp-2024.2-2024.2.1-1079_amd64.deb"
|
||||||
|
sha256="6b8722f3e6da876cc7044d00f7132d79f3dc83841b360cd57c907a09375846d2"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-openmp-common"
|
||||||
|
version="2024.2.1-1079"
|
||||||
|
file="pool/main/intel-oneapi-openmp-common-2024.2-2024.2.1-1079_all.deb"
|
||||||
|
sha256="5a540a4f3b226a16ec6effddd39e3a97ef0ea83e9a6f01ca03f9bd0305f92739"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-tbb"
|
||||||
|
version="2021.13.1-12"
|
||||||
|
file="pool/main/intel-oneapi-tbb-2021.13-2021.13.1-12_amd64.deb"
|
||||||
|
sha256="b6cc5bd80ce18f62ab38f5c54dcf75ef8e2957589eedf0913bcde029d0c7ca1a"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-tbb-common"
|
||||||
|
version="2021.13.1-12"
|
||||||
|
file="pool/main/intel-oneapi-tbb-common-2021.13-2021.13.1-12_all.deb"
|
||||||
|
sha256="435be0d78831997ce465b19dbaa8411d8fca90ca4abc998f74200c67116420a0"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-tbb-common-devel"
|
||||||
|
version="2021.13.1-12"
|
||||||
|
file="pool/main/intel-oneapi-tbb-common-devel-2021.13-2021.13.1-12_all.deb"
|
||||||
|
sha256="3dae6c0139b32651e46652799aa49fda8cbef59911934cb27ec7444260641bc0"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-tbb-devel"
|
||||||
|
version="2021.13.1-12"
|
||||||
|
file="pool/main/intel-oneapi-tbb-devel-2021.13-2021.13.1-12_amd64.deb"
|
||||||
|
sha256="55961b5f4782b5ebf05d1a0f7da7fb80bcc2bf75d229c094507f2659b91931ee"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-tcm"
|
||||||
|
version="1.1.1-11"
|
||||||
|
file="pool/main/intel-oneapi-tcm-1.1-1.1.1-11_amd64.deb"
|
||||||
|
sha256="53535a5d16d66755e7de3db9bd8e25b42d426ed9c90e4ac5bcb121bebf1b2ede"
|
||||||
|
|
||||||
|
[[hpckit-2024]]
|
||||||
|
name="intel-oneapi-tlt"
|
||||||
|
version="2024.2.0-705"
|
||||||
|
file="pool/main/intel-oneapi-tlt-2024.2-2024.2.0-705_amd64.deb"
|
||||||
|
sha256="b7eb4614de1e10fd691616365ec0b6e3b23712a9377999df1ebb2f2c0589f2aa"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-ccl"
|
||||||
|
version="2021.17.2-5"
|
||||||
|
file="pool/main/intel-oneapi-ccl-2021.17-2021.17.2-5_amd64.deb"
|
||||||
|
sha256="744cedaf2cd244309f6d1b0bb3236939a8f6bed7406b0da57dd4dda9f3296b67"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-ccl-devel"
|
||||||
|
version="2021.17.2-5"
|
||||||
|
file="pool/main/intel-oneapi-ccl-devel-2021.17-2021.17.2-5_amd64.deb"
|
||||||
|
sha256="cd2d2c494a3ab986f4c4fa63effe0aed9073028ba1572ff2ec877a1ff2af2053"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-compiler-dpcpp-cpp-common"
|
||||||
|
version="2025.3.2-832"
|
||||||
|
file="pool/main/intel-oneapi-compiler-dpcpp-cpp-common-2025.3-2025.3.2-832_all.deb"
|
||||||
|
sha256="864f9aa601dda75c25594f390f98b3637b0c5a81d2f7dea6612e10de831e7183"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-compiler-dpcpp-cpp-runtime"
|
||||||
|
version="2025.3.2-832"
|
||||||
|
file="pool/main/intel-oneapi-compiler-dpcpp-cpp-runtime-2025.3-2025.3.2-832_amd64.deb"
|
||||||
|
sha256="65b3aa66a191c5b3df08ba35a64fcb42e751897ca3cb9093b9ee42e53feda890"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-compiler-fortran"
|
||||||
|
version="2025.3.2-832"
|
||||||
|
file="pool/main/intel-oneapi-compiler-fortran-2025.3-2025.3.2-832_amd64.deb"
|
||||||
|
sha256="3caf41f6c545712839b624d10f194c3d2ba614397b66dbdf7ff4d1fbd2b58ee8"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-compiler-fortran-common"
|
||||||
|
version="2025.3.2-832"
|
||||||
|
file="pool/main/intel-oneapi-compiler-fortran-common-2025.3-2025.3.2-832_all.deb"
|
||||||
|
sha256="eb85bad42db5926e658e42d1e0e1cb89f386cf87e78fe343b693afaa91cb6b06"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-compiler-fortran-runtime"
|
||||||
|
version="2025.3.2-832"
|
||||||
|
file="pool/main/intel-oneapi-compiler-fortran-runtime-2025.3-2025.3.2-832_amd64.deb"
|
||||||
|
sha256="1acf0feba0e85fe963be8ff358ebcea850c0be4a874af98f31ef3b9a85254522"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-compiler-shared"
|
||||||
|
version="2025.3.2-832"
|
||||||
|
file="pool/main/intel-oneapi-compiler-shared-2025.3-2025.3.2-832_amd64.deb"
|
||||||
|
sha256="85f0fd9843ba5cd8d8854e101c289c1f61e0f73465afccca938cc9ce936e7a2d"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-compiler-shared-common"
|
||||||
|
version="2025.3.2-832"
|
||||||
|
file="pool/main/intel-oneapi-compiler-shared-common-2025.3-2025.3.2-832_all.deb"
|
||||||
|
sha256="d07cac0683a1f9a667bae175b2649b62d9a340d4871f8d22ea3948730c10d5a5"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-compiler-shared-runtime"
|
||||||
|
version="2025.3.2-832"
|
||||||
|
file="pool/main/intel-oneapi-compiler-shared-runtime-2025.3-2025.3.2-832_amd64.deb"
|
||||||
|
sha256="1363f7350e384de53230eaad5bae6b8cfc564048b012289eb1f4f9b11d9a0dec"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-dal"
|
||||||
|
version="2025.10.1-19"
|
||||||
|
file="pool/main/intel-oneapi-dal-2025.10-2025.10.1-19_amd64.deb"
|
||||||
|
sha256="943339a9a8438132014280f304beac30ee6ff895625fa4fbd4254124bed1f7b8"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-dal-devel"
|
||||||
|
version="2025.10.1-19"
|
||||||
|
file="pool/main/intel-oneapi-dal-devel-2025.10-2025.10.1-19_amd64.deb"
|
||||||
|
sha256="631b47f87fea0da5e975cd61ebf006a3ae77170dc741dfd2a09df179257326eb"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-dev-utilities"
|
||||||
|
version="2025.3.1-15"
|
||||||
|
file="pool/main/intel-oneapi-dev-utilities-2025.3-2025.3.1-15_amd64.deb"
|
||||||
|
sha256="61ab278788edbc2ad047e8f6f63f1f73f5508b4c96cc2b05e449289061a76c7d"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-dnnl"
|
||||||
|
version="2025.3.0-409"
|
||||||
|
file="pool/main/intel-oneapi-dnnl-2025.3-2025.3.0-409_amd64.deb"
|
||||||
|
sha256="4468042a137707721be596861b4058dee5190cf3d7b3aa2c12d643228ac6360c"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-dnnl-devel"
|
||||||
|
version="2025.3.0-409"
|
||||||
|
file="pool/main/intel-oneapi-dnnl-devel-2025.3-2025.3.0-409_amd64.deb"
|
||||||
|
sha256="256cc1f2347c882a0535be552e2048f11544e1c4fa8c024ae2dcd54f2ce81e87"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-dpcpp-cpp"
|
||||||
|
version="2025.3.2-832"
|
||||||
|
file="pool/main/intel-oneapi-dpcpp-cpp-2025.3-2025.3.2-832_amd64.deb"
|
||||||
|
sha256="b36e18609d627a10fa4ca3b20e3bb34270a149175872936e6f7499bd8b873d13"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-dpcpp-ct"
|
||||||
|
version="2025.3.1-18"
|
||||||
|
file="pool/main/intel-oneapi-dpcpp-ct-2025.3-2025.3.1-18_amd64.deb"
|
||||||
|
sha256="4ee8595d886639d2baef071b7d39817b1bf94db65ced729869823331ccef3e51"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-dpcpp-debugger"
|
||||||
|
version="2025.3.1-7"
|
||||||
|
file="pool/main/intel-oneapi-dpcpp-debugger-2025.3-2025.3.1-7_amd64.deb"
|
||||||
|
sha256="e18bef111d389603228b399e280f898a72be514d4cb4ca5c9e30492640fb2db2"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-hpc-toolkit-env"
|
||||||
|
version="2025.3.1-52"
|
||||||
|
file="pool/main/intel-oneapi-hpc-toolkit-env-2025.3-2025.3.1-52_all.deb"
|
||||||
|
sha256="3ec40bd7a9e49b5abfb0fcdd94a6015baa71b8335c9a9c9b4e2ec2a35aac5e60"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-ipp"
|
||||||
|
version="2022.3.1-7"
|
||||||
|
file="pool/main/intel-oneapi-ipp-2022.3-2022.3.1-7_amd64.deb"
|
||||||
|
sha256="89c0d1ce9aac145a6e949678c17296c57ee233ff10f4443019c32fe5db5b7569"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-ipp-devel"
|
||||||
|
version="2022.3.1-7"
|
||||||
|
file="pool/main/intel-oneapi-ipp-devel-2022.3-2022.3.1-7_amd64.deb"
|
||||||
|
sha256="ebdf865d359c030ce177fbbd916e6813ed7024bce37f680c33eff64c29d90708"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-ippcp"
|
||||||
|
version="2025.3.0-274"
|
||||||
|
file="pool/main/intel-oneapi-ippcp-2025.3-2025.3.0-274_amd64.deb"
|
||||||
|
sha256="de95e2a06164443725bb0b23d6489c1b5bb65fdc34619d7eff1d01241d098c4c"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-ippcp-devel"
|
||||||
|
version="2025.3.0-274"
|
||||||
|
file="pool/main/intel-oneapi-ippcp-devel-2025.3-2025.3.0-274_amd64.deb"
|
||||||
|
sha256="1b56080646f3e508550f4cef6f7dc05f90be96c0bc3c08485176d9619aa635b7"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-ishmem"
|
||||||
|
version="1.5.0-222"
|
||||||
|
file="pool/main/intel-oneapi-ishmem-1.5-1.5.0-222_amd64.deb"
|
||||||
|
sha256="c8b97c0c7e6c8aacd532ed68fd273b7cecfa869c469a82ba1f2518619a6f4bda"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-ishmem-devel"
|
||||||
|
version="1.5.0-222"
|
||||||
|
file="pool/main/intel-oneapi-ishmem-devel-1.5-1.5.0-222_amd64.deb"
|
||||||
|
sha256="7d21e663136bd2608757c4c2607a2f9589369047e89d58e6fd03801b7931ecbf"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-libdpstd-devel"
|
||||||
|
version="2022.10.0-275"
|
||||||
|
file="pool/main/intel-oneapi-libdpstd-devel-2022.10-2022.10.0-275_amd64.deb"
|
||||||
|
sha256="b7172453b5f31fabc864d5b8793979ffd3c472b6af1dd01a434dc9ffb241474d"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-classic-include"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-classic-include-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="4ba39c1de76e318723c35c3043f2ad6279eb13a8658955eb4c36c595cf672f9c"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-cluster"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-cluster-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="2149ca2adb7cef318ff50ea1fd6135cf873c2c4a1f3c0e396051645d992c0e7d"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-cluster-devel"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-cluster-devel-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="3eb204990eb328b218bbd0a178dc40e4ac3f3a4fd7578caaf00caf7f0d732e70"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-core"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-core-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="1648440662a5146d2064456c6e7ba23b00dbe63cb4a26e3563eb43b4912ace2f"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-core-devel"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-core-devel-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="d2efe5d549803e80c3a9b3e5e092860f0acdd2f37da0e1c12de17d2e730035e6"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-sycl"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="d3db31980517d70ba5febee14e089ac75844a9420ffde2baa43dc6f3e7269df8"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-sycl-blas"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-blas-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="deb413a909822c14a6ee8eb270d5edb3351dc1c2656175ef40a7f99e025e6aab"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-sycl-data-fitting"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-data-fitting-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="ca9b47611b8e7b8503b087ca7de4ff6417325c10685d6d0254df1eb3a668aca8"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-sycl-devel"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-devel-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="73c70ab19f76d2c4cb64686800b2682d01a79f3a686454ff6d0b5198ce5f4e0d"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-sycl-dft"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-dft-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="e825872685f8b93130e32ca1b72d31cad808042f97f956b5e8e86065f94d29e8"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-sycl-include"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-include-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="5fa96fb892c4b818fb176e556f3a93f99235affe0b47b7766717b9d6dcbd44ae"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-sycl-lapack"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-lapack-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="5296ef4a969688e3af40ebd851162523e3b5d4f63fea1d2f48a8dfd6a675a0a5"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-sycl-rng"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-rng-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="8559a0e7cdcd77f8f4e97c490b0d5e055605b21815e93d88383c53772f60c507"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-sycl-sparse"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-sparse-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="1261ee1b3ce52dfcc642ba541953af144308b2242e57ab7a32550da51882afaf"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-sycl-stats"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-stats-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="426fd7795f4ef278930e2ea8a0021b4ff3460ab1c826206e01a17458cca9a9ba"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mkl-sycl-vm"
|
||||||
|
version="2025.3.1-8"
|
||||||
|
file="pool/main/intel-oneapi-mkl-sycl-vm-2025.3-2025.3.1-8_amd64.deb"
|
||||||
|
sha256="47f9a6fa7fcc9bcc98de93cfea2c92cfda45f9e86ddd8129176f527e53a7f7e9"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mpi"
|
||||||
|
version="2021.17.2-91"
|
||||||
|
file="pool/main/intel-oneapi-mpi-2021.17-2021.17.2-91_amd64.deb"
|
||||||
|
sha256="c6a0b33e6f60471a7461ba3246e7c90ebe06d550664a0af2134bd07ffd8f6c8d"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-mpi-devel"
|
||||||
|
version="2021.17.2-91"
|
||||||
|
file="pool/main/intel-oneapi-mpi-devel-2021.17-2021.17.2-91_amd64.deb"
|
||||||
|
sha256="519088a22fad2795fc56b216298ba4b467996107f9d359b0f56f1372b02508c0"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-openmp"
|
||||||
|
version="2025.3.2-832"
|
||||||
|
file="pool/main/intel-oneapi-openmp-2025.3-2025.3.2-832_amd64.deb"
|
||||||
|
sha256="c2dd60eb82b8b63a1ae44e98bd983b1ba1c15e1c87cdf37901723120d6164a3f"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-openmp-common"
|
||||||
|
version="2025.3.2-832"
|
||||||
|
file="pool/main/intel-oneapi-openmp-common-2025.3-2025.3.2-832_all.deb"
|
||||||
|
sha256="10af13bb74bbe14ed986d15114fc00352c95c09f32da77c58f50302ef3d0215a"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-tbb"
|
||||||
|
version="2022.3.1-400"
|
||||||
|
file="pool/main/intel-oneapi-tbb-2022.3-2022.3.1-400_amd64.deb"
|
||||||
|
sha256="01ad7551130d6f30d34ed19084650ffc778d755ef4ede682345bf907bd510641"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-tbb-devel"
|
||||||
|
version="2022.3.1-400"
|
||||||
|
file="pool/main/intel-oneapi-tbb-devel-2022.3-2022.3.1-400_amd64.deb"
|
||||||
|
sha256="eb085a1930230c9eda5e6ed32ebc167e9cad7c053f9cd5623201df08a5362947"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-tcm"
|
||||||
|
version="1.4.1-445"
|
||||||
|
file="pool/main/intel-oneapi-tcm-1.4-1.4.1-445_amd64.deb"
|
||||||
|
sha256="8e2fd21ec71f9c9d41df2a23d23ea8aad7d2928ae0f66ed3de4b54dbd7b5ce78"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-tlt"
|
||||||
|
version="2025.3.0-157"
|
||||||
|
file="pool/main/intel-oneapi-tlt-2025.3-2025.3.0-157_amd64.deb"
|
||||||
|
sha256="32fdc685d8dd8c54a646491dae19262e30533ba80c994cc33579e83259f7384a"
|
||||||
|
|
||||||
|
[[hpckit-2025]]
|
||||||
|
name="intel-oneapi-umf"
|
||||||
|
version="1.0.3-17"
|
||||||
|
file="pool/main/intel-oneapi-umf-1.0-1.0.3-17_amd64.deb"
|
||||||
|
sha256="0b93cf3f42df26c31713a94172b16903fabb75b03494da47b2b99d2f37ad2298"
|
||||||
|
|
||||||
156
pkgs/intel-oneapi/deb/patch_intel.nix
Normal file
156
pkgs/intel-oneapi/deb/patch_intel.nix
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
stdenvNoCC,
|
||||||
|
lib,
|
||||||
|
symlinkJoin,
|
||||||
|
autoPatchelfHook,
|
||||||
|
wrapIntel,
|
||||||
|
overrideCC,
|
||||||
|
hwloc,
|
||||||
|
libelf,
|
||||||
|
libffi_3_3,
|
||||||
|
libpsm2,
|
||||||
|
libuuid,
|
||||||
|
libxml2,
|
||||||
|
numactl,
|
||||||
|
ocl-icd,
|
||||||
|
openssl,
|
||||||
|
python3,
|
||||||
|
rdma-core,
|
||||||
|
ucx,
|
||||||
|
zlib,
|
||||||
|
writeTextFile,
|
||||||
|
}:
|
||||||
|
|
||||||
|
lib.makeOverridable (
|
||||||
|
{
|
||||||
|
unpatched,
|
||||||
|
components ? { },
|
||||||
|
extraPackages ? components.extraPackages or [ ],
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (builtins)
|
||||||
|
attrValues
|
||||||
|
filter
|
||||||
|
mapAttrs
|
||||||
|
removeAttrs
|
||||||
|
;
|
||||||
|
|
||||||
|
inherit (components) llvmMajorVersion;
|
||||||
|
|
||||||
|
__components = removeAttrs components [
|
||||||
|
"extraPackages"
|
||||||
|
"llvmMajorVersion"
|
||||||
|
];
|
||||||
|
_components = __components;
|
||||||
|
# _components = lib.traceSeqN 2 {
|
||||||
|
# inherit unpatched __components;
|
||||||
|
# deps = builtins.map (x: "${x.pname}-${x.version}") unpatched.deps;
|
||||||
|
# } __components;
|
||||||
|
|
||||||
|
in
|
||||||
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
|
pname = lib.removeSuffix "-extracted" unpatched.pname;
|
||||||
|
inherit (unpatched) version;
|
||||||
|
src = unpatched;
|
||||||
|
|
||||||
|
phases = [
|
||||||
|
"installPhase"
|
||||||
|
"fixupPhase"
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
libffi_3_3
|
||||||
|
libelf
|
||||||
|
libxml2
|
||||||
|
hwloc
|
||||||
|
numactl
|
||||||
|
libuuid
|
||||||
|
libpsm2
|
||||||
|
zlib
|
||||||
|
ocl-icd
|
||||||
|
rdma-core
|
||||||
|
ucx
|
||||||
|
openssl
|
||||||
|
python3
|
||||||
|
stdenv.cc.cc.lib
|
||||||
|
]
|
||||||
|
++ extraPackages;
|
||||||
|
|
||||||
|
autoPatchelfIgnoreMissingDeps = [
|
||||||
|
"libhwloc.so.5"
|
||||||
|
"libcuda.so.1"
|
||||||
|
"libze_loader.so.1"
|
||||||
|
];
|
||||||
|
|
||||||
|
# There are broken symlinks that go outside packages, ignore them
|
||||||
|
dontCheckForBrokenSymlinks = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ autoPatchelfHook ];
|
||||||
|
installPhase = ''
|
||||||
|
cp -r $src/opt/intel/oneapi/ $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru =
|
||||||
|
let
|
||||||
|
pkgs = mapAttrs (
|
||||||
|
folder: version:
|
||||||
|
let
|
||||||
|
original = "${finalAttrs.finalPackage}/${folder}/${version}";
|
||||||
|
|
||||||
|
etc-vendors = writeTextFile {
|
||||||
|
name = "intel-ocl-icd";
|
||||||
|
text = "${original}/lib/libintelocl.so";
|
||||||
|
destination = "/etc/OpenCL/vendors/intel.icd";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
symlinkJoin {
|
||||||
|
pname = "intel-${folder}";
|
||||||
|
inherit version;
|
||||||
|
paths = [ original ] ++ lib.optionals (folder == "compiler") [ etc-vendors ];
|
||||||
|
passthru = { inherit original llvmMajorVersion; };
|
||||||
|
}
|
||||||
|
) _components;
|
||||||
|
in
|
||||||
|
pkgs
|
||||||
|
// {
|
||||||
|
inherit unpatched;
|
||||||
|
pkgs = lib.recurseIntoAttrs pkgs;
|
||||||
|
components = _components;
|
||||||
|
|
||||||
|
# This contains all packages properly symlinked into toplevel directories
|
||||||
|
# in $out.
|
||||||
|
#
|
||||||
|
# NOTE: there are clashes with packages that have symlinks outside their
|
||||||
|
# scope (libtcm and env/vars.sh)
|
||||||
|
all = symlinkJoin {
|
||||||
|
pname = finalAttrs.finalPackage.pname + "-symlinked";
|
||||||
|
inherit (finalAttrs.finalPackage) version;
|
||||||
|
paths = filter lib.isDerivation (attrValues finalAttrs.finalPackage.pkgs);
|
||||||
|
};
|
||||||
|
|
||||||
|
stdenv = overrideCC stdenv finalAttrs.finalPackage.cc;
|
||||||
|
|
||||||
|
cc = wrapIntel {
|
||||||
|
cc = finalAttrs.finalPackage.pkgs.compiler;
|
||||||
|
extraBuildCommands = ''
|
||||||
|
wrap icx $wrapper $ccPath/icx
|
||||||
|
wrap icpx $wrapper $ccPath/icpx
|
||||||
|
wrap ifx $wrapper $ccPath/ifx
|
||||||
|
|
||||||
|
ln -s $out/bin/icpx $out/bin/c++
|
||||||
|
ln -s $out/bin/icx $out/bin/cc
|
||||||
|
|
||||||
|
sed -i 's/.*isCxx=0/isCxx=1/' $out/bin/icpx
|
||||||
|
'';
|
||||||
|
|
||||||
|
extraInstallCommands = ''
|
||||||
|
export named_cc="icx"
|
||||||
|
export named_cxx="icpx"
|
||||||
|
export named_fc="ifx"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
})
|
||||||
|
)
|
||||||
226
pkgs/intel-oneapi/deb/update.hs
Normal file
226
pkgs/intel-oneapi/deb/update.hs
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
|
||||||
|
module Main (main) where
|
||||||
|
|
||||||
|
import Control.Arrow (second, (&&&))
|
||||||
|
|
||||||
|
import qualified Data.Map.Lazy as M
|
||||||
|
import qualified Data.Map.Strict as MS
|
||||||
|
import qualified Data.Text as T
|
||||||
|
import qualified Data.Text.IO as TIO
|
||||||
|
|
||||||
|
import Data.Char (isAlpha, isNumber)
|
||||||
|
import Data.List (find, nub, sortOn)
|
||||||
|
import Data.Map.Lazy (Map)
|
||||||
|
import Data.Maybe (catMaybes, fromMaybe, maybeToList)
|
||||||
|
import Data.Ord (Down (Down))
|
||||||
|
import Data.Text.Read (decimal)
|
||||||
|
|
||||||
|
import Debug.Trace (trace, traceShow)
|
||||||
|
import System.Environment (getArgs)
|
||||||
|
import System.IO (stderr)
|
||||||
|
import Text.Printf (PrintfType, hPrintf, printf)
|
||||||
|
|
||||||
|
type Str = T.Text
|
||||||
|
type Data = Map Str [Package]
|
||||||
|
type Version = [Int]
|
||||||
|
|
||||||
|
data Package = Package
|
||||||
|
{ name :: Str
|
||||||
|
, version :: Version
|
||||||
|
, filename, sha256 :: Str
|
||||||
|
, size :: Int
|
||||||
|
, depends :: [Dependency]
|
||||||
|
}
|
||||||
|
deriving (Show, Eq)
|
||||||
|
|
||||||
|
data Dependency = Dependency
|
||||||
|
{ pkgName :: Str
|
||||||
|
, pkgVersion :: Maybe (Ordering', Version)
|
||||||
|
}
|
||||||
|
deriving (Show, Eq)
|
||||||
|
|
||||||
|
-- Standard Ordering cannot represent GE or LE, we have to cook our own
|
||||||
|
data Ordering' = GT' | LT' | EQ' | GE' | LE' deriving (Show, Eq)
|
||||||
|
|
||||||
|
-- PARSING
|
||||||
|
|
||||||
|
parse :: Str -> Data
|
||||||
|
parse =
|
||||||
|
M.map (sortOn (Down . version))
|
||||||
|
. M.fromListWith (++)
|
||||||
|
. fmap (second pure)
|
||||||
|
. catMaybes
|
||||||
|
. fmap
|
||||||
|
( (parsePackage . M.fromList)
|
||||||
|
. fmap (second (T.strip . T.drop 1) . T.breakOn ":")
|
||||||
|
. T.lines
|
||||||
|
. T.strip
|
||||||
|
)
|
||||||
|
. T.splitOn "\n\n"
|
||||||
|
|
||||||
|
parseDependency :: Str -> Dependency
|
||||||
|
parseDependency t = case (T.words t) of
|
||||||
|
(a : b : c : []) -> mkPkg a b c
|
||||||
|
(a : c : []) -> let (a', b) = T.breakOn "(" a in mkPkg a' b c -- workaround for packages that don't have a space between the name and the version parenthesis
|
||||||
|
(a : []) -> Dependency a Nothing
|
||||||
|
(b) -> traceShow b $ undefined
|
||||||
|
where
|
||||||
|
mkPkg a b c = Dependency a (Just ((toOrd' $ T.drop 1 b), (parseVersion $ T.dropEnd 1 c)))
|
||||||
|
|
||||||
|
toOrd' :: Str -> Ordering'
|
||||||
|
toOrd' ">>" = GT'
|
||||||
|
toOrd' "<<" = LT'
|
||||||
|
toOrd' "=" = EQ'
|
||||||
|
toOrd' ">=" = GE'
|
||||||
|
toOrd' "<=" = LE'
|
||||||
|
toOrd' t = traceShow t $ undefined
|
||||||
|
|
||||||
|
dropEmpty :: [Str] -> [Str]
|
||||||
|
dropEmpty = Prelude.filter (not . T.null)
|
||||||
|
|
||||||
|
parseVersion :: Str -> Version
|
||||||
|
parseVersion = fmap (unwrapEither . decimal) . dropEmpty . T.split (not . isNumber)
|
||||||
|
where
|
||||||
|
unwrapEither (Right (a, "")) = a
|
||||||
|
-- should never fail, since we filtered non numbers for the split and removed empty strings
|
||||||
|
unwrapEither (Left err) = trace err $ undefined
|
||||||
|
unwrapEither (Right (_, b)) = trace (T.unpack b) $ undefined
|
||||||
|
|
||||||
|
parsePackage :: Map Str Str -> Maybe (Str, Package)
|
||||||
|
parsePackage d =
|
||||||
|
(,)
|
||||||
|
<$> package
|
||||||
|
<*> ( Package
|
||||||
|
<$> package
|
||||||
|
<*> (parseVersion <$> d M.!? "Version")
|
||||||
|
<*> (d M.!? "Filename")
|
||||||
|
<*> (d M.!? "SHA256")
|
||||||
|
<*> (read . T.unpack <$> (d M.!? "Installed-Size"))
|
||||||
|
<*> (pure $ fmap parseDependency $ dropEmpty $ (>>= T.splitOn ",") $ maybeToList $ d M.!? "Depends")
|
||||||
|
)
|
||||||
|
where
|
||||||
|
package = d M.!? "Package"
|
||||||
|
|
||||||
|
-- DEPENDENCY SOLVER
|
||||||
|
|
||||||
|
-- Compare versions in debian control file syntax
|
||||||
|
-- See: https://www.debian.org/doc/debian-policy/ch-relationships.html#syntax-of-relationship-fields
|
||||||
|
--
|
||||||
|
-- NOTE: this is not a proper version comparison
|
||||||
|
--
|
||||||
|
-- A proper version solver, should aggregate dependencies with the same name
|
||||||
|
-- and compute the constraint (e.g. a (>= 2) a (<< 5) -> 2 <= a << 5)
|
||||||
|
--
|
||||||
|
-- But in the intel repo, there are no such "duplicated" dependencies to specify
|
||||||
|
-- upper limits, which leads to issues when intel-hpckit-2021 depends on things
|
||||||
|
-- like intel-basekit >= 2021.1.0-2403 and we end up installing the newest
|
||||||
|
-- basekit instead of the one from 2021.1
|
||||||
|
--
|
||||||
|
-- To mitigate this, >= is set to take the latest version with matching major
|
||||||
|
-- and minor (only revision and patch are allowed to change)
|
||||||
|
|
||||||
|
compareVersions :: Maybe (Ordering', Version) -> Version -> Bool
|
||||||
|
compareVersions Nothing _ = True
|
||||||
|
compareVersions (Just (kind, want)) got
|
||||||
|
| null want = True
|
||||||
|
| kind == GE' = and (Prelude.take 2 $ zipWith (==) got want) && result
|
||||||
|
| otherwise = result
|
||||||
|
where
|
||||||
|
result = matches (compare got want) kind
|
||||||
|
|
||||||
|
matches :: Ordering -> Ordering' -> Bool
|
||||||
|
matches EQ b = b `elem` [EQ', GE', LE']
|
||||||
|
matches LT b = b `elem` [LT', LE']
|
||||||
|
matches GT b = b `elem` [GT', GE']
|
||||||
|
|
||||||
|
findMatching :: Data -> Dependency -> Maybe Package
|
||||||
|
findMatching pkgList (Dependency name ver) = pkgList M.!? name >>= find (compareVersions (ver) . version)
|
||||||
|
|
||||||
|
getHpckit :: Data -> Version -> Maybe Package
|
||||||
|
getHpckit d v = findMatching d (Dependency "intel-hpckit" (Just (GE', v)))
|
||||||
|
|
||||||
|
-- TODO: replace maybeToList with proper error handling. Right now, if a
|
||||||
|
-- dependency is not found it is silently skipped.
|
||||||
|
solveDeps :: Data -> Package -> [Package]
|
||||||
|
solveDeps d p = removeDupes $ go ([], [p])
|
||||||
|
where
|
||||||
|
go (done, todo)
|
||||||
|
| null todo = done'
|
||||||
|
| otherwise = go (done', todo')
|
||||||
|
where
|
||||||
|
done' = filter (not . isBlacklisted) $ nub $ done ++ (filter isMetaPackage todo)
|
||||||
|
todo' = concatMap depends todo >>= maybeToList . findMatching d
|
||||||
|
isMetaPackage = ((/= 0) . size) -- Packages with size 0
|
||||||
|
|
||||||
|
removeDupes :: [Package] -> [Package]
|
||||||
|
removeDupes l = fmap snd . MS.toList $ MS.fromListWith (getLatest) $ (cleanName . name &&& id) <$> l
|
||||||
|
|
||||||
|
getLatest a b
|
||||||
|
| version a > version b = a
|
||||||
|
| otherwise = b
|
||||||
|
|
||||||
|
-- Remove trailing version information from package name
|
||||||
|
cleanName :: T.Text -> T.Text
|
||||||
|
cleanName = T.dropWhileEnd (not . isAlpha)
|
||||||
|
|
||||||
|
isBlacklisted :: Package -> Bool
|
||||||
|
isBlacklisted = (`elem` blacklist) . cleanName . name
|
||||||
|
where
|
||||||
|
blacklist =
|
||||||
|
[ "intel-basekit-env"
|
||||||
|
, "intel-basekit-getting-started"
|
||||||
|
, "intel-hpckit-env"
|
||||||
|
, "intel-hpckit-getting-started"
|
||||||
|
, "intel-oneapi-advisor"
|
||||||
|
, "intel-oneapi-common-licensing"
|
||||||
|
, "intel-oneapi-common-oneapi-vars"
|
||||||
|
, "intel-oneapi-common-vars"
|
||||||
|
, "intel-oneapi-compiler-cpp-eclipse-cfg"
|
||||||
|
, "intel-oneapi-compiler-dpcpp-eclipse-cfg"
|
||||||
|
, "intel-oneapi-condaindex"
|
||||||
|
, "intel-oneapi-dev-utilities-eclipse-cfg"
|
||||||
|
, "intel-oneapi-dpcpp-ct-eclipse-cfg"
|
||||||
|
, "intel-oneapi-eclipse-ide"
|
||||||
|
, "intel-oneapi-hpc-toolkit-getting-started"
|
||||||
|
, "intel-oneapi-icc-eclipse-plugin-cpp"
|
||||||
|
, "intel-oneapi-inspector"
|
||||||
|
, "intel-oneapi-vtune"
|
||||||
|
, "intel-oneapi-vtune-eclipse-plugin-vtune"
|
||||||
|
]
|
||||||
|
|
||||||
|
-- OUTPUT
|
||||||
|
|
||||||
|
showVer, showVerDash :: [Int] -> T.Text
|
||||||
|
showVer = T.dropEnd 1 . T.concat . zipWith (flip (<>)) ([".", ".", "-"] ++ repeat ".") . fmap (T.pack . show)
|
||||||
|
showVerDash = T.intercalate "-" . fmap (T.pack . show)
|
||||||
|
|
||||||
|
displayTOML :: (PrintfType t) => Version -> Package -> t
|
||||||
|
displayTOML kit (Package n v f h _ _) = printf "[[hpckit-%s]]\nname=\"%s\"\nversion=\"%s\"\nfile=\"%s\"\nsha256=\"%s\"\n\n" (showVerDash kit) (cleanName n) (showVer v) f h
|
||||||
|
|
||||||
|
-- Reads debian Package List from apt repo from stdin and outputs TOML with
|
||||||
|
-- hpckit versions passed as arguments
|
||||||
|
main :: IO ()
|
||||||
|
main = do
|
||||||
|
args <- fmap T.pack <$> getArgs
|
||||||
|
|
||||||
|
let v = case args of
|
||||||
|
[] -> ["2025"]
|
||||||
|
_ -> args
|
||||||
|
|
||||||
|
d <- parse <$> TIO.getContents
|
||||||
|
|
||||||
|
sizes <- mapM (processHpcKit d . parseVersion) v
|
||||||
|
|
||||||
|
hPrintf stderr "Total Installed-Size: %.3fMb\n" ((fromIntegral (sum sizes)) / 1e6 :: Double)
|
||||||
|
where
|
||||||
|
-- TODO: replace fromMaybe+trace with either error handling?
|
||||||
|
processHpcKit :: Data -> Version -> IO Int
|
||||||
|
processHpcKit d v = do
|
||||||
|
let kit = getHpckit d v
|
||||||
|
deps = fromMaybe (trace (T.unpack $ "Could not find deps for kit: " <> showVer v <> " (SKIPPED)") $ []) $ solveDeps d <$> kit
|
||||||
|
totalSize = sum $ size <$> deps
|
||||||
|
|
||||||
|
mapM_ (displayTOML v) deps
|
||||||
|
|
||||||
|
return totalSize
|
||||||
10
pkgs/intel-oneapi/deb/update.sh
Executable file
10
pkgs/intel-oneapi/deb/update.sh
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
out_64=$(mktemp intel-api.64.XXXXXX)
|
||||||
|
out_all=$(mktemp intel-api.all.XXXXXX)
|
||||||
|
trap 'rm -f "$out_64" "$out_all"' EXIT INT HUP
|
||||||
|
|
||||||
|
curl https://apt.repos.intel.com/oneapi/dists/all/main/binary-amd64/Packages -o "$out_64"
|
||||||
|
curl https://apt.repos.intel.com/oneapi/dists/all/main/binary-all/Packages -o "$out_all"
|
||||||
|
|
||||||
|
cat "$out_64" "$out_all" | runghc ./update.hs 2023.1.0 2024 2025 >packages.toml
|
||||||
246
pkgs/intel-oneapi/open/default.nix
Normal file
246
pkgs/intel-oneapi/open/default.nix
Normal file
@@ -0,0 +1,246 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
lib,
|
||||||
|
ninja,
|
||||||
|
autoAddDriverRunpath,
|
||||||
|
wrapCC,
|
||||||
|
cmake,
|
||||||
|
emhash,
|
||||||
|
fetchFromGitHub,
|
||||||
|
khronos-ocl-icd-loader,
|
||||||
|
libbacktrace,
|
||||||
|
opencl-headers,
|
||||||
|
parallel-hashmap,
|
||||||
|
perl,
|
||||||
|
pkg-config,
|
||||||
|
python3,
|
||||||
|
spirv-headers,
|
||||||
|
spirv-tools,
|
||||||
|
symlinkJoin,
|
||||||
|
zlib,
|
||||||
|
|
||||||
|
config,
|
||||||
|
|
||||||
|
cudaPackages ? null,
|
||||||
|
enableCuda ? config.cudaSupport,
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
llvmMajorVersion = "21";
|
||||||
|
version = "6.2.1";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "intel";
|
||||||
|
repo = "llvm";
|
||||||
|
tag = "v${version}";
|
||||||
|
sha256 = "sha256-j8+DmGKO0qDF5JjH+DlkLKs1kBz6dS7ukwySd/Crqv0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pinned = {
|
||||||
|
inherit parallel-hashmap;
|
||||||
|
|
||||||
|
vc-intrinsics.src = fetchFromGitHub {
|
||||||
|
owner = "intel";
|
||||||
|
repo = "vc-intrinsics";
|
||||||
|
rev = "4e51b2467104a257c22788e343dafbdde72e28bb";
|
||||||
|
sha256 = "sha256-AHXeKbih4bzmcuu+tx2TeS7Ixmk54uS1vKFVxI6ZP8g=";
|
||||||
|
};
|
||||||
|
|
||||||
|
unified-memory-framework.src = fetchFromGitHub {
|
||||||
|
owner = "oneapi-src";
|
||||||
|
repo = "unified-memory-framework";
|
||||||
|
tag = "v0.11.0";
|
||||||
|
sha256 = "sha256-k8QdP2u1QOoeCZ6ps4sM8+1iZq/H3q0lqCfVk8mz9KI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
ocl-headers = opencl-headers.overrideAttrs {
|
||||||
|
version = "2024.10.24";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "KhronosGroup";
|
||||||
|
repo = "OpenCL-Headers";
|
||||||
|
tag = "v2024.10.24";
|
||||||
|
sha256 = "sha256-KDlruE0IG8d+lAChxYyc6dg5XOvqCMrMyO69sdAzejA=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ocl-icd = khronos-ocl-icd-loader;
|
||||||
|
|
||||||
|
spirv-headers = spirv-headers.overrideAttrs {
|
||||||
|
version = "1.4.309.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "KhronosGroup";
|
||||||
|
repo = "SPIRV-Headers";
|
||||||
|
tag = "vulkan-sdk-1.4.309.0";
|
||||||
|
sha256 = "sha256-Q1i6i5XimULuGufP6mimwDW674anAETUiIEvDQwvg5Y=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fetchcontent_cmakeFlags = lib.mapAttrsToList (
|
||||||
|
name: value: (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_${lib.toUpper name}" (toString value.src))
|
||||||
|
) pinned;
|
||||||
|
|
||||||
|
# Hack to fix #include <emhash/...>
|
||||||
|
emhash' = symlinkJoin {
|
||||||
|
name = "emhash";
|
||||||
|
paths = [ emhash ];
|
||||||
|
postBuild = ''
|
||||||
|
pushd $out/include
|
||||||
|
ln -s . emhash
|
||||||
|
popd
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "intel-llvm";
|
||||||
|
inherit src version;
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
perl
|
||||||
|
cmake
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
python3
|
||||||
|
spirv-tools
|
||||||
|
]
|
||||||
|
++ lib.optionals enableCuda [
|
||||||
|
autoAddDriverRunpath
|
||||||
|
cudaPackages.cuda_nvcc
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
emhash'
|
||||||
|
libbacktrace
|
||||||
|
zlib
|
||||||
|
|
||||||
|
pinned.ocl-icd
|
||||||
|
pinned.ocl-headers
|
||||||
|
pinned.spirv-headers
|
||||||
|
]
|
||||||
|
++ lib.optionals enableCuda [
|
||||||
|
cudaPackages.cudatoolkit
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [ ./fix-ur.patch ]; # Has been fixed in next release
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
chmod -R u+w /build/source
|
||||||
|
'';
|
||||||
|
|
||||||
|
cmakeDir = "../llvm";
|
||||||
|
|
||||||
|
cmakeFlags =
|
||||||
|
let
|
||||||
|
cmakeList = name: l: lib.cmakeOptionType "list" name (builtins.concatStringsSep ";" l);
|
||||||
|
|
||||||
|
LLVM_EXTERNAL_PROJECTS = [
|
||||||
|
"sycl"
|
||||||
|
"llvm-spirv"
|
||||||
|
"opencl"
|
||||||
|
"xpti"
|
||||||
|
"xptifw"
|
||||||
|
"compiler-rt"
|
||||||
|
"sycl-jit"
|
||||||
|
"libdevice"
|
||||||
|
]
|
||||||
|
++ lib.optionals enableCuda [
|
||||||
|
"libclc"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
[
|
||||||
|
(lib.cmakeBool "LLVM_ENABLE_ASSERTIONS" true)
|
||||||
|
|
||||||
|
(cmakeList "LLVM_TARGETS_TO_BUILD" (
|
||||||
|
[
|
||||||
|
"host"
|
||||||
|
"SPIRV"
|
||||||
|
]
|
||||||
|
++ lib.optionals enableCuda [ "NVPTX" ]
|
||||||
|
))
|
||||||
|
(cmakeList "LLVM_EXTERNAL_PROJECTS" LLVM_EXTERNAL_PROJECTS)
|
||||||
|
(cmakeList "LLVM_ENABLE_PROJECTS" ([ "clang" ] ++ LLVM_EXTERNAL_PROJECTS))
|
||||||
|
|
||||||
|
(lib.cmakeBool "UR_USE_EXTERNAL_UMF" false)
|
||||||
|
(lib.cmakeOptionType "path" "UR_OPENCL_INCLUDE_DIR" (toString pinned.ocl-headers))
|
||||||
|
(lib.cmakeOptionType "path" "UR_OPENCL_ICD_LOADER_LIBRARY" (toString pinned.ocl-icd))
|
||||||
|
(lib.cmakeFeature "UR_OPENCL_ICD_LOADER_LIBRARY" (toString pinned.ocl-icd))
|
||||||
|
|
||||||
|
(lib.cmakeBool "BUILD_SHARED_LIBS" false)
|
||||||
|
(lib.cmakeBool "LLVM_BUILD_TOOLS" true)
|
||||||
|
(lib.cmakeBool "LLVM_ENABLE_ZSTD" true)
|
||||||
|
(lib.cmakeBool "LLVM_USE_STATIC_ZSTD" true)
|
||||||
|
(lib.cmakeBool "LLVM_ENABLE_DOXYGEN" false)
|
||||||
|
(lib.cmakeBool "LLVM_ENABLE_LLD" false)
|
||||||
|
(lib.cmakeBool "LLVM_ENABLE_SPHINX" false)
|
||||||
|
(lib.cmakeBool "LLVM_SPIRV_ENABLE_LIBSPIRV_DIS" false)
|
||||||
|
(lib.cmakeBool "SYCL_ENABLE_WERROR" false)
|
||||||
|
(lib.cmakeBool "SYCL_INCLUDE_TESTS" false)
|
||||||
|
(lib.cmakeBool "SYCL_ENABLE_EXTENSION_JIT" true)
|
||||||
|
(lib.cmakeBool "SYCL_ENABLE_MAJOR_RELEASE_PREVIEW_LIB" false)
|
||||||
|
(lib.cmakeBool "SYCL_ENABLE_XPTI_TRACING" true)
|
||||||
|
(lib.cmakeBool "XPTI_ENABLE_WERROR" false)
|
||||||
|
|
||||||
|
(cmakeList "SYCL_ENABLE_BACKENDS" ([ "opencl" ] ++ lib.optionals enableCuda [ "cuda" ]))
|
||||||
|
]
|
||||||
|
++ fetchcontent_cmakeFlags
|
||||||
|
++ lib.optionals enableCuda [
|
||||||
|
(lib.cmakeOptionType "list" "LIBCLC_TARGETS_TO_BUILD" "nvptx64--nvidiacl")
|
||||||
|
(lib.cmakeBool "LIBCLC_GENERATE_REMANGLED_VARIANTS" true)
|
||||||
|
(lib.cmakeBool "LIBCLC_NATIVECPU_HOST_TARGET" false)
|
||||||
|
];
|
||||||
|
|
||||||
|
hardeningDisable = [ "zerocallusedregs" ];
|
||||||
|
|
||||||
|
postPatch =
|
||||||
|
|
||||||
|
let
|
||||||
|
# See the postPatch phase for details on why this is used
|
||||||
|
ccWrapperStub = wrapCC (
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "ccWrapperStub";
|
||||||
|
dontUnpack = true;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cat > $out/bin/clang-${llvmMajorVersion} <<'EOF'
|
||||||
|
#!/bin/sh
|
||||||
|
exec "$NIX_BUILD_TOP/source/build/bin/clang-${llvmMajorVersion}" "$@"
|
||||||
|
EOF
|
||||||
|
chmod +x $out/bin/clang-${llvmMajorVersion}
|
||||||
|
cp $out/bin/clang-${llvmMajorVersion} $out/bin/clang
|
||||||
|
cp $out/bin/clang-${llvmMajorVersion} $out/bin/clang++
|
||||||
|
'';
|
||||||
|
passthru.isClang = true;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
in
|
||||||
|
''
|
||||||
|
# Parts of libdevice are built using the freshly-built compiler.
|
||||||
|
# As it tries to link to system libraries, we need to wrap it with the
|
||||||
|
# usual nix cc-wrapper.
|
||||||
|
# Since the compiler to be wrapped is not available at this point,
|
||||||
|
# we use a stub that points to where it will be later on
|
||||||
|
# in `$NIX_BUILD_TOP/source/build/bin/clang-${llvmMajorVersion}`
|
||||||
|
substituteInPlace libdevice/cmake/modules/SYCLLibdevice.cmake \
|
||||||
|
--replace-fail "\''${clang_exe}" "${ccWrapperStub}/bin/clang++"
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
inherit llvmMajorVersion;
|
||||||
|
inherit enableCuda cudaPackages;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://github.com/intel/llvm";
|
||||||
|
description = "Intel staging area for llvm.org contribution";
|
||||||
|
maintainers = with lib.maintainers.bsc; [ abonerib ];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
license = [
|
||||||
|
lib.licenses.asl20
|
||||||
|
lib.licenses.llvm-exception
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
23
pkgs/intel-oneapi/open/fix-ur.patch
Normal file
23
pkgs/intel-oneapi/open/fix-ur.patch
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
diff --git a/unified-runtime/source/adapters/cuda/CMakeLists.txt b/unified-runtime/source/adapters/cuda/CMakeLists.txt
|
||||||
|
index a8401c71a..2ab363926 100644
|
||||||
|
--- a/unified-runtime/source/adapters/cuda/CMakeLists.txt
|
||||||
|
+++ b/unified-runtime/source/adapters/cuda/CMakeLists.txt
|
||||||
|
@@ -62,14 +62,14 @@ add_library(cudadrv SHARED IMPORTED GLOBAL)
|
||||||
|
if (WIN32)
|
||||||
|
set_target_properties(
|
||||||
|
cudadrv PROPERTIES
|
||||||
|
- IMPORTED_IMPLIB ${CUDA_cuda_driver_LIBRARY}
|
||||||
|
- INTERFACE_INCLUDE_DIRECTORIES ${CUDAToolkit_INCLUDE_DIRS}
|
||||||
|
+ IMPORTED_IMPLIB "${CUDA_cuda_driver_LIBRARY}"
|
||||||
|
+ INTERFACE_INCLUDE_DIRECTORIES "${CUDAToolkit_INCLUDE_DIRS}"
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
set_target_properties(
|
||||||
|
cudadrv PROPERTIES
|
||||||
|
- IMPORTED_LOCATION ${CUDA_cuda_driver_LIBRARY}
|
||||||
|
- INTERFACE_INCLUDE_DIRECTORIES ${CUDAToolkit_INCLUDE_DIRS}
|
||||||
|
+ IMPORTED_LOCATION "${CUDA_cuda_driver_LIBRARY}"
|
||||||
|
+ INTERFACE_INCLUDE_DIRECTORIES "${CUDAToolkit_INCLUDE_DIRS}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
curl https://apt.repos.intel.com/oneapi/dists/all/main/binary-amd64/Packages -o amd64-packages
|
|
||||||
curl https://apt.repos.intel.com/oneapi/dists/all/main/binary-all/Packages -o all-packages
|
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
|
, ninja
|
||||||
, bash
|
, bash
|
||||||
, python3
|
, python3
|
||||||
, perl
|
, perl
|
||||||
@@ -48,6 +49,7 @@ in stdenv.mkDerivation {
|
|||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
CC = "clang";
|
CC = "clang";
|
||||||
@@ -62,6 +64,7 @@ in stdenv.mkDerivation {
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bash
|
bash
|
||||||
cmake
|
cmake
|
||||||
|
ninja
|
||||||
elfutils
|
elfutils
|
||||||
llvmPackages_latest.lld
|
llvmPackages_latest.lld
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
, lib
|
, lib
|
||||||
, gcc
|
, gcc
|
||||||
, clangOmpss2Unwrapped
|
, clangOmpss2Unwrapped
|
||||||
|
, writeShellScript
|
||||||
, openmp ? null
|
, openmp ? null
|
||||||
, wrapCCWith
|
, wrapCCWith
|
||||||
, llvmPackages_latest
|
, llvmPackages_latest
|
||||||
@@ -37,10 +38,7 @@ let
|
|||||||
inherit gcc;
|
inherit gcc;
|
||||||
cc = clangOmpss2Unwrapped;
|
cc = clangOmpss2Unwrapped;
|
||||||
gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
|
gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
|
||||||
in wrapCCWith {
|
|
||||||
inherit cc bintools;
|
|
||||||
# extraPackages adds packages to depsTargetTargetPropagated
|
|
||||||
extraPackages = optional (openmp != null) openmp;
|
|
||||||
extraBuildCommands = ''
|
extraBuildCommands = ''
|
||||||
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
||||||
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-cflags
|
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-cflags
|
||||||
@@ -57,14 +55,50 @@ in wrapCCWith {
|
|||||||
echo "--gcc-toolchain=${gcc}" >> $out/nix-support/cc-cflags
|
echo "--gcc-toolchain=${gcc}" >> $out/nix-support/cc-cflags
|
||||||
|
|
||||||
wrap clang++ $wrapper $ccPath/clang++
|
wrap clang++ $wrapper $ccPath/clang++
|
||||||
|
|
||||||
'' + optionalString (openmp != null) ''
|
|
||||||
echo "export OPENMP_RUNTIME=${ompname}" >> $out/nix-support/cc-wrapper-hook
|
|
||||||
'' + optionalString (ompss2rt != null) ''
|
|
||||||
echo "export OMPSS2_RUNTIME=${rtname}" >> $out/nix-support/cc-wrapper-hook
|
|
||||||
echo "export ${homevar}=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
|
|
||||||
'' + optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
|
|
||||||
echo "export NOSV_HOME=${ompss2rt.nosv}" >> $out/nix-support/cc-wrapper-hook
|
|
||||||
'';
|
'';
|
||||||
}
|
|
||||||
|
|
||||||
|
envExports = lib.optionalString (openmp != null) ''
|
||||||
|
echo "export OPENMP_RUNTIME=${ompname}" >> $out/nix-support/cc-wrapper-hook
|
||||||
|
'' + optionalString (ompss2rt != null) ''
|
||||||
|
echo "export OMPSS2_RUNTIME=${rtname}" >> $out/nix-support/cc-wrapper-hook
|
||||||
|
echo "export ${homevar}=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
|
||||||
|
'' + optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
|
||||||
|
echo "export NOSV_HOME=${ompss2rt.nosv}" >> $out/nix-support/cc-wrapper-hook
|
||||||
|
'';
|
||||||
|
|
||||||
|
extraPackages = optional (openmp != null) openmp;
|
||||||
|
|
||||||
|
wrappedCC = wrapCCWith {
|
||||||
|
# extraPackages adds packages to depsTargetTargetPropagated
|
||||||
|
inherit cc bintools extraPackages;
|
||||||
|
extraBuildCommands = extraBuildCommands + envExports;
|
||||||
|
};
|
||||||
|
|
||||||
|
resetIntelCCFlags = let tconf = builtins.replaceStrings ["-"] ["_"] targetConfig;
|
||||||
|
in writeShellScript "remove-intel.sh" ''
|
||||||
|
if [ "''${NIX_CC_WRAPPER_INTEL:-0}" = 1 ]; then
|
||||||
|
unset NIX_CFLAGS_COMPILE_${tconf}
|
||||||
|
unset NIX_CC_WRAPPER_FLAGS_SET_${tconf}
|
||||||
|
|
||||||
|
if (( "''${NIX_DEBUG:-0}" >= 1 )); then
|
||||||
|
echo "ompss2: cleaned NIX_CFLAGS_COMPILE_${tconf} (invokation from intel compiler detected)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
intelExtraBuildCommands = ''
|
||||||
|
sed -i 's|# Flirting.*|source ${resetIntelCCFlags}\n\n&|' $out/bin/clang
|
||||||
|
sed -i 's|# Flirting.*|source ${resetIntelCCFlags}\n\n&|' $out/bin/clang++
|
||||||
|
'';
|
||||||
|
|
||||||
|
wrappedCCIntel = wrapCCWith {
|
||||||
|
inherit cc bintools extraPackages;
|
||||||
|
# extraPackages adds packages to depsTargetTargetPropagated
|
||||||
|
extraBuildCommands = intelExtraBuildCommands + envExports;
|
||||||
|
};
|
||||||
|
|
||||||
|
in wrappedCC.overrideAttrs (oldAttrs: {
|
||||||
|
passthru = oldAttrs.passthru // {
|
||||||
|
forIcpx = wrappedCCIntel;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|||||||
@@ -39,7 +39,9 @@ stdenv.mkDerivation rec {
|
|||||||
perl
|
perl
|
||||||
pkg-config
|
pkg-config
|
||||||
python3
|
python3
|
||||||
] ++ lib.optionals enableNosv [
|
];
|
||||||
|
|
||||||
|
buildInputs = lib.optionals enableNosv [
|
||||||
nosv
|
nosv
|
||||||
] ++ lib.optionals enableOvni [
|
] ++ lib.optionals enableOvni [
|
||||||
ovni
|
ovni
|
||||||
@@ -54,6 +56,7 @@ stdenv.mkDerivation rec {
|
|||||||
dontStrip = enableDebug;
|
dontStrip = enableDebug;
|
||||||
|
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DLIBOMP_OMPD_SUPPORT=OFF"
|
"-DLIBOMP_OMPD_SUPPORT=OFF"
|
||||||
@@ -71,6 +74,28 @@ stdenv.mkDerivation rec {
|
|||||||
rm -f $out/libllvmrt/libomp.*
|
rm -f $out/libllvmrt/libomp.*
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
doInstallCheck = true;
|
||||||
|
# There are not cmake flags to force nOS-V, it enables it when found through
|
||||||
|
# pkg-config. If enableNosv is set, but we fail to find it at build time,
|
||||||
|
# the build will succeed but won't use nOS-V (libompv won't be created).
|
||||||
|
# This is a sanity check to ensure that after install we have the proper
|
||||||
|
# files.
|
||||||
|
installCheckPhase =
|
||||||
|
if enableNosv then
|
||||||
|
''
|
||||||
|
test -f $out/lib/libompv.so
|
||||||
|
test -f $out/libllvmrt/libompv.so
|
||||||
|
test ! -f $out/lib/libomp.so
|
||||||
|
test ! -f $out/libllvmrt/libomp.so
|
||||||
|
''
|
||||||
|
else
|
||||||
|
''
|
||||||
|
test -f $out/lib/libomp.so
|
||||||
|
test -f $out/libllvmrt/libomp.so
|
||||||
|
test ! -f $out/lib/libompv.so
|
||||||
|
test ! -f $out/libllvmrt/libompv.so
|
||||||
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit nosv;
|
inherit nosv;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
|
|||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
enableParallelBuilding = false;
|
enableParallelBuilding = false;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
makeFlagsArray+=(
|
makeFlagsArray+=(
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ python3Packages.buildPythonApplication {
|
|||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
build-system = with python3Packages; [
|
build-system = with python3Packages; [
|
||||||
setuptools
|
setuptools
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ in mpich.overrideAttrs (old: {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
meta = old.meta // {
|
meta = old.meta // {
|
||||||
maintainers = old.meta.maintainers ++ (with lib.maintainers.bsc; [ rarias ]);
|
maintainers = old.meta.maintainers ++ (with lib.maintainers.bsc; [ rarias ]);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
, jemallocNanos6 ? null
|
, jemallocNanos6 ? null
|
||||||
, cachelineBytes ? 64
|
, cachelineBytes ? 64
|
||||||
, enableGlibcxxDebug ? false
|
, enableGlibcxxDebug ? false
|
||||||
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
|
, enablePapi ? true
|
||||||
, useGit ? false
|
, useGit ? false
|
||||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
|
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
|
||||||
, gitBranch ? "master"
|
, gitBranch ? "master"
|
||||||
@@ -80,7 +80,8 @@ in
|
|||||||
(optional enableGlibcxxDebug "CXXFLAGS=-D_GLIBCXX_DEBUG") ++
|
(optional enableGlibcxxDebug "CXXFLAGS=-D_GLIBCXX_DEBUG") ++
|
||||||
# Most nanos6 api symbols are resolved at runtime, so prefer
|
# Most nanos6 api symbols are resolved at runtime, so prefer
|
||||||
# ifunc by default
|
# ifunc by default
|
||||||
(optional isCross "--with-symbol-resolution=ifunc");
|
(optional isCross "--with-symbol-resolution=ifunc") ++
|
||||||
|
(optional enablePapi "--with-papi=${papi}");
|
||||||
|
|
||||||
postConfigure = lib.optionalString (!enableDebug) ''
|
postConfigure = lib.optionalString (!enableDebug) ''
|
||||||
# Disable debug
|
# Disable debug
|
||||||
@@ -95,16 +96,14 @@ in
|
|||||||
dontStrip = enableDebug;
|
dontStrip = enableDebug;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoconf
|
autoconf
|
||||||
automake
|
automake
|
||||||
libtool
|
libtool
|
||||||
pkg-config
|
pkg-config
|
||||||
|
];
|
||||||
# TODO: papi_version is needed for configure:
|
|
||||||
# ./configure: line 27378: papi_version: command not found
|
|
||||||
# This probably breaks cross-compilation
|
|
||||||
] ++ lib.optionals enablePapi [ papi ];
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost
|
boost
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ stdenv.mkDerivation {
|
|||||||
version = "0.0.1";
|
version = "0.0.1";
|
||||||
src = ./nixgen;
|
src = ./nixgen;
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
strictDeps = true;
|
||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
|
|||||||
makeFlags = [ "DESTDIR=$(out)" ];
|
makeFlags = [ "DESTDIR=$(out)" ];
|
||||||
preBuild = "env";
|
preBuild = "env";
|
||||||
dontPatchShebangs = true;
|
dontPatchShebangs = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://gitlab.pm.bsc.es/rarias/nixtools";
|
homepage = "https://gitlab.pm.bsc.es/rarias/nixtools";
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ in
|
|||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-nosv=${nosv}"
|
"--with-nosv=${nosv}"
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
, numactl
|
, numactl
|
||||||
, hwloc
|
, hwloc
|
||||||
, papi
|
, papi
|
||||||
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
|
, enablePapi ? true
|
||||||
, cacheline ? 64 # bits
|
, cacheline ? 64 # bits
|
||||||
, ovni ? null
|
, ovni ? null
|
||||||
, useGit ? false
|
, useGit ? false
|
||||||
@@ -40,16 +40,17 @@ let
|
|||||||
|
|
||||||
source = if (useGit) then git else release;
|
source = if (useGit) then git else release;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation {
|
||||||
pname = "nosv";
|
pname = "nosv";
|
||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
strictDeps = true;
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-ovni=${ovni}"
|
"--with-ovni=${ovni}"
|
||||||
"CACHELINE_WIDTH=${toString cacheline}"
|
"CACHELINE_WIDTH=${toString cacheline}"
|
||||||
];
|
] ++ lib.optionals enablePapi [ "--with-papi=${papi}" ];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
pkg-config
|
pkg-config
|
||||||
@@ -59,6 +60,7 @@ in
|
|||||||
hwloc
|
hwloc
|
||||||
ovni
|
ovni
|
||||||
] ++ lib.optionals enablePapi [ papi ];
|
] ++ lib.optionals enablePapi [ papi ];
|
||||||
|
patches = [ ./fix-papi.patch ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://gitlab.bsc.es/nos-v/nos-v";
|
homepage = "https://gitlab.bsc.es/nos-v/nos-v";
|
||||||
@@ -66,5 +68,6 @@ in
|
|||||||
maintainers = with lib.maintainers.bsc; [ abonerib rarias ];
|
maintainers = with lib.maintainers.bsc; [ abonerib rarias ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
license = lib.licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
|
cross = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
136
pkgs/nosv/fix-papi.patch
Normal file
136
pkgs/nosv/fix-papi.patch
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
Commit ID: c09633f172ce4075e0a05a33f6dcbe8e03e1202a
|
||||||
|
Change ID: onmwypnnrysktutwsvotqovzponvwrxs
|
||||||
|
Bookmarks: fix/papi fix/papi@git fix/papi@origin
|
||||||
|
Author : Aleix Boné <aleix.boneribo@bsc.es> (2025-12-10 11:14:14)
|
||||||
|
Committer: Aleix Boné <aleix.boneribo@bsc.es> (2025-12-12 12:56:48)
|
||||||
|
|
||||||
|
Improve PAPI m4 module for cross compilation
|
||||||
|
|
||||||
|
diff --git a/m4/papi.m4 b/m4/papi.m4
|
||||||
|
index de90584870..8398f856f5 100644
|
||||||
|
--- a/m4/papi.m4
|
||||||
|
+++ b/m4/papi.m4
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
# This file is part of Nanos6 and is licensed under the terms contained in the COPYING file.
|
||||||
|
#
|
||||||
|
-# Copyright (C) 2021-2022 Barcelona Supercomputing Center (BSC)
|
||||||
|
+# Copyright (C) 2021-2025 Barcelona Supercomputing Center (BSC)
|
||||||
|
|
||||||
|
AC_DEFUN([AC_CHECK_PAPI],
|
||||||
|
[
|
||||||
|
@@ -8,34 +8,38 @@
|
||||||
|
[papi],
|
||||||
|
[AS_HELP_STRING([--with-papi=prefix], [specify the installation prefix of PAPI])],
|
||||||
|
[ ac_cv_use_papi_prefix=$withval ],
|
||||||
|
- [ ac_cv_use_papi_prefix="" ]
|
||||||
|
+ [ ac_cv_use_papi_prefix="check" ]
|
||||||
|
)
|
||||||
|
|
||||||
|
if test x"${ac_cv_use_papi_prefix}" = x"no"; then
|
||||||
|
AC_MSG_CHECKING([the PAPI installation prefix])
|
||||||
|
AC_MSG_RESULT([${ac_cv_use_papi_prefix}])
|
||||||
|
ac_use_papi=no
|
||||||
|
- elif test x"${ac_cv_use_papi_prefix}" != x"" ; then
|
||||||
|
- AC_MSG_CHECKING([the PAPI installation prefix])
|
||||||
|
- AC_MSG_RESULT([${ac_cv_use_papi_prefix}])
|
||||||
|
- papi_LIBS="-L${ac_cv_use_papi_prefix}/lib -lpapi -Wl,-rpath,${ac_cv_use_papi_prefix}/lib"
|
||||||
|
- papi_CFLAGS="-I$ac_cv_use_papi_prefix/include"
|
||||||
|
- ac_use_papi=yes
|
||||||
|
- else
|
||||||
|
+ elif test x"${ac_cv_use_papi_prefix}" = x""; then
|
||||||
|
+ AC_MSG_RESULT([invalid prefix])
|
||||||
|
+ AC_MSG_ERROR([papi prefix specified but empty])
|
||||||
|
+ elif test x"${ac_cv_use_papi_prefix}" = x"yes" -o x"${ac_cv_use_papi_prefix}" = x"check"; then
|
||||||
|
PKG_CHECK_MODULES(
|
||||||
|
[papi],
|
||||||
|
- [papi],
|
||||||
|
+ [papi >= 5.6.0],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([the PAPI installation prefix])
|
||||||
|
AC_MSG_RESULT([retrieved from pkg-config])
|
||||||
|
papi_CFLAGS="${papi_CFLAGS}"
|
||||||
|
ac_use_papi=yes
|
||||||
|
+ ac_papi_version_correct=yes
|
||||||
|
], [
|
||||||
|
AC_MSG_CHECKING([the PAPI installation prefix])
|
||||||
|
AC_MSG_RESULT([not available])
|
||||||
|
ac_use_papi=no
|
||||||
|
]
|
||||||
|
)
|
||||||
|
+ else
|
||||||
|
+ AC_MSG_CHECKING([the PAPI installation prefix])
|
||||||
|
+ AC_MSG_RESULT([${ac_cv_use_papi_prefix}])
|
||||||
|
+ papi_LIBS="-L${ac_cv_use_papi_prefix}/lib -lpapi -Wl,-rpath,${ac_cv_use_papi_prefix}/lib"
|
||||||
|
+ papi_CFLAGS="-I$ac_cv_use_papi_prefix/include"
|
||||||
|
+ ac_use_papi=yes
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x"${ac_use_papi}" = x"yes" ; then
|
||||||
|
@@ -53,10 +57,10 @@
|
||||||
|
ac_use_papi=yes
|
||||||
|
],
|
||||||
|
[
|
||||||
|
- if test x"${ac_cv_use_papi_prefix}" != x"" ; then
|
||||||
|
- AC_MSG_ERROR([PAPI cannot be found.])
|
||||||
|
+ if test x"${ac_cv_use_papi_prefix}" = x"yes" ; then
|
||||||
|
+ AC_MSG_ERROR([PAPI >= 5.6.0 cannot be found.])
|
||||||
|
else
|
||||||
|
- AC_MSG_WARN([PAPI cannot be found.])
|
||||||
|
+ AC_MSG_WARN([PAPI >= 5.6.0 not available.])
|
||||||
|
fi
|
||||||
|
ac_use_papi=no
|
||||||
|
]
|
||||||
|
@@ -64,30 +68,38 @@
|
||||||
|
|
||||||
|
CFLAGS="${ac_save_CFLAGS}"
|
||||||
|
LIBS="${ac_save_LIBS}"
|
||||||
|
+ elif test x"${ac_cv_use_papi_prefix}" = x"yes" ; then
|
||||||
|
+ AC_MSG_ERROR([PAPI >= 5.6.0 cannot be found.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
- if test x"${ac_use_papi}" = x"yes" ; then
|
||||||
|
- if test x"${ac_cv_use_papi_prefix}" != x"" ; then
|
||||||
|
+ if test x"${ac_use_papi}" = x"yes" -a x"${ac_papi_version_correct}" != x"yes" ; then
|
||||||
|
+ if test x"${ac_cv_use_papi_prefix}" != x"yes" -a x"${ac_cv_use_papi_prefix}" != x"check" ; then
|
||||||
|
papiBinary=${ac_cv_use_papi_prefix}/bin/papi_version
|
||||||
|
else
|
||||||
|
papiBinary=papi_version
|
||||||
|
fi
|
||||||
|
- papiVersion=`$papiBinary | sed 's/[[^0-9.]]*\([[0-9.]]*\).*/\1/'`
|
||||||
|
|
||||||
|
- AX_COMPARE_VERSION(
|
||||||
|
- [[${papiVersion}]],
|
||||||
|
- [[ge]],
|
||||||
|
- [[5.6.0]],
|
||||||
|
- [[ac_papi_version_correct=yes]],
|
||||||
|
- [[ac_papi_version_correct=no]]
|
||||||
|
- )
|
||||||
|
|
||||||
|
- if test x"${ac_papi_version_correct}" != x"yes" ; then
|
||||||
|
- AC_MSG_ERROR([PAPI version must be >= 5.6.0.])
|
||||||
|
- ac_use_papi=no
|
||||||
|
+ if test x"$cross_compiling" = x"yes" ; then
|
||||||
|
+ AC_MSG_WARN([Cross-compiling detected, skipping PAPI version check])
|
||||||
|
else
|
||||||
|
- AC_MSG_CHECKING([if the PAPI version >= 5.6.0.])
|
||||||
|
- AC_MSG_RESULT([${ac_papi_version_correct}])
|
||||||
|
+ papiVersion=`$papiBinary | sed 's/[[^0-9.]]*\([[0-9.]]*\).*/\1/'`
|
||||||
|
+
|
||||||
|
+ AX_COMPARE_VERSION(
|
||||||
|
+ [[${papiVersion}]],
|
||||||
|
+ [[ge]],
|
||||||
|
+ [[5.6.0]],
|
||||||
|
+ [[ac_papi_version_correct=yes]],
|
||||||
|
+ [[ac_papi_version_correct=no]]
|
||||||
|
+ )
|
||||||
|
+
|
||||||
|
+ if test x"${ac_papi_version_correct}" != x"yes" ; then
|
||||||
|
+ AC_MSG_ERROR([PAPI version must be >= 5.6.0.])
|
||||||
|
+ ac_use_papi=no
|
||||||
|
+ else
|
||||||
|
+ AC_MSG_CHECKING([if the PAPI version >= 5.6.0.])
|
||||||
|
+ AC_MSG_RESULT([${ac_papi_version_correct}])
|
||||||
|
+ fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
91
pkgs/onemath/default.nix
Normal file
91
pkgs/onemath/default.nix
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
fetchFromGitHub,
|
||||||
|
cmake,
|
||||||
|
withCFlags,
|
||||||
|
intelPackages,
|
||||||
|
|
||||||
|
mklSupport ? true,
|
||||||
|
|
||||||
|
config,
|
||||||
|
|
||||||
|
cudaSupport ? config.cudaSupport,
|
||||||
|
cudaPackages ? { },
|
||||||
|
|
||||||
|
rocmSupport ? config.rocmSupport,
|
||||||
|
hipTargets ? null, # only one target at a time supported
|
||||||
|
rocmPackages ? { },
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
# rocmSupport is not enough, we need a specific target
|
||||||
|
enableHip = rocmSupport && hipTargets != null;
|
||||||
|
|
||||||
|
stdenv = withCFlags (lib.optionals cudaSupport [
|
||||||
|
"--cuda-path=${cudaPackages.cudatoolkit}"
|
||||||
|
]) intelPackages.stdenv;
|
||||||
|
in
|
||||||
|
|
||||||
|
# at least one backend has to be enabled
|
||||||
|
assert mklSupport || cudaSupport || enableHip;
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "oneMath";
|
||||||
|
version = "0.9";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "uxlfoundation";
|
||||||
|
repo = "oneMath";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-jVcrpne6OyOeUlQHg07zZXEyFXvEGCYW88sWnYgEeu8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
(lib.cmakeBool "ENABLE_MKLCPU_BACKEND" mklSupport)
|
||||||
|
(lib.cmakeBool "ENABLE_MKLGPU_BACKEND" mklSupport)
|
||||||
|
|
||||||
|
(lib.cmakeBool "ENABLE_CUBLAS_BACKEND" cudaSupport)
|
||||||
|
(lib.cmakeBool "ENABLE_CUFFT_BACKEND" cudaSupport)
|
||||||
|
(lib.cmakeBool "ENABLE_CURAND_BACKEND" cudaSupport)
|
||||||
|
(lib.cmakeBool "ENABLE_CUSOLVER_BACKEND" cudaSupport)
|
||||||
|
(lib.cmakeBool "ENABLE_CUSPARSE_BACKEND" cudaSupport)
|
||||||
|
|
||||||
|
(lib.cmakeBool "ENABLE_ROCBLAS_BACKEND" enableHip)
|
||||||
|
(lib.cmakeBool "ENABLE_ROCFFT_BACKEND" enableHip)
|
||||||
|
(lib.cmakeBool "ENABLE_ROCSOLVER_BACKEND" enableHip)
|
||||||
|
(lib.cmakeBool "ENABLE_ROCRAND_BACKEND" enableHip)
|
||||||
|
(lib.cmakeBool "ENABLE_ROCSPARSE_BACKEND" enableHip)
|
||||||
|
|
||||||
|
(lib.cmakeBool "BUILD_FUNCTIONAL_TESTS" false)
|
||||||
|
(lib.cmakeBool "BUILD_EXAMPLES" false)
|
||||||
|
]
|
||||||
|
++ lib.optionals enableHip [
|
||||||
|
(lib.cmakeFeature "HIP_TARGETS" hipTargets)
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
buildInputs =
|
||||||
|
lib.optionals (mklSupport) [
|
||||||
|
intelPackages.mkl
|
||||||
|
intelPackages.tbb
|
||||||
|
]
|
||||||
|
++ lib.optionals (enableHip) [
|
||||||
|
rocmPackages.rocmPath
|
||||||
|
rocmPackages.rocblas
|
||||||
|
rocmPackages.rocfft
|
||||||
|
rocmPackages.rocsolver
|
||||||
|
rocmPackages.rocrand
|
||||||
|
rocmPackages.rocsparse
|
||||||
|
]
|
||||||
|
++ lib.optionals (cudaSupport) [
|
||||||
|
(lib.getDev cudaPackages.cuda_cudart)
|
||||||
|
cudaPackages.cudatoolkit
|
||||||
|
|
||||||
|
cudaPackages.libcublas
|
||||||
|
cudaPackages.libcurand
|
||||||
|
cudaPackages.libcufft
|
||||||
|
cudaPackages.libcusparse
|
||||||
|
cudaPackages.libcusolver
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
strictDeps = true;
|
||||||
nativeBuildInputs = [ mpiAll ];
|
nativeBuildInputs = [ mpiAll ];
|
||||||
buildInputs = [ mpiAll ];
|
buildInputs = [ mpiAll ];
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ in
|
|||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
strictDeps = true;
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs --build test/
|
patchShebangs --build test/
|
||||||
'';
|
'';
|
||||||
|
|||||||
31
pkgs/papi/default.nix
Normal file
31
pkgs/papi/default.nix
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
papi,
|
||||||
|
}:
|
||||||
|
|
||||||
|
if stdenv.hostPlatform == stdenv.buildPlatform then
|
||||||
|
papi
|
||||||
|
else
|
||||||
|
papi.overrideAttrs (old: {
|
||||||
|
configureFlags = (old.configureFlags or [ ]) ++ [
|
||||||
|
# Only perf-events works when cross compiling, since for the rest, papi's
|
||||||
|
# configure.in uses `test -f` which is not allowed when cross-compiling.
|
||||||
|
# FIXME: patch configure.in to skip the faulty checks when cross-compiling
|
||||||
|
"--disable-perf-event-uncore"
|
||||||
|
"--with-sysdetect=no"
|
||||||
|
|
||||||
|
# Flags below are adapted from "cross compile sample" in papi's
|
||||||
|
# src/configure.in. (--host is already set by nix). Verified to
|
||||||
|
# cross-compile in both riscv64 and aarch64-multiplatform targets.
|
||||||
|
"--with-ffsll"
|
||||||
|
"--with-tls=__thread"
|
||||||
|
"--with-virtualtimer=clock_thread_cputime_id"
|
||||||
|
"--with-walltimer=clock_realtime"
|
||||||
|
"--with-perf-events"
|
||||||
|
"--with-CPU=${stdenv.hostPlatform.uname.processor}"
|
||||||
|
"--with-arch=${stdenv.hostPlatform.uname.processor}"
|
||||||
|
];
|
||||||
|
patches = (old.patches or [ ]) ++ [ ./fix-ar-cross.patch ];
|
||||||
|
|
||||||
|
meta = old.meta // { cross = true; };
|
||||||
|
})
|
||||||
19
pkgs/papi/fix-ar-cross.patch
Normal file
19
pkgs/papi/fix-ar-cross.patch
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
diff --git a/sde_lib/Makefile b/sde_lib/Makefile
|
||||||
|
index 8518f92..90a9953 100644
|
||||||
|
--- a/sde_lib/Makefile
|
||||||
|
+++ b/sde_lib/Makefile
|
||||||
|
@@ -1,4 +1,5 @@
|
||||||
|
CC ?= gcc
|
||||||
|
+AR ?= ar
|
||||||
|
SDE_INC = -I. -I..
|
||||||
|
SDE_LD = -ldl -pthread
|
||||||
|
CFLAGS += -Wextra -Wall -O2
|
||||||
|
@@ -18,7 +19,7 @@ dynamic: $(DOBJS)
|
||||||
|
rm -f *_d.o
|
||||||
|
|
||||||
|
static: $(SOBJS)
|
||||||
|
- ar rs libsde.a $(SOBJS)
|
||||||
|
+ $(AR) rs libsde.a $(SOBJS)
|
||||||
|
rm -f *_s.o
|
||||||
|
|
||||||
|
clean:
|
||||||
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export CFLAGS="-O3"
|
export CFLAGS="-O3"
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
|
|||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export CFLAGS="-O3 -DPARALLEL_ENABLED"
|
export CFLAGS="-O3 -DPARALLEL_ENABLED"
|
||||||
|
|||||||
26
pkgs/pocl/0001-cmake-do-not-use-suffix.patch
Normal file
26
pkgs/pocl/0001-cmake-do-not-use-suffix.patch
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
From ccf301659caac9b5e973ba1f2d32352acf617a98 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Aleix=20Bon=C3=A9?= <aleix.boneribo@bsc.es>
|
||||||
|
Date: Tue, 2 Jul 2024 16:45:05 +0200
|
||||||
|
Subject: [PATCH] cmake: do not use suffix
|
||||||
|
|
||||||
|
---
|
||||||
|
cmake/LLVM.cmake | 3 ++
|
||||||
|
1 files changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/cmake/LLVM.cmake b/cmake/LLVM.cmake
|
||||||
|
index f4dbda065..e29144dce 100644
|
||||||
|
--- a/cmake/LLVM.cmake
|
||||||
|
+++ b/cmake/LLVM.cmake
|
||||||
|
@@ -65,6 +65,9 @@ else()
|
||||||
|
message(WARNING "Cannot determine llvm binary suffix from ${LLVM_CONFIG}")
|
||||||
|
endif()
|
||||||
|
message(STATUS "LLVM binaries suffix : ${LLVM_BINARY_SUFFIX}")
|
||||||
|
+
|
||||||
|
+ # We don't want suffixes in nix
|
||||||
|
+ set(LLVM_BINARY_SUFFIX "")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
get_filename_component(LLVM_CONFIG_LOCATION "${LLVM_CONFIG}" DIRECTORY)
|
||||||
|
--
|
||||||
|
2.45.1
|
||||||
|
|
||||||
33
pkgs/pocl/0001-cmake-native-build-tools.patch
Normal file
33
pkgs/pocl/0001-cmake-native-build-tools.patch
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
From f24b456c50f587b05cc8f2699c94d8cdefc5b13e Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Aleix=20Bon=C3=A9?= <aleix.boneribo@bsc.es>
|
||||||
|
Date: Tue, 2 Jul 2024 17:11:11 +0200
|
||||||
|
Subject: [PATCH] cmake: native build tools
|
||||||
|
|
||||||
|
---
|
||||||
|
cmake/LLVM.cmake | 7 +-
|
||||||
|
1 files changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/cmake/LLVM.cmake b/cmake/LLVM.cmake
|
||||||
|
index e29144dce..b9f14ce6a 100644
|
||||||
|
--- a/cmake/LLVM.cmake
|
||||||
|
+++ b/cmake/LLVM.cmake
|
||||||
|
@@ -269,10 +269,15 @@ endforeach()
|
||||||
|
|
||||||
|
####################################################################
|
||||||
|
|
||||||
|
+if(DEFINED LLVM_NATIVE_TOOL_DIR)
|
||||||
|
+ set(TOOL_DIR "${LLVM_NATIVE_TOOL_DIR}")
|
||||||
|
+ message(STATUS "TOOL_DIR=${TOOL_DIR}")
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
macro(find_program_or_die OUTPUT_VAR PROG_NAME DOCSTRING)
|
||||||
|
find_program(${OUTPUT_VAR}
|
||||||
|
NAMES "${PROG_NAME}${LLVM_BINARY_SUFFIX}${CMAKE_EXECUTABLE_SUFFIX}"
|
||||||
|
- HINTS "${LLVM_BINDIR}" "${LLVM_CONFIG_LOCATION}"
|
||||||
|
+ HINTS "${TOOL_DIR}" "${LLVM_BINDIR}" "${LLVM_CONFIG_LOCATION}"
|
||||||
|
DOC "${DOCSTRING}"
|
||||||
|
NO_CMAKE_PATH
|
||||||
|
NO_CMAKE_ENVIRONMENT_PATH
|
||||||
|
--
|
||||||
|
2.45.1
|
||||||
|
|
||||||
48
pkgs/pocl/0001-cmake-use-clang-from-cmake-variable.patch
Normal file
48
pkgs/pocl/0001-cmake-use-clang-from-cmake-variable.patch
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
From 4688b5ce895761c884ae15fc0234ed8d623b988b Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Aleix=20Bon=C3=A9?= <aleix.boneribo@bsc.es>
|
||||||
|
Date: Tue, 2 Jul 2024 15:41:47 +0200
|
||||||
|
Subject: [PATCH] cmake: use clang from cmake variable
|
||||||
|
|
||||||
|
---
|
||||||
|
cmake/LLVM.cmake | 22 ++++++++++++++++++++--
|
||||||
|
1 file changed, 20 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cmake/LLVM.cmake b/cmake/LLVM.cmake
|
||||||
|
index 71b786dc7..f4dbda065 100644
|
||||||
|
--- a/cmake/LLVM.cmake
|
||||||
|
+++ b/cmake/LLVM.cmake
|
||||||
|
@@ -281,11 +281,29 @@ macro(find_program_or_die OUTPUT_VAR PROG_NAME DOCSTRING)
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
-find_program_or_die( CLANG "clang" "clang binary")
|
||||||
|
+# -DCMAKE_C_COMPILER=riscv64-unknown-linux-gnu-clang -DCMAKE_CXX_COMPILER=riscv64-unknown-linux-gnu-clang++
|
||||||
|
+
|
||||||
|
+# if(DEFINED CLANG_EXECUTABLE)
|
||||||
|
+if(DEFINED CMAKE_C_COMPILER)
|
||||||
|
+ # set(CLANG "${CLANG_EXECUTABLE}")
|
||||||
|
+ set(CLANG "${CMAKE_C_COMPILER}")
|
||||||
|
+ message(STATUS "Using CLANG_EXECUTABLE: ${CLANG}")
|
||||||
|
+else()
|
||||||
|
+ find_program_or_die( CLANG "clang" "clang binary")
|
||||||
|
+endif()
|
||||||
|
execute_process(COMMAND "${CLANG}" "--version" OUTPUT_VARIABLE LLVM_CLANG_VERSION RESULT_VARIABLE CLANG_RES)
|
||||||
|
+
|
||||||
|
# TODO this should be optional
|
||||||
|
-find_program_or_die( CLANGXX "clang++" "clang++ binary")
|
||||||
|
+# if(DEFINED CLANGXX_EXECUTABLE)
|
||||||
|
+if(DEFINED CMAKE_CXX_COMPILER)
|
||||||
|
+ # set(CLANGXX "${CLANGXX_EXECUTABLE}")
|
||||||
|
+ set(CLANGXX "${CMAKE_CXX_COMPILER}")
|
||||||
|
+ message(STATUS "Using CLANGXX_EXECUTABLE: ${CLANGXX}")
|
||||||
|
+else()
|
||||||
|
+ find_program_or_die( CLANGXX "clang++" "clang++ binary")
|
||||||
|
+endif()
|
||||||
|
execute_process(COMMAND "${CLANGXX}" "--version" OUTPUT_VARIABLE LLVM_CLANGXX_VERSION RESULT_VARIABLE CLANGXX_RES)
|
||||||
|
+
|
||||||
|
if(CLANGXX_RES OR CLANG_RES)
|
||||||
|
message(FATAL_ERROR "Failed running clang/clang++ --version")
|
||||||
|
endif()
|
||||||
|
--
|
||||||
|
2.45.1
|
||||||
|
|
||||||
255
pkgs/pocl/default.nix
Normal file
255
pkgs/pocl/default.nix
Normal file
@@ -0,0 +1,255 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
llvmPackages,
|
||||||
|
ninja,
|
||||||
|
cmake,
|
||||||
|
hwloc,
|
||||||
|
ocl-icd,
|
||||||
|
opencl-headers,
|
||||||
|
getconf,
|
||||||
|
pkg-config,
|
||||||
|
spirv-llvm-translator,
|
||||||
|
spirv-tools,
|
||||||
|
libxml2, # required for statically linked llvm
|
||||||
|
python3,
|
||||||
|
writableTmpDirAsHomeHook,
|
||||||
|
writeText,
|
||||||
|
runCommand,
|
||||||
|
opencl-cts,
|
||||||
|
|
||||||
|
fetchFromGitHub,
|
||||||
|
|
||||||
|
useGit ? false,
|
||||||
|
gitUrl ? "git@gitlab-internal.bsc.es:task-awareness/pocl/pocl.git",
|
||||||
|
gitBranch ? "feat/nosv",
|
||||||
|
gitCommit ? "556542309fc3c5900cf05dae5b41d200cd3de6a0",
|
||||||
|
|
||||||
|
staticLLVM ? true,
|
||||||
|
enableICD ? true,
|
||||||
|
enableSPIRV ? true,
|
||||||
|
enableHWLOC ? true,
|
||||||
|
enableRemoteServer ? false,
|
||||||
|
enableRemoteClient ? false,
|
||||||
|
enableDistroVariants ? false,
|
||||||
|
|
||||||
|
lttng-ust,
|
||||||
|
enableLTTNG ? false,
|
||||||
|
|
||||||
|
onetbb,
|
||||||
|
enableTBB ? false,
|
||||||
|
|
||||||
|
nosv ? null,
|
||||||
|
ovni ? null,
|
||||||
|
enableNOSV ? useGit,
|
||||||
|
enableOVNI ? useGit,
|
||||||
|
|
||||||
|
buildPackages,
|
||||||
|
targetPackages,
|
||||||
|
nix-update-script,
|
||||||
|
}:
|
||||||
|
|
||||||
|
assert (enableNOSV || enableOVNI) -> useGit;
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
release = rec {
|
||||||
|
version = "7.1";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "pocl";
|
||||||
|
repo = "pocl";
|
||||||
|
tag = "v${version}";
|
||||||
|
hash = "sha256-bS6vTIjLO7YLs7qYLKW0cYYbEJ/hRS/+IjjAKbkj8ac=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
git = rec {
|
||||||
|
version = src.shortRev;
|
||||||
|
src = builtins.fetchGit {
|
||||||
|
url = gitUrl;
|
||||||
|
ref = gitBranch;
|
||||||
|
rev = gitCommit;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
source = if (useGit) then git else release;
|
||||||
|
|
||||||
|
stdenv = llvmPackages.stdenv;
|
||||||
|
|
||||||
|
buildLlvmPackages = buildPackages.llvmPackages;
|
||||||
|
|
||||||
|
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
|
||||||
|
|
||||||
|
featureList = lib.concatStringsSep "+" (
|
||||||
|
(lib.optionals enableICD [ "icd" ])
|
||||||
|
++ (lib.optionals enableNOSV [ "nosv" ])
|
||||||
|
++ (lib.optionals enableOVNI [ "ovni" ])
|
||||||
|
++ (lib.optionals enableSPIRV [ "spirv" ])
|
||||||
|
++ (lib.optionals enableTBB [ "tbb" ])
|
||||||
|
++ (lib.optionals enableRemoteClient [ "server" ])
|
||||||
|
++ (lib.optionals enableRemoteServer [ "client" ])
|
||||||
|
);
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "pocl";
|
||||||
|
version = featureList + "-" + source.version;
|
||||||
|
inherit (source) src;
|
||||||
|
|
||||||
|
patches = lib.optionals useGit [
|
||||||
|
./0001-cmake-use-clang-from-cmake-variable.patch
|
||||||
|
./0001-cmake-do-not-use-suffix.patch
|
||||||
|
./0001-cmake-native-build-tools.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
# TODO: all these are broken when cross compiling. Upstream has refactored
|
||||||
|
# all the cmake infra for cross compilation, but it's not in a release yet
|
||||||
|
(lib.cmakeOptionType "filepath" "WITH_LLVM_CONFIG" (
|
||||||
|
lib.getExe' buildLlvmPackages.llvm.dev "llvm-config"
|
||||||
|
))
|
||||||
|
(lib.cmakeOptionType "filepath" "CLANG" (lib.getExe' buildLlvmPackages.clangUseLLVM "clang"))
|
||||||
|
(lib.cmakeOptionType "filepath" "CLANGXX" (lib.getExe' buildLlvmPackages.clangUseLLVM "clang++"))
|
||||||
|
(lib.cmakeOptionType "path" "CLANG_RESOURCE_DIR" "${llvmPackages.stdenv.cc}/resource-root")
|
||||||
|
|
||||||
|
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
|
||||||
|
|
||||||
|
(lib.cmakeBool "ENABLE_RELOCATION" true)
|
||||||
|
(lib.cmakeBool "ENABLE_POCL_BUILDING" true)
|
||||||
|
(lib.cmakeBool "POCL_ICD_ABSOLUTE_PATH" true)
|
||||||
|
|
||||||
|
(lib.cmakeBool "ENABLE_TBB_DEVICE" enableTBB)
|
||||||
|
(lib.cmakeBool "ENABLE_ICD" enableICD)
|
||||||
|
(lib.cmakeBool "ENABLE_HWLOC" enableHWLOC)
|
||||||
|
(lib.cmakeBool "ENABLE_LTTNG" enableLTTNG)
|
||||||
|
|
||||||
|
(lib.cmakeBool "ENABLE_REMOTE_CLIENT" enableRemoteClient)
|
||||||
|
(lib.cmakeBool "ENABLE_REMOTE_SERVER" enableRemoteServer)
|
||||||
|
|
||||||
|
# avoid the runtime linker pulling in a different llvm e.g. from graphics drivers
|
||||||
|
(lib.cmakeBool "STATIC_LLVM" staticLLVM)
|
||||||
|
]
|
||||||
|
++ lib.optionals (enableNOSV || enableOVNI) [
|
||||||
|
(lib.cmakeBool "ENABLE_NOSV" enableNOSV)
|
||||||
|
(lib.cmakeBool "ENABLE_OVNI" enableOVNI)
|
||||||
|
]
|
||||||
|
++ lib.optionals (!isCross && enableDistroVariants) [
|
||||||
|
(lib.cmakeFeature "KERNELLIB_HOST_CPU_VARIANTS" "distro") # TODO: check if we can do it when cross compiling
|
||||||
|
]
|
||||||
|
++ lib.optionals isCross [
|
||||||
|
(lib.cmakeFeature "CMAKE_SYSTEM_NAME" "Linux")
|
||||||
|
(lib.cmakeFeature "CMAKE_FIND_ROOT_PATH_MODE_PROGRAM" "NEVER")
|
||||||
|
(lib.cmakeFeature "CMAKE_FIND_ROOT_PATH_MODE_LIBRARY" "ONLY")
|
||||||
|
(lib.cmakeFeature "CMAKE_FIND_ROOT_PATH_MODE_INCLUDE" "ONLY")
|
||||||
|
(lib.cmakeFeature "CMAKE_FIND_ROOT_PATH_MODE_PACKAGE" "ONLY")
|
||||||
|
]
|
||||||
|
++ lib.optionals stdenv.hostPlatform.isRiscV [
|
||||||
|
(lib.cmakeFeature "LLC_TRIPLE" "riscv64-unknown-linux-gnu")
|
||||||
|
(lib.cmakeFeature "LLC_HOST_CPU" "rv64g")
|
||||||
|
(lib.cmakeFeature "CLANG_MARCH_FLAG" "-march=")
|
||||||
|
];
|
||||||
|
|
||||||
|
# Fixes error: ld: cannot find -lgcc / -lgcc_s when linking from libpocl on
|
||||||
|
# host
|
||||||
|
preConfigure = ''
|
||||||
|
cmakeFlagsArray+=(
|
||||||
|
-DEXTRA_HOST_LD_FLAGS="${lib.escapeShellArg (builtins.readFile "${targetPackages.stdenv.cc}/nix-support/cc-ldflags")}"
|
||||||
|
-DEXTRA_KERNEL_FLAGS="${lib.escapeShellArg (builtins.readFile "${targetPackages.stdenv.cc}/nix-support/cc-ldflags")}"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
getconf
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
python3
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
opencl-headers
|
||||||
|
llvmPackages.libclang
|
||||||
|
llvmPackages.llvm
|
||||||
|
]
|
||||||
|
++ lib.optionals staticLLVM [ libxml2 ]
|
||||||
|
++ lib.optionals enableNOSV [ nosv ]
|
||||||
|
++ lib.optionals enableOVNI [ ovni ]
|
||||||
|
++ lib.optionals enableHWLOC [ hwloc ]
|
||||||
|
++ lib.optionals enableTBB [ onetbb ]
|
||||||
|
++ lib.optionals enableICD [ ocl-icd ]
|
||||||
|
++ lib.optionals enableLTTNG [ lttng-ust ]
|
||||||
|
++ lib.optionals enableSPIRV [
|
||||||
|
(spirv-llvm-translator.override { inherit (llvmPackages) llvm; })
|
||||||
|
spirv-tools
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeInstallCheckInputs = [
|
||||||
|
writableTmpDirAsHomeHook # needed for POCL_CACHE_DIR
|
||||||
|
];
|
||||||
|
|
||||||
|
doInstallCheck = true;
|
||||||
|
|
||||||
|
installCheckPhase = lib.optionalString enableICD ''
|
||||||
|
runHook preInstallCheck
|
||||||
|
|
||||||
|
export OCL_ICD_VENDORS=$out/etc/OpenCL/vendors
|
||||||
|
$out/bin/poclcc -o poclcc.cl.pocl $src/examples/poclcc/poclcc.cl
|
||||||
|
|
||||||
|
runHook postInstallCheck
|
||||||
|
'';
|
||||||
|
|
||||||
|
setupHook = lib.optionalDrvAttr enableICD (
|
||||||
|
writeText "setup-hook" ''
|
||||||
|
addToSearchPath OCL_ICD_VENDORS @out@/etc/OpenCL/vendors
|
||||||
|
''
|
||||||
|
);
|
||||||
|
|
||||||
|
passthru =
|
||||||
|
let
|
||||||
|
self = finalAttrs.finalPackage;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
updateScript = nix-update-script { };
|
||||||
|
git = self.override { useGit = true; };
|
||||||
|
|
||||||
|
withICD = enableICD;
|
||||||
|
|
||||||
|
test = {
|
||||||
|
# Run builtin tests (causes a rebuild)
|
||||||
|
self = self.overrideAttrs { doCheck = true; };
|
||||||
|
|
||||||
|
# Run basic test from Khronos OpenCL Conformance Test Suite
|
||||||
|
# WARN: despite its name, test_basic is very exhaustive, and can take more
|
||||||
|
# than 1 hour in a marenostrum5 node.
|
||||||
|
cts =
|
||||||
|
assert enableICD;
|
||||||
|
lib.genAttrs [ "api" "basic" "c11_atomics" "printf" "svm" ] (
|
||||||
|
name:
|
||||||
|
runCommand "pocl-cts-test_${name}" {
|
||||||
|
nativeBuildInputs = [ self ];
|
||||||
|
requiredSystemFeatures = [ "sys-devices" ];
|
||||||
|
env = {
|
||||||
|
POCL_DEBUG = "error,warn";
|
||||||
|
POCL_CACHE_DIR = "/build/pocl_cache";
|
||||||
|
};
|
||||||
|
} "${opencl-cts}/bin/Release/test_${name} | tee $out"
|
||||||
|
);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
env.HWLOC_SYNTHETIC = lib.optionalDrvAttr enableHWLOC "node:1 core:1 pu:1";
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ stdenv.cc.cc ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A portable open source (MIT-licensed) implementation of the OpenCL standard";
|
||||||
|
homepage = "http://portablecl.org";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [
|
||||||
|
leixb
|
||||||
|
jansol
|
||||||
|
xddxdd
|
||||||
|
bsc.abonerib
|
||||||
|
];
|
||||||
|
platforms = platforms.linux ++ platforms.darwin;
|
||||||
|
};
|
||||||
|
})
|
||||||
@@ -13,6 +13,7 @@ buildGoModule rec {
|
|||||||
|
|
||||||
vendorHash = "sha256-A1dd9T9SIEHDCiVT2UwV6T02BSLh9ej6LC/2l54hgwI=";
|
vendorHash = "sha256-A1dd9T9SIEHDCiVT2UwV6T02BSLh9ej6LC/2l54hgwI=";
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Prometheus SLURM Exporter";
|
description = "Prometheus SLURM Exporter";
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
strictDeps = true;
|
||||||
configureFlags = [ "--with-ovni=${ovni}" ];
|
configureFlags = [ "--with-ovni=${ovni}" ];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
|
|||||||
pname = "tagaspi";
|
pname = "tagaspi";
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
version = "2.0";
|
version = "2.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ in stdenv.mkDerivation {
|
|||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoconf
|
autoconf
|
||||||
|
|||||||
95
pkgs/tasycl/default.nix
Normal file
95
pkgs/tasycl/default.nix
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
autoconf,
|
||||||
|
automake,
|
||||||
|
autoreconfHook,
|
||||||
|
boost,
|
||||||
|
fetchFromGitHub,
|
||||||
|
gnumake,
|
||||||
|
libtool,
|
||||||
|
withCFlags,
|
||||||
|
|
||||||
|
useIntel ? true,
|
||||||
|
adaptivecpp ? null,
|
||||||
|
intelPackages ? null,
|
||||||
|
|
||||||
|
useGit ? false,
|
||||||
|
gitUrl ? "git@gitlab-internal.bsc.es:task-awareness/tasycl/tasycl.git",
|
||||||
|
gitBranch ? "main",
|
||||||
|
gitCommit ? "78f98dcf60a66e0eaa3b4ebcf55be076bec64825",
|
||||||
|
}:
|
||||||
|
|
||||||
|
assert !useIntel -> adaptivecpp != null;
|
||||||
|
assert useIntel -> intelPackages != null;
|
||||||
|
|
||||||
|
let
|
||||||
|
variant = if useIntel then "intel" else "acpp";
|
||||||
|
|
||||||
|
syclStdenv = withCFlags [ "-O3" ] (if useIntel then intelPackages.stdenv else stdenv);
|
||||||
|
|
||||||
|
release = rec {
|
||||||
|
version = "2.1.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "bsc-pm";
|
||||||
|
repo = "tasycl";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-0kXnb0lHeQNHR27GTLbJ8xbiICLU8k2+FqEnnFSrzzo=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
git = rec {
|
||||||
|
version = src.shortRev;
|
||||||
|
src = builtins.fetchGit {
|
||||||
|
url = gitUrl;
|
||||||
|
ref = gitBranch;
|
||||||
|
rev = gitCommit;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
source = if (useGit) then git else release;
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
syclStdenv.mkDerivation {
|
||||||
|
pname = "tasycl-${variant}";
|
||||||
|
inherit (source) src version;
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
separateDebugInfo = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
automake
|
||||||
|
autoconf
|
||||||
|
libtool
|
||||||
|
gnumake
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
boost
|
||||||
|
];
|
||||||
|
|
||||||
|
configureFlags = lib.optionals (!useIntel) [
|
||||||
|
"CXX=${lib.getExe adaptivecpp}"
|
||||||
|
];
|
||||||
|
|
||||||
|
# add symlinks so we can explicitly link with tasycl-intel / tasycl-acpp
|
||||||
|
postInstall = ''
|
||||||
|
pushd $out/lib
|
||||||
|
for i in libtasycl* ; do
|
||||||
|
ln -s "$i" "''\${i/tasycl/tasycl-${variant}}"
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
'';
|
||||||
|
|
||||||
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://github.com/bsc-pm/tasycl";
|
||||||
|
description = "Interoperability support between task-based programming models and SYCL";
|
||||||
|
maintainers = with lib.maintainers.bsc; [ abonerib ];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
license = lib.licenses.gpl3Plus;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -9,6 +9,7 @@ python3Packages.buildPythonApplication {
|
|||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
build-system = with python3Packages; [
|
build-system = with python3Packages; [
|
||||||
setuptools
|
setuptools
|
||||||
|
|||||||
@@ -23,9 +23,6 @@ in stdenv.mkDerivation {
|
|||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
|
|
||||||
# nOS-V requires access to /sys/devices to request NUMA information
|
|
||||||
requiredSystemFeatures = [ "sys-devices" ];
|
|
||||||
|
|
||||||
buildInputs = [ openmp ];
|
buildInputs = [ openmp ];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
|
|||||||
93
test/compilers/hello-sycl.nix
Normal file
93
test/compilers/hello-sycl.nix
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
{
|
||||||
|
intelPackages,
|
||||||
|
writeText,
|
||||||
|
strace,
|
||||||
|
pocl,
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
stdenv = intelPackages.stdenv;
|
||||||
|
hello_sycl = writeText "hello.cpp" ''
|
||||||
|
#include <sycl/sycl.hpp>
|
||||||
|
|
||||||
|
class hello_world;
|
||||||
|
|
||||||
|
int main(int argc, char** argv) try {
|
||||||
|
auto device_selector = sycl::default_selector_v;
|
||||||
|
|
||||||
|
sycl::queue queue(device_selector);
|
||||||
|
|
||||||
|
std::cout << "Running on: "
|
||||||
|
<< queue.get_device().get_info<sycl::info::device::name>()
|
||||||
|
<< std::endl;
|
||||||
|
|
||||||
|
queue.submit([&] (sycl::handler& cgh) {
|
||||||
|
auto os = sycl::stream{128, 128, cgh};
|
||||||
|
cgh.single_task<hello_world>([=]() {
|
||||||
|
os << "Hello World! (on device)\n";
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
} catch (sycl::exception &e) {
|
||||||
|
std::cout << "SYCL exception: " << e.what() << std::endl;
|
||||||
|
return 0; // we expect to fail since no devices should be available;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
version = "0.0.1";
|
||||||
|
name = "hello-sycl";
|
||||||
|
nativeBuildInputs = [
|
||||||
|
stdenv
|
||||||
|
strace
|
||||||
|
];
|
||||||
|
src = hello_sycl;
|
||||||
|
dontUnpack = true;
|
||||||
|
dontConfigure = true;
|
||||||
|
NIX_DEBUG = 0;
|
||||||
|
buildPhase = ''
|
||||||
|
cp $src hello.cpp
|
||||||
|
set -x
|
||||||
|
echo CXX=$CXX
|
||||||
|
command -v $CXX
|
||||||
|
$CXX -fsycl hello.cpp -o hello
|
||||||
|
./hello | tee test-output
|
||||||
|
set +x
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
cp test-output $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
withPocl = finalAttrs.finalPackage.overrideAttrs (old: {
|
||||||
|
nativeBuildInputs = old.nativeBuildInputs ++ [ pocl ];
|
||||||
|
env = (old.env or { }) // {
|
||||||
|
POCL_DEBUG = "error,warn";
|
||||||
|
POCL_CACHE_DIR = "/build/pocl_cache";
|
||||||
|
|
||||||
|
# Make PoCL report Intel vendor id so oneapi SYCL works
|
||||||
|
POCL_DRIVER_VERSION_OVERRIDE = "2024.18.6.0.02_160000";
|
||||||
|
POCL_CPU_VENDOR_ID_OVERRIDE = 32902;
|
||||||
|
|
||||||
|
HWLOC_SYNTHETIC = "node:1 core:1 pu:1";
|
||||||
|
};
|
||||||
|
doInstallCheck = true;
|
||||||
|
installCheckPhase = ''
|
||||||
|
grep "Hello World! (on device)" $out
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
withIntel = finalAttrs.finalPackage.overrideAttrs (old: {
|
||||||
|
env = (old.env or { }) // {
|
||||||
|
OCL_ICD_VENDORS = intelPackages.compiler + "/etc/OpenCL/vendors";
|
||||||
|
};
|
||||||
|
doInstallCheck = true;
|
||||||
|
installCheckPhase = ''
|
||||||
|
grep "Hello World! (on device)" $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
});
|
||||||
|
};
|
||||||
|
})
|
||||||
112
test/compilers/icpx-ompss2.nix
Normal file
112
test/compilers/icpx-ompss2.nix
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
{
|
||||||
|
writeText,
|
||||||
|
intelPackages,
|
||||||
|
nodes,
|
||||||
|
nosv,
|
||||||
|
clangOmpss2Nodes,
|
||||||
|
strace,
|
||||||
|
pocl,
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
hello_cpp = writeText "hello.cpp" ''
|
||||||
|
#include <cstdio>
|
||||||
|
#include <sycl/sycl.hpp>
|
||||||
|
|
||||||
|
int main(int argc, char** argv) try {
|
||||||
|
sycl::queue queue;
|
||||||
|
|
||||||
|
std::cout << "Running on: "
|
||||||
|
<< queue.get_device().get_info<sycl::info::device::name>()
|
||||||
|
<< std::endl;
|
||||||
|
|
||||||
|
#pragma oss task
|
||||||
|
queue.submit([&] (sycl::handler& cgh) {
|
||||||
|
auto os = sycl::stream{128, 128, cgh};
|
||||||
|
cgh.single_task<class hello_world>([=]() {
|
||||||
|
os << "Hello World! (on device)\n";
|
||||||
|
});
|
||||||
|
}).wait();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
} catch (sycl::exception &e) {
|
||||||
|
std::cout << "SYCL exception: " << e.what() << std::endl;
|
||||||
|
return 0; // we expect to fail since no devices should be available;
|
||||||
|
}
|
||||||
|
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
|
||||||
|
intelPackages.stdenv.mkDerivation (finalAttrs: {
|
||||||
|
version = "0.0.1";
|
||||||
|
name = "hello-syclompss";
|
||||||
|
|
||||||
|
src = hello_cpp;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
strace
|
||||||
|
nodes
|
||||||
|
nosv
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
withPocl = finalAttrs.finalPackage.overrideAttrs (old: {
|
||||||
|
nativeBuildInputs = old.nativeBuildInputs ++ [ pocl ];
|
||||||
|
env = (old.env or { }) // {
|
||||||
|
POCL_DEBUG = "error,warn";
|
||||||
|
POCL_CACHE_DIR = "/build/pocl_cache";
|
||||||
|
|
||||||
|
# Make PoCL report Intel vendor id so oneapi SYCL works
|
||||||
|
POCL_DRIVER_VERSION_OVERRIDE = "2024.18.6.0.02_160000";
|
||||||
|
POCL_CPU_VENDOR_ID_OVERRIDE = 32902;
|
||||||
|
|
||||||
|
HWLOC_SYNTHETIC = "node:1 core:1 pu:1";
|
||||||
|
};
|
||||||
|
doInstallCheck = true;
|
||||||
|
installCheckPhase = ''
|
||||||
|
grep "Hello World! (on device)" $out
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
withIntel = finalAttrs.finalPackage.overrideAttrs (old: {
|
||||||
|
env = (old.env or { }) // {
|
||||||
|
OCL_ICD_VENDORS = intelPackages.compiler + "/etc/OpenCL/vendors";
|
||||||
|
};
|
||||||
|
doInstallCheck = true;
|
||||||
|
installCheckPhase = ''
|
||||||
|
grep "Hello World! (on device)" $out
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
# NODES requires access to /sys/devices to request NUMA information
|
||||||
|
requiredSystemFeatures = [ "sys-devices" ];
|
||||||
|
|
||||||
|
env.NODES_HOME = nodes;
|
||||||
|
|
||||||
|
NIX_DEBUG = 1;
|
||||||
|
buildPhase = ''
|
||||||
|
cp $src hello.cpp
|
||||||
|
set -x
|
||||||
|
echo CXX=$CXX
|
||||||
|
echo NODES_HOME=$NODES_HOME
|
||||||
|
command -v $CXX
|
||||||
|
|
||||||
|
$CXX -Wno-deprecated-declarations -fsycl \
|
||||||
|
-fsycl-host-compiler=${clangOmpss2Nodes.forIcpx}/bin/clang++ \
|
||||||
|
-fsycl-host-compiler-options='-Wno-deprecated-declarations -fompss-2=libnodes' \
|
||||||
|
-lnodes -lnosv \
|
||||||
|
$NODES_HOME/lib/nodes-main-wrapper.o \
|
||||||
|
hello.cpp -o hello
|
||||||
|
|
||||||
|
./hello | tee test-output
|
||||||
|
set +x
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
cp test-output $out
|
||||||
|
'';
|
||||||
|
})
|
||||||
127
test/compilers/opencl.c
Normal file
127
test/compilers/opencl.c
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
#include <CL/cl.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#define BUF_LEN 128
|
||||||
|
|
||||||
|
cl_int exit_err = CL_SUCCESS;
|
||||||
|
|
||||||
|
#define CHECK(cmd) \
|
||||||
|
do { \
|
||||||
|
cl_int err = cmd; \
|
||||||
|
if (err != CL_SUCCESS) { \
|
||||||
|
printf("[ERROR] " #cmd " (Error code: %d)\n" \
|
||||||
|
"@ "__FILE__ \
|
||||||
|
":%d", \
|
||||||
|
err, __LINE__); \
|
||||||
|
exit_err = err; \
|
||||||
|
goto cleanup; \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
const char *kernel_source = "__kernel void vector_add(__global const float *a, "
|
||||||
|
"__global const float *b, __global float *c) {\n"
|
||||||
|
" int gid = get_global_id(0);\n"
|
||||||
|
" c[gid] = a[gid] + b[gid];\n"
|
||||||
|
"}\n";
|
||||||
|
|
||||||
|
cl_int test_kernel_compilation(cl_platform_id platform) {
|
||||||
|
cl_device_id device = NULL;
|
||||||
|
cl_context context = NULL;
|
||||||
|
cl_program program = NULL;
|
||||||
|
cl_int err = CL_SUCCESS;
|
||||||
|
char device_name[BUF_LEN];
|
||||||
|
|
||||||
|
// Get first device for this platform
|
||||||
|
CHECK(clGetDeviceIDs(platform, CL_DEVICE_TYPE_ALL, 1, &device, NULL));
|
||||||
|
|
||||||
|
// Get device name
|
||||||
|
CHECK(clGetDeviceInfo(device, CL_DEVICE_NAME, sizeof(device_name),
|
||||||
|
device_name, NULL));
|
||||||
|
printf(" Device: %s\n", device_name);
|
||||||
|
|
||||||
|
context = clCreateContext(NULL, 1, &device, NULL, NULL, &err);
|
||||||
|
CHECK(err);
|
||||||
|
|
||||||
|
program = clCreateProgramWithSource(context, 1, &kernel_source, NULL, &err);
|
||||||
|
CHECK(err);
|
||||||
|
|
||||||
|
err = clBuildProgram(program, 1, &device, NULL, NULL, NULL);
|
||||||
|
if (err != CL_SUCCESS) {
|
||||||
|
printf(" [ERROR] Kernel compilation failed (Error code: %d)\n", err);
|
||||||
|
|
||||||
|
// Build log
|
||||||
|
size_t log_size;
|
||||||
|
CHECK(clGetProgramBuildInfo(program, device, CL_PROGRAM_BUILD_LOG, 0, NULL,
|
||||||
|
&log_size));
|
||||||
|
char *log = (char *)malloc(log_size);
|
||||||
|
CHECK(clGetProgramBuildInfo(program, device, CL_PROGRAM_BUILD_LOG, log_size,
|
||||||
|
log, NULL));
|
||||||
|
printf(" Build log:\n%s\n", log);
|
||||||
|
free(log);
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf(" [OK] Kernel compiled successfully!\n");
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
if (program)
|
||||||
|
clReleaseProgram(program);
|
||||||
|
if (context)
|
||||||
|
clReleaseContext(context);
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
return exit_err;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
cl_uint num_platforms;
|
||||||
|
cl_platform_id *platforms = NULL;
|
||||||
|
|
||||||
|
// Get number of platforms
|
||||||
|
CHECK(clGetPlatformIDs(0, NULL, &num_platforms));
|
||||||
|
|
||||||
|
printf("Found %d OpenCL platform(s)\n\n", num_platforms);
|
||||||
|
|
||||||
|
if (num_platforms == 0) {
|
||||||
|
printf("No OpenCL platforms found!\n");
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Allocate memory for platforms
|
||||||
|
platforms = (cl_platform_id *)malloc(sizeof(cl_platform_id) * num_platforms);
|
||||||
|
|
||||||
|
// Get platform IDs
|
||||||
|
CHECK(clGetPlatformIDs(num_platforms, platforms, NULL));
|
||||||
|
|
||||||
|
// Query each platform and test kernel compilation
|
||||||
|
for (cl_uint i = 0; i < num_platforms; i++) {
|
||||||
|
char platform_name[BUF_LEN];
|
||||||
|
char platform_vendor[BUF_LEN];
|
||||||
|
char platform_version[BUF_LEN];
|
||||||
|
|
||||||
|
CHECK(clGetPlatformInfo(platforms[i], CL_PLATFORM_NAME,
|
||||||
|
sizeof(platform_name), platform_name, NULL));
|
||||||
|
CHECK(clGetPlatformInfo(platforms[i], CL_PLATFORM_VENDOR,
|
||||||
|
sizeof(platform_vendor), platform_vendor, NULL));
|
||||||
|
CHECK(clGetPlatformInfo(platforms[i], CL_PLATFORM_VERSION,
|
||||||
|
sizeof(platform_version), platform_version, NULL));
|
||||||
|
|
||||||
|
printf("Platform %d: %s\n", i, platform_name);
|
||||||
|
printf(" Vendor: %s\n", platform_vendor);
|
||||||
|
printf(" Version: %s\n", platform_version);
|
||||||
|
|
||||||
|
// Test kernel compilation
|
||||||
|
CHECK(test_kernel_compilation(platforms[i]));
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
if (platforms)
|
||||||
|
free(platforms);
|
||||||
|
|
||||||
|
if (exit_err == CL_SUCCESS)
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
104
test/compilers/opencl.nix
Normal file
104
test/compilers/opencl.nix
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
ocl-icd,
|
||||||
|
opencl-headers,
|
||||||
|
pocl,
|
||||||
|
clinfo,
|
||||||
|
runCommand,
|
||||||
|
lib,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "opencl-pocl-test";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
|
src = ./opencl.c;
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
ocl-icd
|
||||||
|
opencl-headers
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
|
$CC -Wall -Wextra -D CL_TARGET_OPENCL_VERSION=100 $src -o ocl-hello -lOpenCL
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp ocl-hello $out/bin
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
test-icd =
|
||||||
|
runCommand "custom-clinfo"
|
||||||
|
{
|
||||||
|
nativeBuildInputs =
|
||||||
|
assert !(lib.hasPrefix "pocl" ocl-icd.pname);
|
||||||
|
[
|
||||||
|
clinfo
|
||||||
|
finalAttrs.finalPackage
|
||||||
|
pocl
|
||||||
|
];
|
||||||
|
|
||||||
|
env = {
|
||||||
|
POCL_DEBUG = "error,warn";
|
||||||
|
POCL_CACHE_DIR = "/build/pocl_cache";
|
||||||
|
};
|
||||||
|
|
||||||
|
requiredSystemFeatures = [ "sys-devices" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
''
|
||||||
|
set -x
|
||||||
|
|
||||||
|
mkdir $out
|
||||||
|
|
||||||
|
clinfo -l >$out/clinfo
|
||||||
|
clinfo >$out/clinfo-full
|
||||||
|
|
||||||
|
ocl-hello >$out/hello
|
||||||
|
|
||||||
|
for i in $out/*; do
|
||||||
|
grep "Portable Computing Language" $i
|
||||||
|
done
|
||||||
|
|
||||||
|
echo $OCL_ICD_VENDORS >$out/env
|
||||||
|
|
||||||
|
grep "pocl.*/etc/OpenCL/vendors" $out/env
|
||||||
|
|
||||||
|
set +x
|
||||||
|
'';
|
||||||
|
# this needs: ocl-icd = pocl-noicd
|
||||||
|
test-noicd =
|
||||||
|
runCommand "custom-clinfo"
|
||||||
|
{
|
||||||
|
nativeBuildInputs = [
|
||||||
|
finalAttrs.finalPackage
|
||||||
|
];
|
||||||
|
|
||||||
|
env = {
|
||||||
|
POCL_DEBUG = "error,warn";
|
||||||
|
POCL_CACHE_DIR = "/build/pocl_cache";
|
||||||
|
};
|
||||||
|
|
||||||
|
requiredSystemFeatures = [ "sys-devices" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
''
|
||||||
|
ocl-hello >$out
|
||||||
|
|
||||||
|
grep "Portable Computing Language" $out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
})
|
||||||
27
test/compilers/pocl.nix
Normal file
27
test/compilers/pocl.nix
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
runCommand,
|
||||||
|
pocl,
|
||||||
|
clinfo,
|
||||||
|
}:
|
||||||
|
|
||||||
|
runCommand "clinfo-pocl"
|
||||||
|
{
|
||||||
|
nativeBuildInputs = [
|
||||||
|
clinfo
|
||||||
|
pocl
|
||||||
|
];
|
||||||
|
|
||||||
|
requiredSystemFeatures = [ "sys-devices" ];
|
||||||
|
|
||||||
|
env = {
|
||||||
|
POCL_DEBUG = "error,warn";
|
||||||
|
POCL_CACHE_DIR = "/build/pocl_cache";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
''
|
||||||
|
echo $OCL_ICD_VENDORS
|
||||||
|
clinfo >$out
|
||||||
|
|
||||||
|
# check that we have PoCL:
|
||||||
|
grep "Portable Computing Language" $out
|
||||||
|
''
|
||||||
40
test/compilers/sycl-ls.nix
Normal file
40
test/compilers/sycl-ls.nix
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
intelPackages,
|
||||||
|
pocl,
|
||||||
|
runCommandWith,
|
||||||
|
symlinkJoin,
|
||||||
|
clinfo,
|
||||||
|
}:
|
||||||
|
|
||||||
|
runCommandWith
|
||||||
|
{
|
||||||
|
name = "sycl-ls";
|
||||||
|
inherit (intelPackages) stdenv;
|
||||||
|
runLocal = true;
|
||||||
|
derivationArgs = {
|
||||||
|
nativeBuildInputs = [ clinfo ];
|
||||||
|
env = {
|
||||||
|
OCL_ICD_VENDORS = symlinkJoin {
|
||||||
|
name = "vendors";
|
||||||
|
paths = builtins.map (p: p + "/etc/OpenCL/vendors") [
|
||||||
|
intelPackages.compiler
|
||||||
|
pocl
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
POCL_DRIVER_VERSION_OVERRIDE = "2025.20.6.0.04_224945";
|
||||||
|
POCL_CPU_VENDOR_ID_OVERRIDE = 32902;
|
||||||
|
POCL_DEBUG = "error,warn";
|
||||||
|
POCL_CACHE_DIR = "/build/pocl_cache";
|
||||||
|
|
||||||
|
HWLOC_SYNTHETIC = "node:1 core:1 pu:1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
# bash
|
||||||
|
''
|
||||||
|
clinfo -l | tee -a $out
|
||||||
|
sycl-ls | tee -a $out
|
||||||
|
|
||||||
|
test x6 = x"$(cat $out | wc -l)" # 2 lines per clinfo entry and 1 per sycl-ls
|
||||||
|
''
|
||||||
Reference in New Issue
Block a user