Rust-GPU / Rust-GPU/rust-gpu

Should pointers be 64-bit?

Abierto
#238 2 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Rust
Estrellas
3.4k
Forks
126
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza revisando el PR #237 enlazado y el debate de la issue sobre punteros de 32 bits, direccionamiento físico, anchos de enteros de los shaders y las APIs usize de Rust. Determina si se puede admitir un destino de 64 bits sin comprometer el rendimiento de las operaciones lógicas, y documenta una dirección viable o las razones por las que no resulta práctico.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
rust
Área
compilers, computer-graphics
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
20/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.