summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.nix/adaptive-cpp.nix19
-rw-r--r--default.nix13
2 files changed, 27 insertions, 5 deletions
diff --git a/.nix/adaptive-cpp.nix b/.nix/adaptive-cpp.nix
index a39d9b7..b8a7688 100644
--- a/.nix/adaptive-cpp.nix
+++ b/.nix/adaptive-cpp.nix
@@ -6,7 +6,16 @@
, boost
, llvmPackages
, lld
+, libffi
+, libxml2
, python3
+, config ? {
+ rocm = false;
+ }
+, rocmPackages
+, spirv-tools
+, spirv-headers
+, spirv-llvm-translator
}:
let
@@ -33,6 +42,14 @@ in stdenv.mkDerivation {
llvmPackages.libclang
llvmPackages.llvm
python3
+ ] ++ lib.optionals config.rocm [
+ rocmPackages.clr
+ rocmPackages.rocm-runtime
+ libffi
+ libxml2
+ spirv-tools
+ spirv-headers
+ spirv-llvm-translator
];
cmakeFlags = [
@@ -52,6 +69,8 @@ in stdenv.mkDerivation {
--prefix PATH : ${lib.makeBinPath [ lld python3 ]} \
--add-flags "-L${llvmPackages.openmp}/lib" \
--add-flags "-I${llvmPackages.openmp.dev}/include" \
+ '' + lib.optionalString config.rocm ''
+ --add-flags "--rocm-device-lib-path=${rocmPackages.rocm-device-libs}/amdgcn/bitcode"
'';
postPatch = ''
diff --git a/default.nix b/default.nix
index 9108cf3..cc0a84c 100644
--- a/default.nix
+++ b/default.nix
@@ -1,5 +1,6 @@
{ pkgs ? (import <nixpkgs> {})
-, llvmPackages ? pkgs.llvmPackages_19
+, llvmPackages ? pkgs.llvmPackages_18
+, lld ? pkgs.lld_18
, stdenv ? llvmPackages.stdenv
, clang-tools ? llvmPackages.clang-tools
}:
@@ -29,12 +30,14 @@ let
installPhase = ''
mv glad_out $out
'';
- };
+ };
adaptive-cpp = pkgs.callPackage .nix/adaptive-cpp.nix {
- inherit stdenv;
- llvmPackages = pkgs.llvmPackages_19;
- lld = pkgs.lld_19;
+ inherit stdenv llvmPackages lld;
+
+ config = {
+ rocm = false;
+ };
};
sci_tools = let