Show HN: SIMD Viterbi Decoder in Rust

·Hacker News··

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.

Read full article →

Related Articles

Samsung is expected to more than double output of its HBM4 and HBM4E DRAM
giuliomagnifico · Hacker News · 10h ago
What happened to the Snowden archive
EXHades · Hacker News · 5h ago
Qwen Image 2.1
jmillikin · Hacker News · 14h ago
Exfiltrate Your Weights
RohanAdwankar · Hacker News · 1d ago
Android 17 is the first since 3.x to add new APIs without releasing to the AOSP
theanonymousone · Hacker News · 2d ago