1 dépôt
Tools for aligned memory allocation and masked load-store operations to optimize vector processing.
Distinct from SIMD Memory Alignment: Extends simple alignment to include a full set of tools for managed SIMD memory access.
Explore 1 awesome GitHub repository matching part of an awesome list · SIMD Memory Managers. 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.
Includes a memory manager for aligned allocation and masked load-store operations to optimize vector processing.