-
-
Notifications
You must be signed in to change notification settings - Fork 982
Description
We added Jitify (#4228) 5 years ago because we had to use NVRTC to compile Thrust/CUB code, and Thrust/CUB included a ton of system headers that choked NVRTC and had to be patched with Jitify's custom header patches (see my notes on Jitify Anatomy).
After @jrhemstad took over the lead, the CCCL team has merged Thrust/CUB into the CCCL monorepo and has been full steam ahead in making CCCL headers much friendlier for NVRTC to consume, to the point where we finally can stay away entirely from Jitify, at least internally in CuPy (#8467).
This RFC is to propose a complete removal of Jitify from CuPy's public facing APIs, notably RawKernel and RawModule, for the following reasons:
- I personally am not willing to, nor do I have time to, maintain this support anymore, especially given that we have much better options in 2025/2026
- CCCL as noted has much better JIT support and the header patches become a source of conflicts for every CTK/CCCL updates; instead of helping, they now get in the way
- There exists a very nice CUDA Python story for pythonic access to Thrust/CUB APIs ([RFC] Introduce
cuda-ccclas a required dependency #9238) - We have fallen behind of maintaining our Jitify support, and now both Jitify v1 and v2 have drifted far away from the commit that we pinned. The maintenance overhead is high at this point.
My proposal is to raise a warning by CuPy v14.0.0 and remove it by v15. I would like to get feedbacks from the team and potential jitify=True users.