Commit bf766a2d authored by Connor Baker's avatar Connor Baker
Browse files

tree-wide: use named CUDA versions and CUDA version utilities

parent a94100d0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: {
    shopt -s globstar
    for cmakelists in **/CMakeLists.*; do
      sed -i "s/OpenSSL::OpenSSL/OpenSSL::SSL/g" $cmakelists
      ${lib.optionalString (lib.versionOlder cudaPackages.cudaVersion "11.8") ''
      ${lib.optionalString (cudaPackages.cudaOlder "11.8") ''
        sed -i 's/-gencode=arch=compute_89,code=sm_89//g' $cmakelists
        sed -i 's/-gencode=arch=compute_90,code=sm_90//g' $cmakelists
      ''}
+2 −2
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@
}:
let
  inherit (lib) lists strings;
  inherit (cudaPackages) backendStdenv cudaVersion flags;
  inherit (cudaPackages) backendStdenv cudaAtLeast flags;

  cuda-common-redist = with cudaPackages; [
    (lib.getDev cuda_cudart) # cuda_runtime.h
@@ -62,7 +62,7 @@ stdenv.mkDerivation (finalAttrs: {

  # Remove this once a release is made with
  # https://github.com/NVlabs/tiny-cuda-nn/commit/78a14fe8c292a69f54e6d0d47a09f52b777127e1
  postPatch = lib.optionals (strings.versionAtLeast cudaVersion "11.0") ''
  postPatch = lib.optionals (cudaAtLeast "11.0") ''
    substituteInPlace bindings/torch/setup.py --replace-fail \
      "-std=c++14" "-std=c++17"
  '';
+8 −6
Original line number Diff line number Diff line
# Packages which have been deprecated or removed from cudaPackages
final: prev:
final: _:
let
  inherit (prev.lib) warn;
  inherit (builtins) mapAttrs;

  mkRenamed =
    oldName:
    { path, package }:
    warn "cudaPackages.${oldName} is deprecated, use ${path} instead" package;
    final.lib.warn "cudaPackages.${oldName} is deprecated, use ${path} instead" package;
in
mapAttrs mkRenamed {
builtins.mapAttrs mkRenamed {
  # A comment to prevent empty { } from collapsing into a single line

  cudaVersion = {
    path = "cudaPackages.cudaMajorMinorVersion";
    package = final.cudaMajorMinorVersion;
  };
}
+3 −4
Original line number Diff line number Diff line
{
  cudaVersion,
  cudaMajorMinorVersion,
  lib,
  stdenv,
}:
@@ -27,7 +27,7 @@ let

  # Samples are built around the CUDA Toolkit, which is not available for
  # aarch64. Check for both CUDA version and platform.
  cudaVersionIsSupported = cudaVersionToHash ? ${cudaVersion};
  cudaVersionIsSupported = cudaVersionToHash ? ${cudaMajorMinorVersion};
  platformIsSupported = hostPlatform.isx86_64;
  isSupported = cudaVersionIsSupported && platformIsSupported;

@@ -36,8 +36,7 @@ let
    final: _:
    lib.attrsets.optionalAttrs isSupported {
      cuda-samples = final.callPackage ./generic.nix {
        inherit cudaVersion;
        hash = cudaVersionToHash.${cudaVersion};
        hash = cudaVersionToHash.${cudaMajorMinorVersion};
      };
    };
in
+2 −2
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
  backendStdenv,
  cmake,
  cudatoolkit,
  cudaVersion,
  cudaMajorMinorVersion,
  fetchFromGitHub,
  fetchpatch,
  freeimage,
@@ -20,7 +20,7 @@ backendStdenv.mkDerivation (finalAttrs: {
  strictDeps = true;

  pname = "cuda-samples";
  version = cudaVersion;
  version = cudaMajorMinorVersion;

  src = fetchFromGitHub {
    owner = "NVIDIA";
Loading