Parallel Programming Languages, Libraries, Models and Notations
TimeSunday, November 12th1:30pm - 5pm
DescriptionLegion is a programming model designed for portable, scalable and high performance applications on contemporary and future supercomputers. In this tutorial, participants will be introduced to Regent, a high-level programming language for the Legion programming model. The tutorial will be organized around teaching Regent “from the ground up”, beginning with the motivation for task-based programming, simple examples and hands-on exercises, and working up to advanced programming concepts. The examples and exercises using Regent will allow participants to progress quickly from being introduced to the basics of task-based programming to writing parts of and thoroughly understanding a non-trivial, self-contained Regent application at the end of the tutorial. The cloud-based exercises will allow participants to run experiments on a cluster of multicore machines with GPUs. Tools for visualizing the functional behavior and performance of Regent applications will show participants the effect of different choices in mapping tasks and data onto complex machines. Overall, the tutorial will provide participants with an overview of task-based programming and performance tuning, as well as a starting point for developing their own task-based applications.