awesome-simd
A curated list of awesome SIMD frameworks, libraries and software
https://github.com/awesome-simd/awesome-simd
Last synced: 15 days ago
JSON representation
-
ARM64 NEON
- Golang's ARM64 NEON support - Intro to arm64 assembler for Golang
- Golang ARM64 test data - Golang ARM64 (incl. NEON) test instructions
- Golang's ARM64 NEON support - Intro to arm64 assembler for Golang
-
ARM64 SVE
- SVE overview - SVE overview
- ARM SVE tools - ARM SVE tools
- AArch64 SoC features - AArch64 SoC features
-
AVX-512
- x86/x64 SIMD Instructions (AVX512) - AVX-512 overview
- Golang's AVX512 - Go 1.11 introduction of AVX-512 support
- Golang AVX512 test data - Golang AVX-512 test instructions
- alexcrichton - AVX-512 overview
- Colfax: Capabilities of Intel AVX-512 - Capabilities of AVX-512
- x86/x64 SIMD Instructions (AVX512) - AVX-512 overview
-
Blogs
-
Classes
- HPC-Class - High Performance Computing (HPC) class taught at FSU Jena by the Scalable Data- and Compute-intensive Analyses lab
-
Cool
- Visual ARM emulator - VisUAL: a highly visual ARM emulator
- Vectorized Emulation - Accelerated taint tracking at 2 trillion instructions per second
- CPUlator - CPUlator Computer System Simulator (ARMv7, MIPS, RISC-V)
- SIMD-Visualiser - Javascript: Graphically visualize SIMD code
- faster - Rust: SIMD for humans
-
Database / Structures
-
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)
-
Links
- Agner Fog - Software optimization resources
- uops.info - Latency, throughput, and port usage information
- Felix Cloutier - x86 and amd64 instruction reference
- Compiler Explorer - Run compilers interactively from the browser and interact with the assembly
- awesome-asm - A curated list of awesome Assembler
- Intel Manual vol 1 (HTML)
- Intel Manual vol 2 (HTML)
- Intel Manual vol 3 (HTML)
- Go assembly reference - Go assembly language complementary reference
- Intel® Intrinsics Guide - A list of all Intel® intrinsic functions for x86.
- awesome-llvm - Curated list of awesome LLVM related docs, tools, and other resources
- awesome-decompilation - Curated list of awesome decompilation resources and projects.
- x86 documentation - x86 documentation
- uops.info - Latency, throughput, and port usage information
- Intel Manual vol 1 (HTML)
- Intel Manual vol 2 (HTML)
- Intel Manual vol 3 (HTML)
- Go assembly reference - Go assembly language complementary reference
-
Neural Network
-
Online tools
- Online (dis-)assembler - Online assembler and disassembler
- ODA - Online disassembler (disassembler.io)
- Online (dis-)assembler - Online assembler and disassembler
-
Parsing
- dictionary - C++: High-performance dictionary coding
- simdjson-go - Go: Parsing gigabytes of JSON per second
- SIMDCompressionAndIntersection - C++: A library to compress and intersect sorted lists of integers using SIMD instructions
- 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.
- 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
- 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.
- 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++
- xsimd - C++: Wrappers for SIMD intrinsics and math implementations (SSE, AVX, NEON, AVX512)
- Intel SDE debugging - Debugging with AVX-512
Programming Languages
Categories
Sub Categories
Keywords
simd
18
avx512
9
neon
9
avx2
9
assembly
6
avx
5
simd-instructions
5
sse
4
arm
4
sse2
4
neural-network
4
aarch64
3
x86-64
3
integer-compression
3
cpp
3
plan9
3
golang
3
arm-neon
3
simd-library
3
intrinsics
3
go
3
compression
2
intersection
2
algorithms
2
regex
2
altivec
2
json
2
simd-parallelism
2
hash-functions
2
simd-programming
2
information-retrieval
2
ssse3
2
parser
2
high-performance
2
avx-512
2
ndjson
2
avx-instructions
2
simd-intrinsics
2
sse42
2
android
2
machine-learning
2
assembler
2
inference
2
whatwg-url
1
convolutional-layers
1
cpu
1
fast-fourier-transform
1
mlir
1
high-performance-computing
1
matrix-multiplication
1