All Projects → awesome-simd → awesome-simd

awesome-simd / awesome-simd

Licence: other
A curated list of awesome SIMD frameworks, libraries and software

Projects that are alternatives of or similar to awesome-simd

cpuwhat
Nim utilities for advanced CPU operations: CPU identification, ISA extension detection, bindings to assorted intrinsics
Stars: ✭ 25 (-35.9%)
Mutual labels:  simd, intrinsics, avx2
Guided Missile Simulation
Guided Missile, Radar and Infrared EOS Simulation Framework written in Fortran.
Stars: ✭ 33 (-15.38%)
Mutual labels:  simd, avx2, avx-512
block-aligner
SIMD-accelerated library for computing global and X-drop affine gap penalty sequence-to-sequence or sequence-to-profile alignments using an adaptive block-based algorithm.
Stars: ✭ 58 (+48.72%)
Mutual labels:  simd, avx2
simd-byte-lookup
SIMDized check which bytes are in a set
Stars: ✭ 23 (-41.03%)
Mutual labels:  simd, avx2
positional-popcount
Fast C functions for the computing the positional popcount (pospopcnt).
Stars: ✭ 47 (+20.51%)
Mutual labels:  simd, avx2
Turbo-Histogram
Fastest Histogram Construction
Stars: ✭ 44 (+12.82%)
Mutual labels:  simd, avx2
ternary-logic
Support for ternary logic in SSE, XOP, AVX2 and x86 programs
Stars: ✭ 21 (-46.15%)
Mutual labels:  simd, avx2
Turbo-Transpose
Transpose: SIMD Integer+Floating Point Compression Filter
Stars: ✭ 50 (+28.21%)
Mutual labels:  simd, avx2
Nsimd
Agenium Scale vectorization library for CPUs and GPUs
Stars: ✭ 138 (+253.85%)
Mutual labels:  simd, avx2
std find simd
std::find simd version
Stars: ✭ 19 (-51.28%)
Mutual labels:  simd, avx2
ultra-sort
DSL for SIMD Sorting on AVX2 & AVX512
Stars: ✭ 29 (-25.64%)
Mutual labels:  simd, avx2
Boost.simd
Boost SIMD
Stars: ✭ 238 (+510.26%)
Mutual labels:  simd, avx2
Turbo Run Length Encoding
TurboRLE-Fastest Run Length Encoding
Stars: ✭ 212 (+443.59%)
Mutual labels:  simd, avx2
utf8
Fast UTF-8 validation with range algorithm (NEON+SSE4+AVX2)
Stars: ✭ 60 (+53.85%)
Mutual labels:  simd, avx2
Simdjson
Parsing gigabytes of JSON per second
Stars: ✭ 15,115 (+38656.41%)
Mutual labels:  simd, avx2
aes-gcm-siv
.NET Core 3.0 implementation of AES-GCM-SIV nonce misuse-resistant authenticated encryption
Stars: ✭ 22 (-43.59%)
Mutual labels:  simd, intrinsics
Base64simd
Base64 coding and decoding with SIMD instructions (SSE/AVX2/AVX512F/AVX512BW/AVX512VBMI/ARM Neon)
Stars: ✭ 115 (+194.87%)
Mutual labels:  simd, avx2
Corrfunc
⚡️⚡️⚡️Blazing fast correlation functions on the CPU.
Stars: ✭ 114 (+192.31%)
Mutual labels:  simd, avx2
sliceslice-rs
A fast implementation of single-pattern substring search using SIMD acceleration.
Stars: ✭ 66 (+69.23%)
Mutual labels:  simd, avx2
simdutf8
SIMD-accelerated UTF-8 validation for Rust.
Stars: ✭ 426 (+992.31%)
Mutual labels:  simd, avx2

awesome-simd

A curated list of awesome SIMD frameworks, libraries and software.

This list showcases projects that have achieved 10x performance improvements using SIMD (Single Instruction Multiple Data) instructions. In general this should lead to execution speeds of GBs per second on modern CPUs for that task at hand.

Parsing

  • simdjson - C++: Parsing gigabytes of JSON per second
  • simdjson-go - Go: Parsing gigabytes of JSON per second
  • dictionary - C++: High-performance dictionary coding
  • simdcomp - C: A simple library for compressing lists of integers using binary packing
  • SIMDCompressionAndIntersection - C++: A library to compress and intersect sorted lists of integers using SIMD instructions
  • Hyperscan - C++: High-performance regular expression matching library
  • Various string algo's - C: Repository for string algorithms, snippets, toy programs, etc.
  • sse-popcount - SIMD (SSE) population count

Erasure Coding and Hashing

  • 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

Neural Network

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

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)

Data Structures

  • bitmap - Go: Dense, zero-allocation, SIMD-enabled bitmap/bitset

Cool

Blogs

Links

Tools

  • avo - Go: Generate x86 Assembly with Go
  • PeachPy - Python: x86-64 assembler embedded in Python
  • c2goasm - Go: C to Go Assembly
  • LLVM MCA - LLVM Machine Code Analyzer
  • xsimd - C++: Wrappers for SIMD intrinsics and math implementations (SSE, AVX, NEON, AVX512)
  • Intel SDE debugging - Debugging with AVX-512
  • Asm-Dude - VS extension for assembly syntax highlighting and code completion
  • Intrinsics-Dude - VS extension for compiler instrinsics in C/C++

Online tools

AVX-512

ARM64 NEON

License

Creative Commons License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].