Le projet llama.cpp a publié la compilation b11282, qui inclut une correction pour définir la macro `CUDA_ARCH` pour les passes de périphérique MUSA. Auparavant, l'en-tête du fournisseur MUSA ne définissait pas cette variable, ce qui faisait que les tests d'architecture dans les sources partagées ggml-cuda étaient évalués à zéro et entraînaient des corps de noyau vides.

  • La correction signale la nouvelle architecture similaire au backend HIP tout en excluant explicitement les fonctionnalités exclusives à NVIDIA incompatibles avec MUSA.
  • `CUDA_ARCH` est désormais défini uniquement pour les passes de périphérique afin de s'aligner sur la logique de détection de CUB et le comportement de nvcc.
  • Les vérifications redondantes `defined(CUDA_ARCH)` dans les comparaisons d'architecture ont été supprimées car la macro n'est pas définie dans les passes hôte pour CUDA et MUSA.

Ce changement garantit que les corps de noyau conditionnés par l'architecture, tels que le noyau de déquantisation q8_0 -> f16, se compilent correctement pour les périphériques MUSA au lieu de s'étendre en corps vides.