| 21 Dec 2022 |
jdaly | * Our project has a dependency on the MS Onnxruntime w/CUDA support. At present the, MS OnnxRuntime 1.13 release requires Cuda 11.6 and cuDNN 8.2.4, however, searching the NixOS repo, we find the 'pkgs.cudaPackages_11_6.cudatoolkit' and various other versions of cuDNN (e.g.. 8.3.2) -- but no 8.2.4 package.
A few weeks back, I went looking for help on NixOS Discourse (See https://discourse.nixos.org/t/how-to-install-a-specific-version-of-cuda-and-cudnn/21725) -- where SergeK kindly pointed me to this forum.
We're complete newbies when it comes to NixOS, so we're looking for some help for get the cuDNN 8.2.4 package added -- or maybe its already there but we just haven't unearthed it yet!
Anyway, any tips or suggestions to help us get this figured out would be greatly appreciated. Thx! | 17:53:59 |
tpw_rules | can you build stuff using a checkout of nixpkgs? | 23:25:22 |
| 22 Dec 2022 |
| Shiroki Satsuki joined the room. | 17:59:25 |
Shiroki Satsuki | Hello, I'm using shell.nix with Arch Linux, and I'm trying to use python310Packages.pycuda in my Python project, but when I import pycuda.driver, Python complained about missing of libcuda.so.1 | 18:04:05 |
Shiroki Satsuki | Is this package only available in NixOS? Or do I need some setup to link my host libcuda.so.1 into shell.nix? | 18:05:57 |
Shiroki Satsuki |
| 18:06:21 |
Shiroki Satsuki | * > ldd /nix/store/x8gqndanr39r0zf2465xad9z0pkg0y39-python3-3.10.9-env/lib/python3.10/site-packages/pycuda/_driver.cpython-310-x86_64-linux-gnu.so
linux-vdso.so.1 (0x00007ffff3797000)
libboost_python310.so.1.79.0 => /nix/store/r7gb9lm3bisvj7njwb73acawvmkqr3sw-boost-1.79.0/lib/libboost_python310.so.1.79.0 (0x00007fe813a75000)
libboost_thread.so.1.79.0 => /nix/store/r7gb9lm3bisvj7njwb73acawvmkqr3sw-boost-1.79.0/lib/libboost_thread.so.1.79.0 (0x00007fe813a58000)
libcuda.so.1 => not found
libcurand.so.10 => /nix/store/rp33ncna7sm3inj3fjlrracg27sl78x3-cudatoolkit-11.7.0/lib/libcurand.so.10 (0x00007fe80de00000)
libstdc++.so.6 => /nix/store/wprxx5zkkk13hpj6k1v6qadjylh3vq9m-gcc-11.3.0-lib/lib/libstdc++.so.6 (0x00007fe80da00000)
libm.so.6 => /nix/store/ayfr5l52xkqqjn3n4h9jfacgnchz1z7s-glibc-2.35-224/lib/libm.so.6 (0x00007fe80dd20000)
libgcc_s.so.1 => /nix/store/ayfr5l52xkqqjn3n4h9jfacgnchz1z7s-glibc-2.35-224/lib/libgcc_s.so.1 (0x00007fe813a3c000)
libc.so.6 => /nix/store/ayfr5l52xkqqjn3n4h9jfacgnchz1z7s-glibc-2.35-224/lib/libc.so.6 (0x00007fe80d600000)
librt.so.1 => /nix/store/ayfr5l52xkqqjn3n4h9jfacgnchz1z7s-glibc-2.35-224/lib/librt.so.1 (0x00007fe813a37000)
libdl.so.2 => /nix/store/ayfr5l52xkqqjn3n4h9jfacgnchz1z7s-glibc-2.35-224/lib/libdl.so.2 (0x00007fe813a30000)
libpthread.so.0 => /nix/store/ayfr5l52xkqqjn3n4h9jfacgnchz1z7s-glibc-2.35-224/lib/libpthread.so.0 (0x00007fe813a2b000)
libutil.so.1 => /nix/store/ayfr5l52xkqqjn3n4h9jfacgnchz1z7s-glibc-2.35-224/lib/libutil.so.1 (0x00007fe813a26000)
/nix/store/ayfr5l52xkqqjn3n4h9jfacgnchz1z7s-glibc-2.35-224/lib64/ld-linux-x86-64.so.2 (0x00007fe813cad000)
| 18:06:29 |
tpw_rules | if you are not using nixos you need nixGL: https://github.com/guibou/nixGL for cuda to work | 18:11:11 |
tpw_rules | (and other graphics stuff) | 18:11:24 |
Shiroki Satsuki | Thanks, I only know that nixGL is needed for OpenGL and Vulkan | 18:13:42 |
SomeoneSerge (matrix works sometimes) | libcuda.so.1 comes with your nvidia driver, and applications built with nix expect driver-related libraries to be available in /run/opengl-driver/lib; you could use nixGL as suggested, or you could try symlinking your system's nvidia libraries into that directory (although it's not always guaranteed to work) | 18:16:10 |
SomeoneSerge (matrix works sometimes) | As mentioned in the thread, you'd need to add a "8.2.4" attribute in cudnn/extension.nix like in this diff and ensure that "11.6" is listed among supportedCudaVersions
This should introduce in nixpkgs an attribute cudaPackages_11_6.cudnn_8_2_4
| 18:22:27 |
SomeoneSerge (matrix works sometimes) | And onnxruntime-gpu support in nixpkgs sounds exciting, I really hope you make something out of it | 18:24:40 |
| 25 Dec 2022 |
| ahmed left the room. | 10:36:33 |
| 28 Dec 2022 |
| phaer joined the room. | 21:09:19 |
| phaer left the room. | 21:09:30 |
| 30 Dec 2022 |
| iopq joined the room. | 09:38:53 |
iopq | i get a warning from cachix | 09:39:27 |
iopq | trace: warning: The option nix.binaryCaches' defined in /etc/nixos/cachix/cuda-maintainers.nix' and /etc/nixos/cachix.nix' has been renamed to nix.settings.substituters'. trace: warning: The option nix.binaryCachePublicKeys' defined in /etc/nixos/cachix/cuda-maintainers.nix' has been renamed to `nix.settings.trusted-public-keys'. | 09:39:28 |
iopq | I just found it from this page | 09:40:09 |
iopq | https://nixos.wiki/wiki/CUDA | 09:40:10 |
| CRTified (old handle) left the room. | 10:43:28 |
iopq | how do I install a different cuda toolkit version | 12:55:26 |
tpw_rules | for what? | 22:47:45 |
tpw_rules | you can use like cudatoolkit_11_5 instead of just cudatoolkit | 22:48:00 |
| 31 Dec 2022 |
iopq | ah, I see, because different programs have different version requirements, CUDA is often like that | 04:19:53 |
iopq | But maybe I should approach the problem from another end, what's the recommended way to run stable diffusion on NixOS? | 04:24:16 |
hexa | fyi https://github.com/NixOS/nixpkgs/pull/208232 | 12:45:51 |
| 1 Jan 2023 |
tpw_rules | https://fxtwitter.com/pytorch/status/1609334425384517633 oops. we are not affected | 04:59:29 |
SomeoneSerge (matrix works sometimes) | Hey folks, Feliz Navidad and happy ending of that ridiculous year. You're all awesome | 15:22:01 |