Draft: nongnu: Add cudnn.
- nongnu/packages/nvidia.scm (cudnn): New variables.
This will add support for CUDA on Nvidia GPUs to allow machine-learning algos and other parallel stuff to run.
Currently I'm stuck on unpacking and running the installer.
[ ] Based on the strace log it seems it depends on libncurses.so.5
:
$ /gnu/store/7aq8fzd1rc4cgcvwkcqmbcr19b3l2m74-strace-5.15/bin/strace ./cuda-installer
...
openat(AT_FDCWD, "/gnu/store/9rrnm5hdjw7cy96a2a9rfgh6y08wsbmf-ncurses-6.2.20210619/lib/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "glibc-hwcaps/x86-64-v3/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "glibc-hwcaps/x86-64-v2/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/haswell/x86_64/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/haswell/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/x86_64/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "tls/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "haswell/x86_64/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "haswell/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "x86_64/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
write(2, "Failed to load required ncurses "..., 41Failed to load required ncurses libraries) = 41
write(2, "\n", 1
) = 1
stat("/tmp/cuda-installer.log", {st_mode=S_IFREG|0644, st_size=197, ...}) = 0
newfstatat(1, "", {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x5), ...}, AT_EMPTY_PATH) = 0
write(1, " Logfile is /tmp/cuda-installer."..., 36 Logfile is /tmp/cuda-installer.log
) = 36
close(3) = 0
exit_group(1) = ?
+++ exited with 1 +++
[ ] Besides it also needs a lot of space ~7GiB on /tmp
which means it fails on devices with low amount of RAM or if the RAM is used by other applications.