Research Project Title:
Rhino - The Optimizing Parallel Program Compiler
abstract: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  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.”