Rust-GPU / Rust-GPU/rust-gpu

Should pointers be 64-bit?

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

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

主要言語
Rust
スター
3.4k
フォーク
126
PR マージ指標
30日以内にマージされた PR はありません

説明

With the current 32-bit pointer width, raw physical pointers are unconvenient at best and open up a bunch of pitfalls at worst.

Technically, pointers should be 64-bit, at least when any physical addressing model is enabled.
This is problematic because of the preferred integer width of 32-bit in shaders, while Rust assumes usize in most APIs.

Is there any way we could switch to a 64-bit target without compromising performance?
For example

  • Add optimization passes to convert usize -> u32 for logical ops
  • Add a custom SPIR-V type for usize that somehow gets inferred late
  • Customize core to add u32 indexing

On the other hand, physical pointers in shaders are somewhat niche, especially with more progress towards better bindless extension.

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

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

はじめの一歩

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

調査の方向性

リンクされている PR #237 と、32 ビットポインタ、物理アドレス指定、シェーダーの整数幅、Rust の usize API についての issue の議論を確認することから始めます。論理演算のパフォーマンスを損なわずに 64 ビットターゲットをサポートできるかを判断し、実行可能な方向性、またはそれが現実的でない理由を文書化してください。

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

評価

技術スタック
rust
領域
compilers, computer-graphics
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
20/100

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

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