Rust Threads on the GPU
VectorWare annonce qu'ils ont réussi à exécuter std::thread de Rust sur le GPU en mappant chaque thread sur un warp. Ils expliquent que le modèle d'exécution GPU diffère du CPU et que rendre la concurrence explicite via des threads facilite la sécurité et l'intégration avec les abstractions Rust existantes. L'implémentation associe chaque std::thread à un warp (seul le warp 0 est actif au départ, spawn réveille un warp et join attend sa fin) ; la technique a été démontrée sur NVIDIA mais s'applique à d'autres architectures. Cette approche prévient la divergence en veillant à ce que chaque warp exécute le même code, préserve l'emprunt et les durées de vie Rust, et ouvre une grande partie de l'écosystème Rust (bibliothèques basées sur threads et async) au matériel GPU. Les limites incluent le nombre fini de warps, des coûts de synchronisation, une consommation mémoire pour les piles et un risque de sous-utilisation des lanes, et l'équipe prévoit de publier des mitigations et de supporter d'autres langages à l'avenir.