Bug#1035024: unblock: nvidia-cudnn/8.7.0.84~cuda11.8+1 (pre-approval)

M. Zhou lumin at debian.org
Thu Apr 27 20:31:12 BST 2023


Package: release.debian.org
Severity: normal
User: release.debian.org at packages.debian.org
Usertags: unblock
X-Debbugs-Cc: nvidia-cudnn at packages.debian.org
Control: affects -1 + src:nvidia-cudnn

Please unblock package nvidia-cudnn. Not yet uploaded to unstable,
just asking for a pre-approval.

[ Reason ]

Our current package version in testing is 8.5.0.96~cuda11.7,
but the nvidia-cuda-toolkit version in testing is 11.8.89~11.8.0-2.
So there is a little minor version mismatch in the cuda version
(one 11.7, and the other 11.8).

This package is a downloader script that downloads the Nvidia
binary blob releases of the cuDNN library, and installs the library
to the system directories for building reverse dependencies.

So, generally updating the package is simply to update the binary
tarball URL in the script, along with the exact version number,
which is very trivial.

But unfortunately, during the cuda11.7 to cuda11.8 update,
I also introduced many changes to the package to the maintainer
scripts to let the package correctly support the pytorch-cuda build.
I'm the upstream of this package, and this looks like a low risk
update to me. But I'm not sure how the release team will think.
So asking for uploading permission in advance.

[ Impact ]
(What is the impact for the user if the unblock isn't granted?)

Nearly no impact. This package is new and does not exist
in the previous stable releases. To the best of my knowledge,
there is only one tentative reverse dependency pytorch-cuda,
which is not present in testing.

[ Tests ]
(What automated or manual tests cover the affected code?)

The updated package is now able to correctly support the
build of pytorch-cuda. I tested the built package with both
Nvidia MX250 (laptop) and RTX 2060 (laptop) GPUs. It works
correctly.

[ Risks ]

There is a small risk. The additional code is very simple.
It does not have reverse dependency in testing. There
is no alternative to this package. I'm the upstream author
of the script, and I can provide stable updates on my own
even if something goes wrong.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]
(Anything else the release team should know.)

The debdiff contains necessary changes to make the package
correctly support the pytorch-cuda build (with sbuild).

Specifically:

1. A fake library is compiled (from a nearly empty C file cudnn-fake.c)
   with the soname of the library to be downloaded. This seems to be
   the only way to make apt/dpkg believe that the libcudnn.so.* is
   really provided by this binary package.
   This solves the libcudnn_* cannot be found in any system package
   error from dh_shlibdeps.

2. Added curl as an alternative binary blob downloader.

3. Updated the postinst and prerm script for handling installed files.
    In the current testing version, when we want to remove this package,
    we use some manually written glob patterns to remove the downloaded
    cudnn library. This implementation is not very safe when the user manually
    install another instance of cudnn to the system. The glob pattern will also
    include them to make them removed during postrm.

    In the proposed version (see debdiff), I record a list of files that are installed
    from the tarball to the system. And the postrm process will use the exact
    recorded installation paths for removal. I think this is a safer implementation
    than removal by glob pattern match.

4. debconf template default choice is changed to "I Agree".
    This package is in non-free section. Only by setting the debconf default choice
    to "I Agree", can we correctly build pytorch-cuda in sbuild without the cuDNN
    libraries not downloaded but the bin:nvidia-cudnn package installed.

5. More code comments (maintainence notes) in the script, and the upgraded
    binary blob URL.

unblock nvidia-cudnn/8.7.0.84~cuda11.8+1
Thank you for using reportbug

-------------- next part --------------
A non-text attachment was scrubbed...
Name: cudnn-debdiff.diff
Type: text/x-patch
Size: 17816 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-nvidia-devel/attachments/20230427/d6c3ca62/attachment-0001.bin>


More information about the pkg-nvidia-devel mailing list