Student research opportunities
Loop Chaining: A new parallel programming abstraction
Project Code: CECS_940
This project is available at the following levels:
CS single semester, Summer Scholar, Masters
Keywords:
parallel programming models, compilers, high performance computing, scientific computing
Supervisor:
Dr Michelle StroutOutline:
We all use loops to program everyday, but loops don't provide enough information to compilers and run-time systems to enable the automatic balancing of parallelism and data locality. Our research group has developed a new programming construct called a loop chain that strings together a series of parallel and/or reduction loops and provides enough data access information to side-step program analysis precision issues. With minor additions to existing code, loop chains are quite common in molecular dynamics simulations, iterative sparse matrix computations, and stencil computations such as those that arise when solving partial differential equations over grids. If you are interested feel free to send email to Dr. Michelle Strout at mstrout@cs.colostate.edu to set up a meeting for more details. Michelle is at ANU from July 23, 2013 through May 31, 2014 for sabbatical.
Goals of this project
For this project, we have a large parameter space of loop chaining scheduling strategies to explore, to understand, and for which to develop autotuners.
Requirements/Prerequisites
Students working on this project should be comfortable programming in C/C++.
Student Gain
This work will most probably lead to a publication. Additionally there are funded PhD positions at Colorado State University for students who excel at this project and whom apply for graduate school at CSU.
Background Literature
See the HIPS workshop paper where we introduce Loop Chaining at my publication web page.



