Open
0 of 2 issues completedDescription
Creating an issue to capture the internal discussions.
Currently both cuda.bindings
and cuda.core
use setuptools
as the build backend and have a mixture of pyproject.toml
static declarations and setup.py
dynamic logics. We have two choices here:
- Keep
setuptools
but further reduce the amount of code insetup.py
:- This seems to become possible with recent
setuptools
, where Cython extensions can now be declared inpyproject.toml
.
- This seems to become possible with recent
- Switch to use
scikit-build-core
:- This has the benefit of reusing CUDA discovery mechanism (
FindCUDAToolkit
) and other nice build system features provided by CMake (see the relevant discussion in Splayed layout support #46). - The potential downside is to maintain a custom
CMakeLists.txt
which is arguably a burden for non-C++ (=C & Python) oriented developers. Our Cython extensions are very simple to build.- However, this might become necessary once we start integrating some features from
cudax::
, e.g. BuildMemoryResource
on top ofcudax::any_resource
#528.
- However, this might become necessary once we start integrating some features from
- This has the benefit of reusing CUDA discovery mechanism (
Sub-issues
Sub-issues
- Manage this item control shift u
- Manage this item control shift u
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
cuda.core
's build backend #606cuda.bindings
's build backend #607leofang commentedon May 4, 2025
cc @ZzEeKkAa for vis (since
cuda.bindings
'ssetup.py
has a chunk of code copied from nvmath-python and other Python projects)