CUDA 12.8.1 and LLVM 18.1.8
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Comienza con rustc_codegen_nvvm/rustc_llvm_wrapper/PassWrapper.cpp y las notas de la versión de CUDA 12.8.1 citadas en el issue. Revisa las guards existentes de versión de LLVM y el código del pass manager; después, aclara qué versiones de LLVM pretende admitir el proyecto. El trabajo se considerará terminado cuando exista un alcance de compatibilidad acordado y un plan de implementación para LLVM 18.1.8.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
CUDA 12.8 Update 1 Release Notes state:
libNVVM - Compilation of compute capabilities compute_100 and greater (Blackwell and future architectures) uses an updated NVVM IR dialect, based on LLVM 18.1.8 IR (the “modern” dialect)
As I have a Blackwell card, I'll be attempting to implement support for LLVM 18.1.8 with the new pass manager in rustc_codegen_nvvm/rustc_llvm_wrapper/PassWrapper.cpp
But my question is, would you like to preserve compatibility with very old LLVM versions? For example #ifdef LLVM_VERSION_LT(18,1).
The passes with the new PassManager in LLVM 18 are vastly different and it would complicate things to perserve compatibility for very old LLVM version, and the purpose of that is questionable as most people will download the latest CUDA toolkit.
In addition, LLVM aims to preserve backwards IR compatibility:
https://llvm.org/docs/DeveloperPolicy.html#ir-backwards-compatibility
In my experimentation, I'm deleting a lot of code for backwards compatibility so I thought I'd ask if the effort will be worth it, or will the Rust-CUDA project focus on LLVM 7 going forward.
Thank you, Rust CUDA is exactly what we need.
- Lenguaje dominante
- Rust
- Estrellas
- 5.4k
- Forks
- 251
- Merge medio
- 4 d 15 h
- PR fusionados (30 d)
- 4
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 Rust-GPU/rust-cuda
-
Default NvvmArch::Compute75 silently produces InvalidPtx on pre-Turing GPUs (Pascal/Maxwell/Volta)Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
-
Array parameters lose alignment metadata and ICE on >16 byte alignmentsPosiblemente ocupada @Snehal-Reddy la tomó hace 164 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
Support llvm-19 in containersAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
Todos los issues de Rust-GPU/rust-cuda
Issues similares
-
proxy: SQL-over-HTTP turns empty arrays into [""] or [false], or HTTP 500 for int and float arraysAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
neondatabase/neon#12965 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
goauthentik/authentik#26867 ·
Los mantenedores suelen responder en 1 día
-
api bug macos maintainer-needed p2 triaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
area::tern difficulty::easy good first issue kind::cleanup triage::ready
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
eclipse-zenoh/zenoh#2842 · 2 comentarios ·
Los mantenedores suelen responder en 1 día