Fetching the latest programs, projects, and workspace data.
Promoting Polyhedral Compilation
Showing 4 of 4 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Sahil Yerawar
<p>Chapel is an emerging parallel programming language developed with the aim of providing better performance in High-Performance Computing as well as accessibility to the newcomer programmers in order to provide a relatively smoother learning curve in Parallel Computing.</p> <p>Polly, a polyhedral compilation based optimization tool, performs data-locality based optimizations and automatic parallelization of LLVM IR represented in Polyhedral format. The resultant polyhedra are exposed to a number of loop optimizations like tiling, vectorization and strip mining.</p> <p>I propose to integrate Polly’s Optimization passes in Chapel. In today’s world, it is well known that High-Performance Computing involves nested loops as one of their most compute intensive parts which are efficiently handled by Polly-based optimizations, hereby making HPC more productive and going towards more compute-intensive problems which are currently unfeasible.</p>
Mentors: Student: Andrei Lascu
<p>Recently, metamorphic testing techniques have been applied with success in various fields to find domain-specific bugs, as presented in <a href="http://ieeexplore.ieee.org/document/7422146/" target="_blank">this survey</a>. One field yet to be explored is that of programming libraries, which comes with its own set of challenges. The existance of multiple libraries means we have a rich set of equivalence relations we can employ for metamorphic relations, allowing extensive testing using this approach. This project aims to explore the suitability of applying metamorphic testing to these math libraries and evaluate their reliability and correctness.</p>
Mentors: Student: Pankaj Kukreja
<p>Currently, Polly’s performance is measured on PolyBench benchmark. PolyBench does not cover all of the possible kernels so we may miss out some kernels where a particular transformation does not perform well. This project will help to get new benchmarks for measuring Polly’s performance benefits. The benchmarks will be added to LLVM test suite.</p>
Mentors: Student: Nicolas Bonfante
<p>Polly is a high-level loop and data-locality optimizer and optimization infrastructure for LLVM based on the polyhedral model. This project aims to implement a mechanism of static expansion in Polly in oder to parallelize loop that can not be directly parallelized because of data dependencies.</p>