Wheels flash-attention préconstruits pour Linux et Windows
Aperçu du projet : Fournissez des roues de packages Flash-Attention 2 et 3 pré-construites sur Linux et Windows à l'aide des actions GitHub.
En bref
- De quoi s’agit-il ?
- Provide with pre-build flash-attention 2 and 3 package wheels on Linux and Windows using GitHub Actions. Le périmètre, les commandes et les limites sont examinés à partir du README de mjun0812/flash-attention-prebuild-wheels.
- À qui s’adresse-t-il ?
- Ce projet convient au lecteur dont le besoin correspond précisément à mjun0812/flash-attention-prebuild-wheels et à ses interfaces documentées. Il ne convient pas à une décision fondée sur la popularité seule.
- Puis-je l’utiliser commercialement ?
- Oui. BSD-3-Clause est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 19 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
La longue compilation qui a motivé ces wheels
flash-attention est une implémentation d'attention coûteuse à compiler. Le README indique que sa construction prend très longtemps et consomme beaucoup de ressources. Ce dépôt fournit des wheels pour flash-attention 2 et 3, et inclut explicitement des combinaisons de CUDA et PyTorch qui ne sont pas distribuées officiellement. La description du projet indique qu'il utilise GitHub Actions pour construire sur Linux et Windows. Le README ajoute qu'il repose sur un runner auto-hébergé et AWS CodeBuild, et demande un parrainage pour maintenir cette infrastructure.
Nommage des wheels et installation
Le README documente un modèle de nom de fichier wheel : flash_attn-[version flash_attn]+cu[version CUDA]torch[version PyTorch]-cp[version Python]-cp[version Python]-linux_x86_64.whl. Par exemple, Python 3.11, CUDA 12.4, PyTorch 2.5 et flash_attn 2.6.3 produisent flash_attn-2.6.3+cu124torch2.5-cp312-cp312-linux_x86_64.whl. L'installation peut se faire directement avec pip install pointant vers l'URL de la release, ou en téléchargeant le wheel puis en exécutant pip install localement. Le README renvoie à une page de recherche, à un document de paquets et à la page des releases pour trouver une version correspondante.
Couverture et notes de plateforme
Le README rapporte des nombres de couverture pour trois cibles de plateforme : Linux x86_64 a 521 wheels, Linux ARM64 en a 174, et Windows 159, pour un total de 854, avec zéro manquant dans chaque ligne. Depuis v0.8.0, les wheels Flash Attention 3 sont disponibles ; ils nécessitent des GPU Hopper (SM90) ou plus récents et CUDA 12.3 ou plus récent. Depuis v0.7.0, les wheels Linux sont construits avec manylinux2_28 et sont compatibles avec les anciennes versions de glibc jusqu'à 2.17. Depuis v0.5.0, les wheels incluent une étiquette de version locale qui identifie les versions CUDA et PyTorch, donc pip list affiche quelque chose comme flash_attn==2.8.3+cu130torch2.9 plutôt qu'une version nue.
Infrastructure de construction et auto-construction
La matrice de construction utilise des runners hébergés par GitHub pour Linux x86_64 (ubuntu-22.04), Linux ARM64 (ubuntu-22.04-arm) et Windows x86_64 (windows-2022). Le README liste également des runners auto-hébergés et AWS CodeBuild pour Windows x86_64, avec des images de conteneurs comme ubuntu:24.04 ou manylinux_2_28_x86_64 pour Linux auto-hébergé. Pour les utilisateurs ayant besoin d'une combinaison absente des releases, le README décrit un workflow d'auto-construction : forker le dépôt, éventuellement configurer un runner auto-hébergé, modifier create_matrix.py pour choisir les versions, puis pousser un tag v*.*.* pour déclencher la construction. Il prévient que certaines combinaisons de versions peuvent ne pas se construire et que les runners hébergés par GitHub peuvent atteindre les limites de temps de travail, c'est pourquoi des instructions pour les runners auto-hébergés sont fournies dans self-hosted-runner/README.md.
Licence et citation
Le dépôt est publié sous la licence BSD 3-Clause, avec des droits d'auteur attribués à Junya Morioka pour 2025. La licence permet la redistribution sous forme source et binaire dans certaines conditions, et inclut une clause de non-garantie. Elle ne mentionne pas le support, les garanties de sécurité ou les obligations de maintenance. Le README fournit une entrée BibTeX pour citer le dépôt lui-même, et cite également les articles originaux de flash-attention par Dao et al. pour FlashAttention et FlashAttention-2.
Historique du projet et remerciements
Le README renvoie à un document d'historique des releases et inclut un graphique d'historique des étoiles et un graphique de téléchargements. Il liste un ensemble de sponsors et contributeurs, dont KiralyCraft pour la fourniture de ressources de calcul et d'autres qui ont sponsorisé ou acheté des cafés. Les métadonnées du dépôt enregistrent 1 660 étoiles, 74 forks et 3 issues ouvertes au moment de la rédaction. Le README ne fournit pas de benchmarks de performance, de statistiques d'adoption ou de politique de support, donc toute affirmation sur la vitesse ou la fiabilité au-delà de ce qui est documenté nécessiterait une vérification distincte.
Conclusion éditoriale
Ce projet convient au lecteur dont le besoin correspond précisément à mjun0812/flash-attention-prebuild-wheels et à ses interfaces documentées. Il ne convient pas à une décision fondée sur la popularité seule. Commencez par l entrée propre au dépôt, observez la sortie attendue et confrontez-la aux limites explicitement signalées dans son README.
Notes de la communauté