Evaluation of a hidden Markov model implementation on KNL
The cnF2freq codebase ( https://github.com/cnettel/cnF2freq ) is used to infer genotypes and haplotypes using iterative training of hidden Markov models. Each individual is a natural separate thread. The total dataset is limited, and many parameters are shared between at least some of the threads (in a read-only manner, updated between iterations). The computation of the state-vector consists of medium-length vector operations (e.g. on the range of 64 element-wise multiplications) as well as custom logic. This project will investigate how well ICC will convert the existing codebase to KNL code, given that some aspects seem suitable - and study some attempts to rearrange the algorithm to better utilize the specific memory and core properties.