In my current position, I work to optimize and parallelize codes that deal with genomic data, e.g., DNA, RNA, proteins, etc.
Parallelize loops with Intel® Threading Building Blocks using Intel® C++ Compiler for lambda expressions.
If printf or fprintf functions cause transaction aborts, use Intel® Processor Trace as a work-around.
Matrix multiplication (MM) of two matrices is one of the most fundamental operations in linear algebra. The algorithm for MM is very simple, it could be easily implemented in any programming language. This paper shows that performance significantly improves when different optimization techniques are applied.
Get a background on vectorization and learn different techniques to evaluate its effectiveness.
Download PDF (1.5 MB)