Skip to content

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

Open
0 of 2 issues completed
Open
@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

Sub-issues

0 of 2 Issues completed

Activity

added
cuda.bindingsEverything related to the cuda.bindings module
cuda.coreEverything related to the cuda.core module
enhancementAny code-related improvements
P1Medium priority - Should do
on May 4, 2025
leofang

leofang commented on May 4, 2025

@leofang
MemberAuthor

cc @ZzEeKkAa for vis (since cuda.bindings's setup.py has a chunk of code copied from nvmath-python and other Python projects)

added
triageNeeds the team's attention
and removed
P1Medium priority - Should do
on May 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @cryos@leofang

      Issue actions

        Further modernization of the build backend to reduce `setup.py` usage · Issue #605 · NVIDIA/cuda-python