SphinxCMU
Home Project Description Documentation Source Files Executables\Demo Links

 

Optimizing SphinxCMU – Multithreading, SIMD and Microarchitectural Considerations

 

Adeen Flinker (sadeen@t2.technion.ac.il)

Ruth Bernstein (sruthb@t2.technion.ac.il)

Supervisor – Zvika Guz (zguz@tx.technion.ac.il)

Performance Tuning Projects

Technion - Department of Electrical Engineering - Software Lab

May 2005

 

 

Over the course of this project, the SphinxCMU speech recognition engine was optimized using several technologies.

bulletMultithreading support was implemented using a data composition strategy (both OpenMP and Windows API were used and assessed separately).
bulletSSE2 instructions (SIMD) were introduced in critical code sections.
bulletVarious diagnostic tools were used in order to gather optimization information and subsequent code changes were incorporated

The final code showed a 30% speed up over the original code.