7 dépôts
Libraries for hardware-accelerated SIMD operations.
Explore 7 awesome GitHub repositories matching part of an awesome list · SIMD Optimization. Refine with filters or upvote what's useful.
Gorgonia is a Go library that provides an automatic differentiation engine and a computation graph framework for building and training neural networks. It functions as a CUDA-accelerated tensor library and a SIMD-optimized math library, enabling machine learning workflows entirely within the Go ecosystem. The library distinguishes itself through a dual-backend architecture that dispatches neural network operations to either a GPU or CPU depending on CUDA availability at runtime. It constructs differentiable directed acyclic graphs of tensor operations, supports reverse-mode automatic gradient
Uses platform-specific SIMD instructions on amd64 CPUs to accelerate vector and matrix operations.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Passes vectors as arrays in function calls to maintain binary compatibility with C libraries.
perf-ninja is a collection of educational resources and curricula focused on CPU architecture, memory hierarchies, SIMD programming, and low-level performance engineering. It provides instructional material and practical labs for identifying and fixing CPU bottlenecks, such as cache misses and branch mispredictions. The project differentiates itself through specialized training in hardware-level optimizations, including the use of compiler intrinsics for SIMD vectorization and the implementation of branchless predicate execution to eliminate pipeline stalls. It also covers advanced binary-lev
Handles divergent loop iterations when processing independent data elements, such as pixels, in a SIMD fashion.
Implementations of SIMD instruction sets for systems which don't natively support them.
Cross-platform SIMD instruction set implementations.
Portable header-only C++ low level SIMD library
Low-level SIMD abstraction library.
Cette bibliothèque fournit une collection de primitives mathématiques de bas niveau pour les opérations de groupe Curve25519 et Ristretto. Elle sert de fondation pour construire des protocoles cryptographiques sécurisés, offrant des outils pour l'arithmétique sur les courbes elliptiques, l'échange de clés et la génération de signatures numériques. L'implémentation privilégie la résistance aux canaux auxiliaires (side-channel) en utilisant une logique arithmétique à temps constant sur toutes les opérations, garantissant que les variations de timing dépendantes des secrets sont empêchées. Elle exploite le système de types de Rust pour imposer la validité de l'état, rendant les éléments de groupe illégaux non représentables à la compilation. Pour maximiser les performances, la bibliothèque emploie la vectorisation SIMD spécifique au matériel et permet la sélection du backend à la compilation, permettant aux développeurs d'équilibrer la vitesse d'exécution avec des exigences spécifiques de sécurité ou de vérification. Au-delà de l'arithmétique de base, la bibliothèque inclut une prise en charge complète de la gestion sécurisée du cycle de vie des clés, incluant la génération d'aléa, la validation stricte des clés et l'effacement explicite de la mémoire pour les secrets sensibles. Elle fournit également des utilitaires pour la vérification de signature par lots, le mapping hash-to-curve et la sérialisation des données pour la transmission réseau ou le stockage.
Automates the application of target feature attributes to ensure vector instructions are inlined correctly.
Fundamental C++ SIMD types for Intel CPUs (sse, avx, avx2, avx512)
Fundamental SIMD types for Intel CPUs.