1. Speculative Task-Parallelization
The ParaSol project funded by the Engineering and Physical Sciences Research Council (EPSRC) UK, seeks to develop compiler analyses and transformations to extract parallelism for future processors. I successfully implemented optimization techniques (in C++) to take advantage of and improve instruction-level parallelism for efficient speculative execution of application codes. The techniques have been incorporated into the ParaSol compiler, developed using the industry standard LLVM infrastructure.
2. Software Prefetching
Implemented a compiler transformation pass (in LLVM) to automatically extract helper thread for prefetching data in a Simultaneous Multi-threading (SMT) execution context. Project on GitHub.
3. Automatic Parallelization of Irregular Computations
Implemented an Analysis technique and extended the related Dependence Test for compile-time automatic parallelization of Subscripted Subscript patterns using the Cetus. Source to Source translator which translates from C to C annoted with OpenMP. Details in the publications listed above. Project Details.