3 dépôts
Alignment of memory allocations to byte boundaries to optimize CPU vector instructions.
Distinct from Memory Allocators: Distinct from general memory allocators: specifically targets byte alignment for SIMD/vector efficiency.
Explore 3 awesome GitHub repositories matching part of an awesome list · SIMD Memory Alignment. 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.
Magnum est une suite de middleware C++ pour le développement graphique multiplateforme et la visualisation de données en temps réel. Il fournit une couche de rendu agnostique au matériel qui traduit les commandes graphiques en appels spécifiques à la plateforme, assurant un comportement cohérent à travers différents pilotes GPU et API tels que Vulkan. Le projet se concentre sur le découplage de la logique d'application du matériel sous-jacent grâce à des utilitaires graphiques et système abstraits. Il dispose d'un importateur de ressources basé sur des plugins pour les actifs 3D et l'audio, d'un graphe de scène hiérarchique pour les transformations spatiales et d'un système d'événements basé sur des signaux haute performance pour la communication. Les capacités étendues incluent l'algèbre linéaire et les mathématiques vectorielles, le traitement de la géométrie de maillage et la gestion des contextes GPU. La boîte à outils couvre également la lecture audio spatiale, l'intégration matérielle VR et les optimisations de mémoire de bas niveau comme les mises en page stridées et les allocations alignées. La bibliothèque peut être intégrée dans des projets parents en tant que sous-projet CMake.
Aligns memory blocks to specific boundaries to optimize SIMD and vector instruction performance.
This project is a parallel simulation engine and molecular dynamics simulator designed to model the physical movements of atoms and molecules. It functions as an interatomic potential framework for calculating forces between particles and a materials analysis tool for computing thermodynamic, structural, and transport properties of solids and fluids. The engine is distinguished by its high-performance computing capabilities, utilizing spatial-domain decomposition and message-passing interface communication to distribute workloads across processors. It supports multi-backend GPU acceleration v
Allocates large memory chunks on specific byte boundaries to improve the efficiency of CPU vector instructions.