5.4 The HMM Phase
The HMM related data structure used in Sphinx consists of two components, the actual Markov model data and lexical tree information attached to each node. While the data layout itself seems to be well suited for a Dcache, separating out the lexical and Markov model information could possibly lead to better cache behavior. Since such a change would entail major restructuring of the application, it was not studied. HMM evaluation can also benefit from from special-purpose acceleration. To avoid having to rewrite Sphinx entirely, the HMM related data was transcribed to a new database and the HMM routine was accelerated in isolation. The results may be seen in Chapter 10.