Carnegie Mellon University
Browse

Computer Generation of Efficient Software Viterbi Decoders

Download (575.2 kB)
journal contribution
posted on 2010-01-01, 00:00 authored by Frederic de Mesmay, Srinivas Chellappa, Franz Franchetti, Markus Puschel

This paper presents a program generator for fast software Viterbi decoders for arbitrary convolutional codes. The input to the generator is a specification of the code and a single-instruction multiple-data (SIMD) vector length. The output is an optimized C implementation of the decoder that uses explicit Intel SSE vector instructions. At the heart of the generator is a small domain-specific language called VL to express the structure of the forward pass. Vectorization is done by rewriting VL expressions, which a compiler then translates into actual code in addition to performing further optimizations specific to the vector instruction set. Benchmarks show that the generated decoders match the performance of available expert hand-tuned implementations, while spanning the entire space of convolutional codes. An online interface to the generator is provided at www.spiral.net.

History

Publisher Statement

The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-642-11515-8_26

Date

2010-01-01