!eWOErHSaiddIbsUNsJ:nixos.org

NixOS CUDA

294 Members
CUDA packages maintenance and support in nixpkgs | https://github.com/orgs/NixOS/projects/27/ | https://nixos.org/manual/nixpkgs/unstable/#cuda60 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
12 Mar 2025
@ruroruro:matrix.orgruro * So that, for example, someone could do cudaPackages.some_package = [ ]; in the "explicit" attrset or something. 01:21:42
@ss:someonex.netSomeoneSerge (back on matrix)I see01:21:46
@ruroruro:matrix.orgruroIf you want, I can add it back in. But I think that this reordering was one of the reasons for the indentation change that you wanted to avoid)))01:23:08
@ss:someonex.netSomeoneSerge (back on matrix) Well, ok. Let's swap the order. And for the packageSets variable and for evalPackageSet they actually don't seem to be doing anything useful. The packageSets there really only serves the purpose of automatically identifying the cuda package sets, so let's rename it to cudaPackageSets as, I think, you've already suggested. Let's not introduce the extra variable for evalPackageSet nor for its image, but instead just use packagePlatforms directly in jobs = let in HERE // { ... = linuxl } 01:24:30
@ss:someonex.netSomeoneSerge (back on matrix) * Well, ok. Let's swap the order. And for the packageSets variable and for evalPackageSet they actually don't seem to be doing anything useful. The packageSets there really only serves the purpose of automatically identifying the cuda package sets, so let's rename it to cudaPackageSets as, I think, you've already suggested. Let's not introduce the extra variable for evalPackageSet nor for its image, but instead just use packagePlatforms directly in jobs = let in HERE // { ... = linuxl } 01:24:37
@ss:someonex.netSomeoneSerge (back on matrix) * Well, ok. Let's swap the order. And for the packageSets variable and for evalPackageSet they actually don't seem to be doing anything useful. The packageSets there really only serves the purpose of automatically identifying the cuda package sets, so let's rename it to cudaPackageSets as, I think, you've already suggested. Let's not introduce the extra variable for evalPackageSet nor for its image, but instead just use packagePlatforms directly in jobs = let in HERE // { ... = linux; } 01:24:42
@ss:someonex.netSomeoneSerge (back on matrix)wdyt?01:24:45
@ss:someonex.netSomeoneSerge (back on matrix)If we want to add any other package set well we just add another function call there 🤷01:25:52
@ss:someonex.netSomeoneSerge (back on matrix) Ah we maybe want to give a name to mapTestOn . packagePlatforms? 01:28:28
@ruroruro:matrix.orgruro

How about

  # Package sets to evaluate whole
  # Derivations from these package sets are selected based on the value
  # of their meta.{hydraPlatforms,platforms,badPlatforms} attributes
  autoPackageSets = builtins.filter (lib.strings.hasPrefix "cudaPackages") (builtins.attrNames pkgs);
  autoPackagePlatforms = lib.genAttrs autoPackageSets (pset: packagePlatforms pkgs.${pset});

  # Explicitly select additional packages to also evaluate
  # The desired platforms must be set explicitly here
  explicitPackagePlatforms = (
    # This comment prevents nixfmt from changing the indentation level, lol
    {
      blah = linux;
      ...
    });
  
  # Explicitly specified platforms take precedence over the platforms
  # automatically inferred by release-lib.packagePlatforms
  allPackagePlatforms = lib.recursiveUpdate autoPackagePlatforms explicitPackagePlatforms;
  jobs = mapTestOn allPackagePlatforms;
01:36:27
@ruroruro:matrix.orgruroAlso, if you have any ideas on how to remove the "load-bearing comment" without changing the indentation - be my guest)))01:38:26
@ruroruro:matrix.orgruro *

How about

  # Package sets to evaluate whole
  # Derivations from these package sets are selected based on the value
  # of their meta.{hydraPlatforms,platforms,badPlatforms} attributes
  autoPackageSets = builtins.filter (lib.strings.hasPrefix "cudaPackages") (builtins.attrNames pkgs);
  autoPackagePlatforms = lib.genAttrs autoPackageSets (pset: packagePlatforms pkgs.${pset});

  # Explicitly select additional packages to also evaluate
  # The desired platforms must be set explicitly here
  explicitPackagePlatforms =
    # This comment prevents nixfmt from changing the indentation level, lol
    {
      blah = linux;
      ...
    };
  
  # Explicitly specified platforms take precedence over the platforms
  # automatically inferred by release-lib.packagePlatforms
  allPackagePlatforms = lib.recursiveUpdate autoPackagePlatforms explicitPackagePlatforms;
  jobs = mapTestOn allPackagePlatforms;
01:41:00
@ruroruro:matrix.orgruro *

How about

  # Package sets to evaluate whole
  # Derivations from these package sets are selected based on the value
  # of their meta.{hydraPlatforms,platforms,badPlatforms} attributes
  autoPackageSets = builtins.filter (lib.strings.hasPrefix "cudaPackages") (builtins.attrNames pkgs);
  autoPackagePlatforms = lib.genAttrs autoPackageSets (pset: packagePlatforms pkgs.${pset});

  # Explicitly select additional packages to also evaluate
  # The desired platforms must be set explicitly here
  explicitPackagePlatforms =
    # This comment prevents nixfmt from changing the indentation level, lol
    {
      blah = linux;
      ...
    };
  
  # Explicitly specified platforms take precedence over the platforms
  # automatically inferred in autoPackagePlatforms
  allPackagePlatforms = lib.recursiveUpdate autoPackagePlatforms explicitPackagePlatforms;
  jobs = mapTestOn allPackagePlatforms;
01:41:55
@ss:someonex.netSomeoneSerge (back on matrix) ruro: I'm ok with that, I just thought applying mapAttrs packagePlatforms is not such a complex thing that we really need to be so verbose about it 08:50:34
@adam_neverwas:matrix.orgAdam Neverwas set their display name to Adam Neverwas.14:27:37
17 Mar 2025
@koutensky:matrix.nesad.fit.vutbr.czMichal Koutenský

Any ideas why tensorrt from 24.11 is failing to build? I downloaded and imported the sources into nix store as instructed, but it doesn't want to unpack it.

$ nix log /nix/store/nxmsg8d5w8rljhigv5yaqhrsblzvdndi-python3.12-tensorrt-10.3.0.26.drv
warning: The interpretation of store paths arguments ending in `.drv` recently changed. If this command is now failing try again with '/nix/store/nxmsg8d5w8rljhigv5yaqhrsblzvdndi-python3.12-tensorrt-10.3.0.26.drv^*'
Sourcing python-remove-tests-dir-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing wheel setup hook
Sourcing pypa-install-hook
Using pypaInstallPhase
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Sourcing python-namespaces-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing auto-add-driver-runpath-hook
Using autoAddDriverRunpath
Sourcing fix-elf-files.sh
Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
tar: TensorRT-10.3.0.26/python/tensorrt-10.3.0.26-cp312-none-linux_x86_64.whl: Not found in archive
tar: Exiting with failure status due to previous errors
12:29:56
@koutensky:matrix.nesad.fit.vutbr.czMichal Koutenský The wheel in the archive is called tensorrt-10.3-cp312-none-linux_x86_64.whl, so not sure what's going on 12:31:21

Show newer messages


Back to Room ListRoom Version: 9