An open API service indexing awesome lists of open source software.

awesome-simd

A curated list of awesome SIMD frameworks, libraries and software
https://github.com/awesome-simd/awesome-simd

Last synced: about 7 hours ago
JSON representation

  • ARM64 NEON

  • ARM64 SVE

  • AVX-512

  • Blogs

  • Classes

    • HPC-Class - High Performance Computing (HPC) class taught at FSU Jena by the Scalable Data- and Compute-intensive Analyses lab
  • Cool

  • Database / Structures

    • sneller - Fast SQL for JSON in Go with AVX-512: fast, simple, schemaless
    • bitmap - Go: Dense, zero-allocation, SIMD-enabled bitmap/bitset
  • Erasure Coding and Hashing

    • xxHash - C: Extremely fast Hash algorithm, processing at RAM speed limits.
    • Reed-Solomon - Go: Erasure Coding in Go
    • highwayhash - Go: Optimized HighwayHash implementation for Intel (over 10 GB/sec), ARM and Power9
    • sha256-simd - Go: Optimized SHA256 computations for Intel, ARM and Power9
  • Image processing

    • Simd - C++: image processing library making use of SIMD
    • Pillow-SIMD - Python: SIMD version of PIL (Python Imaging Library)
    • ComputeLibrary - C++: Library for Computer Vision and Machine Learning (ARM only)
  • Neural Network

    • ncnn - C++: High-performance NN inference framework optimized for mobile
    • nnpack - C/c++: Acceleration package for neural networks on multi-core CPUs
    • SimSIMD - C: Similarity measures for high-dimensional vectors
    • mkl-dnn - C++: Math Kernel Library for Deep Neural Networks
  • Online tools

  • Parsing

    • simdjson-go - Go: Parsing gigabytes of JSON per second
    • simdutf - C++: Unicode routines (UTF8, UTF16, UTF32)
    • Ada - C++: WHATWG-compliant and fast URL parser
    • StringZilla - C: Substring search, edit-distances, sorting, fuzzy matching, etc.
    • Various string algo's - C: Repository for string algorithms, snippets, toy programs, etc.
    • sse-popcount - SIMD (SSE) population count
    • vectorscan - C++: High-performance regular expression matching library
    • SIMDCompressionAndIntersection - C++: A library to compress and intersect sorted lists of integers using SIMD instructions
    • dictionary - C++: High-performance dictionary coding
    • simdcomp - C: A simple library for compressing lists of integers using binary packing
    • simdjson - C++: Parsing gigabytes of JSON per second
  • Tools

    • LLVM MCA - LLVM Machine Code Analyzer
    • Intel® Implicit SPMD Program Compiler - An LLVM compiler for a C like language, with C linkage, that generates very good SIMD instructions for a wide range of platforms and ISAs. (Windows, iOS, Linux, ARM, PS5, Xbox, SSE, AVX, AVX2, AVX-512, ARM NEON.)
    • avo - Go: Generate x86 Assembly with Go
    • PeachPy - Python: x86-64 assembler embedded in Python
    • c2goasm - Go: C to Go Assembly
    • Highway - C++: Performance-portable, length-agnostic SIMD with runtime dispatch
    • Eve - C++: Expressive Vector Engine
    • SIMDe - C++: Header-only implementations of SIMD instruction sets (SSE*, AVX{,2,512}, Neon, and more) for systems which don't natively support them.
    • Asm-Dude - VS extension for assembly syntax highlighting and code completion
    • Intrinsics-Dude - VS extension for compiler instrinsics in C/C++
    • xsimd - C++: Wrappers for SIMD intrinsics and math implementations (SSE, AVX, NEON, AVX512)
    • Intel SDE debugging - Debugging with AVX-512