simd-everywhere/simde

Implementations of SIMD instruction sets for systems which don't natively support them.

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 59 minutes ago
Added to GitGenius on September 22nd, 2026
Created on March 28th, 2017
Open Issues & Pull Requests: 141 (+0)
GitHub issues: Enabled
Number of forks: 322
Total Stargazers: 3,113 (+0)
Total Subscribers: 53 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 8.6 hours
Mean response time: 96.9 days
90th percentile: 132.0 days
Tracked items: 64

How this project is maintained

57% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Three people close 98% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 30
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 881 days
Stale 30+ days: 24
Stale 90+ days: 22

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 3

Top labels

  • help wanted (5)
  • instruction-set-support (5)
  • good first issue (4)
  • GSoC/Outreachy-ideas (3)
  • compiler-bug (3)
  • accelerated-implementation (1)
  • bug (1)
  • low-priority (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

SIMDe is a header-only library that provides portable implementations of SIMD intrinsics on hardware which does not natively support them.

The library solves the problem of porting SIMD code across different processor architectures. When hardware natively supports an instruction set, SIMDe uses the native implementation with no performance penalty. When native support is unavailable, the library provides fallback implementations. This approach allows developers to write code using a single SIMD intrinsic API that works across x86, ARM, PowerPC, and other architectures, with the library automatically selecting the best available implementation at compile time.

Developers should choose SIMDe when porting performance-critical code to multiple architectures without rewriting for each target. It suits projects that need to support both x86 and ARM, or that require testing SIMD code for instruction sets not available on the development machine. The library's comprehensive coverage of instruction set functionality distinguishes it from abstraction layers that limit themselves to common denominators. Developers can keep SSE, AVX, and NEON implementations side-by-side in the same codebase, gradually optimizing performance-critical sections for each architecture while maintaining portability through SIMDe's fallbacks.

The project maintains active development with regular additions to its instruction set coverage. Implementation strategies include accelerated paths using cross-ISA intrinsics, compiler-specific vector extensions and built-ins, and compiler auto-vectorization hints via OpenMP, Cilk Plus, and GCC or Clang pragmas. The project provides an online testing environment through Compiler Explorer integration.