Projects

Optimisation Of Sparse Moses

Project leader: Barry Haddow

Desirable skills for participants: C++

In order to get the sparse feature support in Moses in a state ready for merging back, the dense features need to run no slower in the miramerge branch, and Moses should be able to support thousands, or even millions of sparse features comfortably. The plan of attack will be to do some performance testing and profiling to find where the inefficiencies are and to figure out how to remove these. It is likely that the feature vector is stored and copied far more than necessary (since it's a cheap object in trunk) so we will look at reducing this copying. We will also look at the way thread-safety is implemented for sparse features, and look at the data structures in the feature vector itself. This project may give some insight into general ways of improving performance of Moses.