[FEA] Add tests that verify vector loads are generated when expected
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
- Área
- performance, testing-qa
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
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
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NVIDIA/cuCollections
-
Add cuco::detail::stream_sync(cuda::stream_ref) to centralize CCCL version-specific API namingQuizá libre de nuevo @0z5a la tomó hace 25 días y no hay ningún pull request abierto. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
NVIDIA/cuCollections#840 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
nvidia-runners
Dificultad 1/5 1-3 horas Aptitud para principiantes 25/100
NVIDIA/cuCollections#853 ·
Los mantenedores suelen responder en 2 días
-
topic: performance type: feature request
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
NVIDIA/cuCollections#817 · 7 comentarios · 1 reacción ·
Los mantenedores suelen responder en 2 días
-
good first issue P2: Nice to have type: improvement
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
NVIDIA/cuCollections#805 · 4 comentarios ·
Los mantenedores suelen responder en 2 días
-
[FEA] Add MPSC/MPMC concurrent queueQuizá libre de nuevo @sleeepyjack la tomó hace 264 días y no hay ningún pull request abierto. Abiertotype: feature request
NVIDIA/cuCollections#791 · 1 asignado ·
Los mantenedores suelen responder en 2 días
Todos los issues de NVIDIA/cuCollections
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
type/automation type/performance
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Permissioned transactions fetch each entity once per tx-step, producing huge permission-check queriesPosiblemente ocupada @verveguy la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
yandex/perforator#124 ·
-
is_bf16_supported() picks emulated bf16 on T4 (sm75) GPU: VGGT-Omega loses memory-efficient SDPA and OOMs at 8 frames; fp16 runs 48Posiblemente ocupada @HashirNauman la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100