Skip to content

Further modernization of the build backend to reduce setup.py usage #605

@leofang

Description

@leofang

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 in setup.py:
  • 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.

Sub-issues

Metadata

Metadata

Assignees

Labels

cuda.bindingsEverything related to the cuda.bindings modulecuda.coreEverything related to the cuda.core moduleenhancementAny code-related improvementstriageNeeds the team's attention

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions