Low-overhead stateless functional quantize/GEMM API (plain tensors in → out)
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 32/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 静か
調査の方向性
まず、issue に記載されている tex.quantize と既存の nvte_* C API を確認し、Quantizer と FP8GlobalStateManager の state がどのように関与するかを含めて調査します。サポート対象の stateless plain-tensor surface がスコープに含まれるかどうかを判断します。完了条件は、subclass や autocast の処理なしで、quantized data、scale_inv、amax outputs を扱う、文書化された判断または API proposal です。
索引モデルが issue の本文から書いたものです。
説明
Problem
A local large-scale LLM pre-training team finds TE's host-side overhead significant for small-shape / latency-sensitive paths, and has already bypassed TE to call MXFP8/NVFP4 kernels directly from their own C++. The cost is structural: (1) autocast + FP8GlobalStateManager state bookkeeping, (2) tensor-subclass torch_dispatch, (3) Quantizer objects passed per op + attribute reads, (4) Python↔C++ round-trips constructing subclass tensors. tex.quantize doesn't avoid this — it still needs a quantizer and returns a subclass tensor.
Request
A documented, supported stateless functional API: plain torch.Tensor in → plain torch.Tensor(s) out (data + scale_inv + amax), bypassing subclass/Quantizer/autocast. Essentially a thin blessed wrapper over the existing nvte_* C API.
Is a lightweight functional surface like this something the team would consider in principle, or is it intentionally out of scope for TE? Mainly trying to gauge whether it's worth exploring further before we discuss possible ways to help move it along.
- 主要言語
- Python
- スター
- 3.6k
- フォーク
- 844
- 平均マージ
- 4日 55分
- マージ済み PR(30日)
- 51
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NVIDIA/TransformerEngine のほかの issue
-
[PyTorch] fp8_cs_quantize fake implementation returns a vector inverse scale instead of a scalarオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
NVIDIA/TransformerEngine#3636 ·
メンテナーはふだん 2 日以内に返信
-
[Bug] Backend selection picks FA3 for training with head_dim_qk=192 / v_head_dim=128, but FA3 backward cannot run it対応中かも @yuweih205 が 30 日前に担当しました。 オープンattention
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
NVIDIA/TransformerEngine#3481 · コメント 4 件 ·
メンテナーはふだん 2 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
NVIDIA/TransformerEngine#2189 · コメント 7 件 · リアクション 5 件 ·
メンテナーはふだん 2 日以内に返信
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 54/100
NVIDIA/TransformerEngine#3640 · コメント 5 件 ·
メンテナーはふだん 2 日以内に返信
-
[BUG] Grouped MXFP8 quantization is not concurrency safe with multiple streams対応中かも @kainzhong が 1 日前に担当しました。 オープンbug
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
NVIDIA/TransformerEngine#3630 ·
メンテナーはふだん 2 日以内に返信
NVIDIA/TransformerEngine の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
agrc/palletjack#208 ·
-
status/needs-triage type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
PKU-YuanGroup/OpenAI4S#218 ·
メンテナーはふだん 1 日以内に返信
-
Test Leakage対応中かも @garland3 が今日担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
sandialabs/atlas-ui-3#1030 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 84/100
aws-samples/sample-ai-persona#151 ·
メンテナーはふだん 1 日以内に返信