Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[FEA] Add tests that verify vector loads are generated when expected

Abierto
#213 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
cpp

Línea de trabajo

No se nombran archivos del repositorio ni pruebas existentes; comienza por localizar la infraestructura de pruebas de CUDA y la salida de compilación utilizada con nvcc. Usa la inspección de SASS con cuobjdump, por ejemplo comprobando la presencia de LDG.E.128.SYS, y considera tanto las cargas como los almacenamientos vectoriales; el trabajo estará terminado cuando la prueba verifique de forma fiable las instrucciones SASS vectoriales esperadas, en lugar de verificar únicamente PTX.

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

Descripción

P2: Nice to have topic: performance type: feature request

Generating vector load instructions is important for performance.

However, the compiler can be very fussy about actually generating them.

For example, https://godbolt.org/z/sfdaj695P shows prototyping code where all versions of nvcc prior to 11.7 would generate a ld.global.v4.u32 as expected, but in 11.7 it generates 4x ld.global.u32. What's worse is that it checks the condition after each load, so they won't be coalesced.

It would be nice to have a simple test that verifies vector loads (or stores) are generated in code where we expect them to be generated.

We should be sure to verify that vector SASS instructions are generated (and not just PTX) as I've seen cases where PTX will have vector loads but SASS does not.

This could be as simple as using cuobjdump -sass a.out | grep LDG.E.128.SYS, but there's probably more clever ways to do it.

Lenguaje dominante
Cuda
Estrellas
671
Forks
122
Merge medio
4 d 19 h
PR fusionados (30 d)
10

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

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.

Más de NVIDIA/cuCollections

Todos los issues de NVIDIA/cuCollections

Issues similares

Más issues de Performance

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.