Add SRU Exception for NVIDIA CUDA#517
Conversation
* Add changelog instructions in the template
Co-authored-by: Andreas Glinserer <46827306+aglinserer@users.noreply.github.com>
Co-authored-by: Andreas Glinserer <46827306+aglinserer@users.noreply.github.com>
Co-authored-by: Andreas Glinserer <46827306+aglinserer@users.noreply.github.com>
SRU Exception request: NVIDIA CUDA
basak
left a comment
There was a problem hiding this comment.
Hi!
This isn't a full review, but some quick feedback for faster progress. Broadly this seems OK to me, with some things to clarify please:
- This should explicitly apply to only the multiverse archive component.
- SRUs into Ubuntu must not change existing behaviour. Like we did with the Intel graphics stack previously, we should have a public statement from upstream as to what "stable" means for them, ensure that this statement is compatible with our policy, and then document that with links to upstream's statement.
- SRUs into Ubuntu must not regress hardware support, regardless of upstream's view on support lifetimes (Ubuntu has its own). Again, like we did with the Intel graphics stack previously, we should have a public statement from upstream as to what "stable" means for them, ensure that this statement is compatible with our policy, and then document that with links to upstream's statement.
| example for AI/ML. Canonical has a redistribution agreement with NVIDIA to | ||
| redistribute the CUDA libraries in the Ubuntu archive. Per the agreement, Canonical | ||
| must deliver the prebuilt binaries from NVIDIA without modifications, and follow | ||
| the same schedule than NVIDIA. |
There was a problem hiding this comment.
Please could you expand on "follow the same schedule"? SRUs do not happen according to SLAs, so may lag.
There was a problem hiding this comment.
And further, if we find a future SRU to not comply with our policies or user expectations, an SRU may become blocked, at which point it would fall behind "schedule" by definition.
There was a problem hiding this comment.
Thank you for your message. I can add a little more context about the schedule. The timeline is vague and I wrongly used the term 'schedule' for the versions: we committed to delivering 13-1, 13-2, 13-3, etc.
The good news is that minor versions are new source packages. Only the patches are subject to SRUs. CUDA patchs are minor, a lag is expected, especially if more discussions are required for a given patch set.
There was a problem hiding this comment.
FWIW: SRU policy also applies to new source packages, and it roughly halves the size of reviewers to those that also have dual power as archive admins.
There was a problem hiding this comment.
Yes I was not aware of that at the time I was writing this comment. Now I understand that all these new packages will require a SRU process to land in a stable release (which makes sense). I made changes to this PR to reflect that, the most important fact being that 2 binary metas are common to all these version, and therefore will be superseeded by a SRU'd new package (explanation here)
|
Thank you for your review @basak
A little example might be helpful. Example:13.1.1 release note can be found here. 13.2 is a new source package, it's only 13.1.1 that owuld have been subject to SRU (referred as Update 1).
I assume this is OK in terms of SRU policy for a closed-source software? Anyway, if one day a given SRU does not comply, we can expect discussions. We can write down here that this exception is to SRU patches and bug fixes, not to blindly back-port anything that comes up under the CUDA name. |
MitchellAugustin
left a comment
There was a problem hiding this comment.
+1 from a DGX (Server) team perspective. Only one minor suggestion (to specify that we'll test on both server and workstation hardware each release).
|
|
||
| - `Certification test suite | ||
| <https://github.com/canonical/checkbox/blob/main/providers/gpgpu/units/cuda.pxu>`__ | ||
| must pass on a range of hardware, with the same result as with NVIDIA's |
There was a problem hiding this comment.
must pass on a range of hardware
nit: let's say "must pass on a range of hardware, including at least one workstation and one server GPU"
There was a problem hiding this comment.
Thank you, indeed that's better, applied
|
Per discussions with the SRU team, it seems that the best way would be to actually submit a few SRUs, the SRU team will then have some more concrete understanding of the matter, and then we will more properly iterate on the matter. |
The SRU team is currently looking at https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202 This does not seem like an upstream that we can trust to not break support for existing hardware. If the answer after a regression is reported is "Won't Fix", then I don't see that we should accept further requests in this class. I suggest that you address that bug urgently and immediately if you wish to keep this request credible. |
Apologies, that comment was perhaps misdirected, if upstream made it clear they were dropping support. However, the issue still stands that if you do not have the capacity to avoid regressions due to hardware enablements in SRUs, then perhaps you should not be adding more. |
|
Hello Robie and thank you for the feedback. This 470 driver update story is very unfortunate indeed, but it's very different, too. Of course it would have been so much simpler (and better) if NVIDIA have kept delivering security patches for the driver. I also believe that our management of this issue and especially our communication about it could have been better, but it's opinionated and I understand that the kernel team had no solution that would keep everyone happy there. Now, to this issue in particular, it's quite different for a number of reasons.
|
That tends not to work in practice. I think a general rule is that upgrade of an existing package via the updates pocket must not break any user and users expect this in practice. We'll need to find another way. |
This PR will require approval from an SRU team member
I will also update the [TBD] sections if an SRU team member approves.
Description
Add an SRU exception for the CUDA packages that we are newly delivering in 26.04. It's sets of 37+ prebuilt packages whose patches we will want to backport.