home · mobile · calendar · colloquia · 2008-2009 · 

Colloquium - Gupta

Tools for High Performance Programmers
Colorado State University

We will describe and demonstrate a tool that produces optimized programs starting with specifications in "scientific notation" such as mathematical equations. Formal methods are used to check the specification for completeness and consistency, as a result, the generated code is correct-by-construction, e.g., it is guaranteed to be free of out-of-bounds accesses. Typically weeks, or a few months are spent in the performance tuning of scientific kernels exploring design choices such as memory alignments, iteration order and tile shape and size selection. We will demonstrate how our high level tool provides inexpensive design space exploration through one or two commands for program transformations. Our automation of loop fusion and fission also provides performance gains over hand-optimization (which is limited by the users' capacity for exhausting all possibilities). As a case study, we will present performance gains of using our tool over hand tuning of some stencil codes that arise in Atmospheric Science (shallow water models). We generate MPI to parallelize across "units" and seek multiple acceleration techniques such as CUDA, Cell SDK, OpenMP, etc. within a unit.

Gautam Gupta has been a student of the Polyhedral Model since 2000. He has used its mathematical foundations to show that the algorithmic complexity of multi-dimensional reductions can be automatically and optimally decreased. Later, he proposed the Z-Polyhedral Model that allows the specification of computations over Presburger sets, their mathematical closure under program transformations, equivalence and code generation. Since 2007, he is building tools for assisting parallel programmers.

This talk is sponsored by the National Center for Atmospheric Research Computational & Information Systems Laboratory and will be held in the Main Seminar Room at the Mesa Lab.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:13)