Jiahao Li
MIT EECS | Keel Foundation Undergraduate Research and Innovation Scholar
Rhino — The Optimizing Parallel Program Compiler
2017–2018
Electrical Engineering and Computer Science
- Programming Languages and Software Engineering
Charles E. Leiserson
Modern computation applications rely heavily on multicore systems. However today’s compilers are weak at optimizing parallel programs compared to serial ones. One reason for this weakness is a lack of ways to express parallel constructs at the level of the compiler’s intermediate representation (IR) and consequently a lack of knowledge of the program’s parallel structure at the compiler level. Previous solutions including Tapir [4] have addressed the lack of IR-level expressiveness but do not allow the use of common parallel optimization patterns. Rhino — the proposed SuperUROP project — builds on top of the compiler-level parallel structure knowledge afforded by Tapir and implements automatic parallel code optimizations in a language-agnostic and framework-agnostic way.
I am interested in participating in this SuperUROP project because I love the opportunity to apply machine learning and natural language processing to a practical objective of making it easier for people to make better nutritional choices. After learning about the theoretical aspect of machine learning in Artificial Intelligence (6.034), I appreciate this opportunity to see how the models can be applied to a real-life situation.