From 0fabb9da19a6615ddb4c9a717004801b1ed32b27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Bon=C3=A9?= Date: Tue, 16 Dec 2025 18:18:46 +0100 Subject: [PATCH] Add unified-runtime with CUDA --- overlay.nix | 1 + pkgs/unified-runtime/default.nix | 63 ++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 pkgs/unified-runtime/default.nix diff --git a/overlay.nix b/overlay.nix index 1a0cf9f..91fe014 100644 --- a/overlay.nix +++ b/overlay.nix @@ -79,6 +79,7 @@ let tampi = callPackage ./pkgs/tampi/default.nix { }; tasycl = callPackage ./pkgs/tasycl/default.nix { }; tasycl-acpp = callPackage ./pkgs/tasycl/default.nix { useIntel = false; }; + unified-runtime = callPackage ./pkgs/unified-runtime/default.nix { }; upc-qaire-exporter = prev.callPackage ./pkgs/upc-qaire-exporter/default.nix { }; wxparaver = callPackage ./pkgs/paraver/default.nix { }; }; diff --git a/pkgs/unified-runtime/default.nix b/pkgs/unified-runtime/default.nix new file mode 100644 index 0000000..247543e --- /dev/null +++ b/pkgs/unified-runtime/default.nix @@ -0,0 +1,63 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, + cudatoolkit, + libbacktrace, + intel-compute-runtime, + level-zero, + unified-memory-framework, + autoAddDriverRunpath, + + enableL0 ? false, +}: + +stdenv.mkDerivation rec { + pname = "unified-runtime"; + version = "2025-WW45"; + + src = fetchFromGitHub { + owner = "intel"; + repo = "llvm"; + tag = version; + sha256 = "sha256-yf8pFEeNEWf9LpEhAy4vMdFDlA08x5XaCegnq+5aXRw="; + }; + + sourceRoot = "${src.name}/unified-runtime"; + + nativeBuildInputs = [ + cmake + python3 + libbacktrace + (python3.withPackages ( + python-pkgs: with python-pkgs; [ + lit + filecheck + ] + )) + autoAddDriverRunpath + ]; + + buildInputs = [ + unified-memory-framework + cudatoolkit + ] + ++ lib.optionals enableL0 [ + intel-compute-runtime + level-zero + ]; + + cmakeFlags = [ + (lib.cmakeBool "UR_USE_EXTERNAL_UMF" true) + (lib.cmakeBool "UR_BUILD_TESTS" false) + + (lib.cmakeBool "UR_BUILD_ADAPTER_CUDA" true) + (lib.cmakeBool "UR_BUILD_ADAPTER_L0" enableL0) + + (lib.cmakeBool "UR_BUILD_ADAPTER_OPENCL" false) + (lib.cmakeBool "UR_BUILD_ADAPTER_HIP" false) + (lib.cmakeBool "UR_BUILD_ADAPTER_NATIVE_CPU" false) + ]; +}