3 repositorios
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 es una biblioteca de C++ portátil y capa de abstracción de hardware diseñada para escribir código SIMD (Single Instruction, Multiple Data). Proporciona una interfaz unificada que mapea la lógica de datos paralelos a varios conjuntos de instrucciones de CPU, permitiendo el desarrollo de software de alto rendimiento que se ejecuta en diferentes arquitecturas de procesador sin requerir ensamblador específico de la arquitectura. El proyecto cuenta con un despachador de instrucciones dinámico que selecciona el conjunto de instrucciones de CPU más eficiente en tiempo de ejecución basado en el hardware detectado. También admite la especialización de destino estática y mecanismos extensibles para añadir nuevos destinos de hardware u operaciones SIMD personalizadas. La biblioteca cubre una amplia gama de operaciones vectoriales, incluyendo aritmética elemento a elemento, reducción de carriles (lane reduction), barajado (shuffling) y ejecución condicional enmascarada. Incluye una biblioteca matemática vectorizada, un gestor de memoria para asignación alineada y operaciones de carga-almacenamiento enmascaradas, y primitivas para criptografía acelerada por hardware. Se proporcionan herramientas para la compilación y validación automatizada de instrucciones aceleradas por hardware en múltiples arquitecturas de procesador.
Includes a memory manager for aligned allocation and masked load-store operations to optimize vector processing.
Magnum es una suite de middleware de C++ para el desarrollo de gráficos multiplataforma y visualización de datos en tiempo real. Proporciona una capa de renderizado agnóstica al hardware que traduce comandos gráficos en llamadas específicas de la plataforma, garantizando un comportamiento consistente en diferentes controladores de GPU y API como Vulkan. El proyecto se centra en desacoplar la lógica de la aplicación del hardware subyacente a través de gráficos abstractos y utilidades del sistema. Cuenta con un importador de recursos basado en plugins para activos 3D y audio, un grafo de escena jerárquico para transformaciones espaciales y un sistema de eventos basado en señales de alto rendimiento para la comunicación. Las capacidades amplias incluyen álgebra lineal y matemáticas vectoriales, procesamiento de geometría de malla y la gestión de contextos de GPU. El kit de herramientas también cubre la reproducción de audio espacial, la integración de hardware de VR y optimizaciones de memoria de bajo nivel como diseños escalonados y asignaciones alineadas. La biblioteca puede integrarse en proyectos principales como un subproyecto de 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.