Nicheloom

Market intelligence for builders — see what's gaining traction before it's crowded.

SIMD Viterbi Decoder in Rust

Details

External ID
49176212
Source
HN
Company
—
Product
SIMD Viterbi Decoder in Rust
Website domain
github.com
Launched
Aug. 4, 2026
Cohort
—
Upvotes
64
Upvotes percentile
0.885752688172043
Tags
—
Fetched at
Sept. 10, 2026, 5:32 a.m.
Updated at
Sept. 10, 2026, 5:32 a.m.

Description

I wrote libcorrect in C in 2016 and wanted to revisit it in Rust. Instead of doing just a direct conversion, I went down the rabbit hole of making Rust's std::simd work for me. I ended up with a templated, generic Viterbi decoder for convolutional codes that dispatches the decode at runtime depending on which instruction sets are available. For small rates and orders, the entire decode lives in registers. Larger codes work through memory but take advantage of some acceleration structures.I also spent some time building a tool to find optimal (max d_free) conv codes for a given rate and order. Of course, there are better mechanisms available today, but I'm happy to talk through anything I learned in the process.

Enrichment

Theme
lightweight and on-device AI runtimes
Vertical
Horizontal
Function
Dev tools
Audience
Developer
AI stance
Not AI
Project type
Hobby / open-source project
Normalized one-liner
simd viterbi decoder library
Manually corrected
False

Could you build this?

No Developing a generic SIMD-accelerated Viterbi decoder in Rust requires advanced digital communications domain knowledge, low-level DSP mathematics, and manual vectorized assembly/intrinsics programming.

What it would actually take: Written in modern Rust using std::simd / target-specific vector intrinsics (AVX-512, NEON) implementing the Add-Compare-Select (ACS) loop of the Viterbi algorithm for convolutional error correction. The hard part is eliminating branch mispredictions, maintaining optimal register allocation for trellis metrics, and ensuring numerical stability and bit-exact decoding across multiple CPU architectures.

Discussion

11 comments analyzed.

Competitors mentioned: libfec, libcorrect, goestools

Concerns raised: Rust adoption barrier for teams unfamiliar with the language, Potential performance trade-offs of Rust vs C++

Feature requests: LDPC codes implementation, Turbo codes implementation

Competitors

Other products that read as similar to this one — 112 launches clear the similarity bar, closest 8 shown.

Attention rank: #21 of 113 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).

Launched 274 days after the earliest competitor.

Other launches for this product

Same idea, different domain

Nobody's really built a dev tools tool for Sales yet.