!eWOErHSaiddIbsUNsJ:nixos.org

NixOS CUDA

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

Load older messages


SenderMessageTime
2 Feb 2023
@realjhol:matrix.orgrealjhol joined the room.21:32:33
@realjhol:matrix.orgrealjholhi - is it possible to install specific versions of tensorrt? I need to use v8.2.1.8, and I can't see any way to override the version in nixpkgs, or even use any version other than v8.4.0.621:34:45
@tpw_rules:matrix.orgtpw_ruleshttps://github.com/NixOS/nixpkgs/blob/6462686d521c54d1adf405b026e9ad0f5a8d5c99/pkgs/development/libraries/science/math/tensorrt/extension.nix this is where it is defined. you'll probably want to change the file21:36:54
@realjhol:matrix.orgrealjholyes - I have that pulled up21:37:16
@realjhol:matrix.orgrealjhol and there is the tensorRTVersions table 21:37:26
@realjhol:matrix.orgrealjhol-- which defines tensorrt versions and their compatibility with versions of cuda21:37:42
@realjhol:matrix.orgrealjhol currently only 8.4.0 is supported in the table 21:37:55
@realjhol:matrix.orgrealjholhypothetically if there was more than one supported version in the table, I can't see how to reference that derrivation21:38:25
@realjhol:matrix.orgrealjholjust trying to understand the code - it seems like it was designed to be nice and flexible, I just can't see how to access the flexibility that I need!21:39:45
@realjhol:matrix.orgrealjhol looking at tensorRTDefaultVersions, it looks like it's hard coded to 8.4.0 for all versions of cuda right now - the TensorRT version is defined by the CUDA version with no opportunity to set it to anything else 21:42:25
@ss:someonex.netSomeoneSerge (matrix works sometimes) Hi!
The attributes from the defaultBuild and allBuilds variables will end up in cudaPackages namespace (i.e. you can access it as (import <nixpkgs> { }).cudaPackages.tensorrt)
For now you'd have to modify the table in your own fork of nixpkgs, but I don't see any reason we couldn't actually expose these tables so that they could be overridden by users
Also this code maybe waits for somebody to simplify it:)
21:49:23
@realjhol:matrix.orgrealjhol and how does one set the defaultBuild and allBuilds variables? 21:51:16
@realjhol:matrix.orgrealjhol my for my needs I can do overrideAttrs on pkgs.cudaPackages.tensorrt derrivation, and just change the source and version 21:51:37
@ss:someonex.netSomeoneSerge (matrix works sometimes) For context, the piece was introduced in: https://github.com/NixOS/nixpkgs/pull/178397/
It used as a reference some of the extension.nix files from https://github.com/NixOS/nixpkgs/pull/167016
21:51:42
@ss:someonex.netSomeoneSerge (matrix works sometimes)I think you'd have to just edit them in your own fork... :(21:53:14
@realjhol:matrix.orgrealjholoh I see - ok21:53:27
@realjhol:matrix.orgrealjhol

well it mat not be pretty, buth this deos give me what I need:

          cudaPackages = pkgs.cudaPackages_11_4;

          tensorrt = cudaPackages.tensorrt.overrideAttrs (old: let
            fullVersion = "8.2.1.8";
            fileVersionCuda = "11.4";
            fileVersionCudnn = "8.2";
            sha256 = "sha256-PpqcxK0OWuY3MX2STc3fZjgfTbBOJXHw8ubtWipR8kc=";
          in rec {
            pname = "cudatoolkit-${cudaPackages.cudatoolkit.majorVersion}-tensorrt";
            version = fullVersion;
            src = pkgs.requireFile rec {
              name = "TensorRT-${fullVersion}.Linux.x86_64-gnu.cuda-${fileVersionCuda}.cudnn${fileVersionCudnn}.tar.gz";
              inherit sha256;
              message = ''
                To use the TensorRT derivation, you must join the NVIDIA Developer Program and
                download the ${version} Linux x86_64 TAR package for CUDA ${cudaPackages.cudaVersion} from
                ${old.meta.homepage}.

                Once you have downloaded the file, add it to the store with the following
                command, and try building this derivation again.

                $ nix-store --add-fixed sha256 ${name}
              '';
            };

            sourceRoot = "TensorRT-${version}";

            # Tell autoPatchelf about runtime dependencies.
            # (postFixup phase is run before autoPatchelfHook.)
            postFixup =
              let
                mostOfVersion = builtins.concatStringsSep "."
                  (pkgs.lib.take 3 (pkgs.lib.versions.splitVersion version));
              in
              ''
                echo 'Patching RPATH of libnvinfer libs'
                patchelf --debug --add-needed libnvinfer.so \
                  "$out/lib/libnvinfer.so.${mostOfVersion}" \
                  "$out/lib/libnvinfer_plugin.so.${mostOfVersion}" \
                  "$out/lib/libnvinfer_builder_resource.so.${mostOfVersion}"
              '';
          });

22:54:36
@realjhol:matrix.orgrealjhol it would be nice if cudaPackages.tensorrt had an override method so that I could override the version values without having to reimplement half of the derrivation 22:55:27
@ss:someonex.netSomeoneSerge (matrix works sometimes) If you're going to use nixpkgs packages that rely on tensorrt, you might also want to re-evaluate cudaPackages in an overlay to make sure they all use your version of tensorrt 22:57:14
@realjhol:matrix.orgrealjholhmm -- ok that makes sense22:57:57
@ss:someonex.netSomeoneSerge (matrix works sometimes) There's an example in the manual, cf. the overrideScope' bit https://nixos.org/manual/nixpkgs/unstable/#cuda 22:58:51
@realjhol:matrix.orgrealjholthanks! - I'm out of time for today, but I'll take a look tomorrow22:59:28
@ss:someonex.netSomeoneSerge (matrix works sometimes)Cheers!22:59:43
6 Feb 2023
@tpw_rules:matrix.orgtpw_rulesignore this, just trying to get an unread notification to go away...18:11:06
@hexa:lossy.networkhexaleft the threads beta, because unread notifications were driving me nuts19:43:58
@ss:someonex.netSomeoneSerge (matrix works sometimes)does this message show up as a simple reply now?19:44:47
@hexa:lossy.networkhexayes, it does19:44:54
@tpw_rules:matrix.orgtpw_rulesoh please tell me how to do that20:44:06
7 Feb 2023
@hexa:lossy.networkhexahttps://github.com/NixOS/nixpkgs/pull/21509117:32:46
8 Feb 2023
@hexa:lossy.networkhexa
In reply to @tpw_rules:matrix.org
oh please tell me how to do that
in element labs settings there is a big leave button 😄
11:55:20

Show newer messages


Back to Room ListRoom Version: 9