.. /index

pulp

pulp

pulp provides portable SIMD abstractions for stable Rust with built-in runtime CPU feature detection and dispatch. A single binary runs optimally on SSE4.2, AVX2, AVX-512, and NEON without compile-time target selection.

Why pulp over std::simd

std::simd remains nightly-only with stabilization blocked by API design issues. pulp works on stable Rust today and handles the runtime dispatch that std::simd would still require separately. For simpler use cases with fixed-width types and no runtime dispatch, wide is a lighter alternative.

The stable SIMD landscape

As of Rust 1.87+, most std::arch SIMD intrinsics are now safe functions, making manual intrinsics more ergonomic. But pulp's value is the dispatch layer — writing one implementation that automatically selects the best instruction set at runtime.

See simd-programming for the broader landscape of SIMD in data structure design — from swiss-table hash maps to simdjson to b-tree node search, SIMD-parallel metadata scanning is the technique that consistently separates the fastest implementations from the rest.

Linked from

Sources