| 28 Jan 2023 |
hexa | eh, used the time producitvely to write a module for tts-server 🙂 | 20:52:50 |
hexa | builds on x86_64-linux | 21:02:12 |
hexa | umap-learn fails to build as well 🙂 | 21:53:55 |
hexa | because sklearn uses np.matrix with unsupported input 😐️ | 21:54:17 |
hexa | Someone S: I guess we should merge tensorflow once I've confirmed it also builds on aarch64-linux, because even if it doesn't work for cuda or darwin we can fix that in another PR | 21:55:42 |
SomeoneSerge (matrix works sometimes) | Yes | 21:57:41 |
hexa | sklearn updated, umap-learn fixed | 23:38:26 |
| 29 Jan 2023 |
hexa | tf-cpu also builds on aarch64-darwin | 00:51:49 |
SomeoneSerge (matrix works sometimes) | I had switched hercules to use just one worker because I got annoyed by several simultaneous tensorflow builds throttling each. Now tf spends ages in the queue... | 02:47:30 |
SomeoneSerge (matrix works sometimes) | * I had switched hercules to use just one worker because I got annoyed by several simultaneous tensorflow builds throttling each other. Now tf spends ages in the queue... | 02:47:43 |
| 30 Jan 2023 |
SomeoneSerge (matrix works sometimes) | In reply to @hexa:lossy.network tf-cpu also builds on aarch64-darwin python3.10-tensorflow-gpu-2.11.0 builds | 01:32:33 |
hexa | awesome | 01:32:43 |
Uri Baghin | tensorflow-probability bump if anyone's interested: https://github.com/NixOS/nixpkgs/pull/212421 | 10:19:13 |
| 2 Feb 2023 |
| realjhol joined the room. | 21:32:33 |
realjhol | hi - 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.6 | 21:34:45 |
tpw_rules | https://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 file | 21:36:54 |
realjhol | yes - I have that pulled up | 21:37:16 |
realjhol | and there is the tensorRTVersions table | 21:37:26 |
realjhol | -- which defines tensorrt versions and their compatibility with versions of cuda | 21:37:42 |
realjhol | currently only 8.4.0 is supported in the table | 21:37:55 |
realjhol | hypothetically if there was more than one supported version in the table, I can't see how to reference that derrivation | 21:38:25 |
realjhol | just 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 | 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 |
SomeoneSerge (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 | and how does one set the defaultBuild and allBuilds variables? | 21:51:16 |
realjhol | my for my needs I can do overrideAttrs on pkgs.cudaPackages.tensorrt derrivation, and just change the source and version | 21:51:37 |
SomeoneSerge (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 |
SomeoneSerge (matrix works sometimes) | I think you'd have to just edit them in your own fork... :( | 21:53:14 |
realjhol | oh I see - ok | 21:53:27 |
realjhol | 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 |