1 dépôt
Interfaces that map portable high-level code to architecture-specific SIMD intrinsics.
Distinguishing note: None of the candidates describe mapping C++ templates to hardware-specific SIMD intrinsics.
Explore 1 awesome GitHub repository matching operating systems & systems programming · SIMD Abstraction Layers. Refine with filters or upvote what's useful.
Highway est une bibliothèque C++ portable et une couche d'abstraction matérielle conçue pour écrire du code SIMD (Single Instruction Multiple Data). Elle fournit une interface unifiée qui mappe la logique de parallélisme de données vers divers jeux d'instructions CPU, permettant le développement de logiciels haute performance qui s'exécutent sur différentes architectures de processeurs sans nécessiter d'assembleur spécifique à l'architecture. Le projet dispose d'un répartiteur d'instructions dynamique qui sélectionne le jeu d'instructions CPU le plus efficace à l'exécution en fonction du matériel détecté. Il prend également en charge la spécialisation de cible statique et des mécanismes extensibles pour ajouter de nouvelles cibles matérielles ou des opérations SIMD personnalisées. La bibliothèque couvre un large éventail d'opérations vectorielles, incluant l'arithmétique élément par élément, la réduction de voie, le mélange (shuffling) et l'exécution conditionnelle masquée. Elle inclut une bibliothèque mathématique vectorisée, un gestionnaire de mémoire pour l'allocation alignée et les opérations de chargement-stockage masquées, ainsi que des primitives pour la cryptographie accélérée par matériel. Des outils sont fournis pour la compilation et la validation automatisées des instructions accélérées par matériel sur plusieurs architectures de processeurs.
Provides a portable C++ template interface that maps to architecture-specific SIMD intrinsics at compile time.