  We present an optimized weighted finite-state transducer (WFST) decoder
capable of online streaming and offline batch processing of audio using
Graphics Processing Units (GPUs). The decoder is efficient in memory
utilization, input/output (I/O) bandwidth, and uses a novel Viterbi
implementation designed to maximize parallelism. The reduced memory footprint
allows the decoder to process significantly larger graphs than previously
possible, while optimizing I/O increases the number of simultaneous streams
supported. GPU preprocessing of lattice segments enables intermediate lattice
results to be returned to the requestor during streaming inference.
Collectively, the proposed algorithm yields up to a 240x speedup over single
core CPU decoding, and up to 40x faster decoding than the current
state-of-the-art GPU decoder, while returning equivalent results. This decoder
design enables deployment of production-grade ASR models on a large spectrum of
systems, ranging from large data center servers to low-power edge devices.
