Rust-GPU / Rust-GPU/rust-gpu

Should pointers be 64-bit?

Đang mở
#238 2 bình luận 1 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Rust
Star
3.4k
Fork
126
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng cách xem xét PR #237 được liên kết và phần thảo luận của issue về con trỏ 32 bit, địa chỉ hóa vật lý, độ rộng số nguyên của shader và các API usize của Rust. Xác định liệu có thể hỗ trợ một target 64 bit mà không làm ảnh hưởng đến hiệu năng của các phép toán logic hay không, đồng thời ghi lại một hướng khả thi hoặc các lý do khiến việc này không thực tế.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
rust
Lĩnh vực
compilers, computer-graphics
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
20/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.