NVIDIA / NVIDIA/cuda-python

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

オープン
#605 コメント 7 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

CI/CD cuda.bindings cuda.core enhancement
主要言語
Cython
スター
3.4k
フォーク
329
平均マージ
1日 21時間
マージ済み PR(30日)
113

説明

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 #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. #528.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、cuda.bindings と cuda.core の現在の pyproject.toml および setup.py の設定を比較し、次に #46 にリンクされている議論を読んでください。最近の setuptools で Cython 拡張を宣言できるのか、それとも scikit-build-core と CMakeLists.txt が必要なのかを、#528 における将来の cudax:: に関する考慮事項も含めて評価してください。プロジェクトが build backend の方向性とその範囲について合意すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cmake, python
領域
build-system
issue の種類
リファクタリング
難易度
5/5
見積もり時間
1週間以上
活発さ
静か
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。