Highway is a portable C++ library and hardware abstraction layer designed for writing single instruction multiple data (SIMD) code. It provides a unified interface that maps data-parallel logic to various CPU instruction sets, enabling the development of high-performance software that runs across different processor architectures without requiring architecture-specific assembly.
Die Hauptfunktionen von google/highway sind: Hardware Dispatchers, Hardware Abstraction Layers, SIMD-Based Data Parallelism, Cross-Architecture Performance Strategies, Instruction Set Targeting, Runtime Instruction Dispatchers, SIMD Abstraction Layers, SIMD Libraries.
Open-Source-Alternativen zu google/highway sind unter anderem: c3lang/c3c — c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static… ispc/ispc — ISPC is a vectorizing compiler and SIMD parallel programming language that implements a single program multiple data… dendibakh/perf-ninja — perf-ninja is a collection of educational resources and curricula focused on CPU architecture, memory hierarchies,… openmathlib/openblas — OpenBLAS is a high-performance implementation of the Basic Linear Algebra Subprograms standard designed for numerical… vosen/zluda — ZLUDA is a middleware and translation engine designed to enable the execution of unmodified proprietary compute… crystal-lang/crystal — Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It…
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
ISPC is a vectorizing compiler and SIMD parallel programming language that implements a single program multiple data model. It serves as a toolchain for translating C-based code with parallel extensions into optimized machine code for various CPU and GPU architectures using an LLVM backend. The compiler is designed for cross-platform SIMD toolchain support, generating specialized instruction sets for x86 SSE/AVX, ARM NEON, and Intel GPU from a single source. It features a runtime dispatch mechanism that selects the most efficient hardware-specific implementation for the current system during
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
OpenBLAS is a high-performance implementation of the Basic Linear Algebra Subprograms standard designed for numerical computing and matrix operations. It serves as a hardware-accelerated numerical library and optimized math kernel library, providing a computational engine for large-scale matrix multiplication and vector operations. The library distinguishes itself through the use of hand-tuned assembly kernels and SIMD instruction mapping, such as AVX and SVE, to maximize floating-point performance on specific CPU architectures. It features a multi-threaded framework that manages parallel exe