Loo.py: From Fortran to performance via transformation and substitution rules
A large amount of numerically-oriented code is written and is being written in legacy languages. Much of this code could, in principle, make good use of data-parallel throughput-oriented computer architectures. Loo.py, a transformation-based programming system targeted at GPUs and general data-parallel architectures, provides a mechanism for user-controlled transformation of array programs. This transformation capability is designed to not just apply to programs written specifically for Loo.py, but also those imported from other languages such as Fortran. It eases the trade-off between achieving high performance, portability, and programmability by allowing the user to apply a large and growing family of transformations to an input program. These transformations are expressed in and used from Python and may be applied from a variety of settings, including a pragma-like manner from other languages.
Andreas Klöckner is an assistant professor in the scientific computing group within the Department of Computer Science at the University of Illinois at Urbana-Champaign. He works on high-order numerical methods for the simulation of wave problems as well as issues in high-performance scientific computing that relate to bringing these methods to life on large-scale parallel computers. In support of his research, Dr. Klöckner has released numerous scientific software packages. He obtained his PhD degree at the Division of Applied Mathematics at Brown University with Jan Hesthaven, working on large-scale finite element simulations of wave problems in the time domain. From Brown, Klöckner moved to the Courant Institute of Mathematical Sciences at New York University as a Courant Instructor, where he worked on integral equation methods and fast algorithms within Leslie Greengard’s group.
Sat 13 Jun
|09:00 - 10:00|
David PaduaUniversity of Illinois at Urbana-Champaign
|10:00 - 10:30|
Andreas KloecknerUniversity of Illinois at Urbana-Champaign
|10:30 - 11:00|