Do not ship nvrtc
with LuxCore Wheels
#981
Closed
howetuft
started this conversation in
Back-on-Track - v2.10
Replies: 2 comments
-
@howetuft Reviewing if this Discussion can be closed or should remain open. pyluxcore now relies on a pip package (as described in the original post) so the original point of this Discussion has been completed as far as I can tell. The idea of switching to pre-compiled kernels is open, but this is mid-term and could be discussed, if needed, in a separate Discussion or via an Issue. Do you agree to close, or do you want to keep it open with specific actions? |
Beta Was this translation helpful? Give feedback.
0 replies
-
Yes, we can close! I do it at once. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Overview
nvrtc
stands for "NVidia Runtime Compiler".nvrtc
is the external program that allows to compile Cuda kernels at runtime.Till version 2.9,
nvrtc
is shipped together with LuxCoreRender, this encompassing BlendLuxCore, luxcoreui, luxcoreconsole etc.For the Wheels, we propose not to ship
nvrtc
together.Rationale
nvrtc
has become very heavy in last versions. Version 12.8 is 110Mb, thus embedding it would more than double Python wheel sizes, which are already big. It would not only be a drawback for Nvidia users but a real pain for a large proportion of users who are not concerned by this tool - macOS users, other GPU vendors (AMD, Intel...) users - to whom we would impose a significant overhead, with no gain.nvrtc
releasing activity is rather high, with nearly one new version per month (see here: https://developer.download.nvidia.com/compute/cuda/redist/cuda_nvrtc/linux-x86_64/). We should delegate updating burden to standard package managers.nvrtc
version should be fitted to user's GPU and nvidia driver. Either we target an old version, but users with recent GPUs won't benefit from that, or we target a recent version, but we may exclude uses users with old GPUs.Solution
nvrtc
is available as a pip package. We will just declare this package as a dependency for LuxCore Python wheels.Beta Was this translation helpful? Give feedback.
All reactions