|Special Guest Lectures|
|An Optimizing Source-to-Source Translator for Parallel Programs|
|Hans Moritsch, University of Innsbruck, Austria|
|Johnston Hall 338
November 19, 2010 - 10:00 am
Exploiting the hardware capabilities of multicore architectures by means of specifically optimized application programs is a major requirement today. The INSIEME source-to-source compilation system targets the automatic performance optimization of parallel programs implemented on top of MPI and OpenMP, de facto standards for use on distributed and shared memory systems, and the upcoming OpenCL framework for heterogeneous platforms including GPUs. Performance improvements of parallel programs can be achieved through static program transformations and/or specifying "good" values for tuning parameters of application programs and libraries at runtime. Exploiting the diversity and heterogeneity of multicore architecture creates intractably complex optimization problems. The statistical machine learning approach empirically explores the optimization space and learns the relationship between optimizations applied and the corresponding performance outcome. In the training phase, for code regions belonging to a number of training programs, representative static and dynamic properties are identified through static analysis and automated experiments. A machine thus trained can map code regions of arbitrary new programs based on their properties onto the optimiziation space and find profitable transformation sequences and tuning parameters. The talk presents the architecture and the current implementation status of the INSIEME system.
Hans W. Moritsch has been studying Computer Science at the Vienna University of Technology. After working at the Siemens Microelectronics Design Center in Villach, Austria, he joined the Institute for Software Technology and Parallel Systems at the University of Vienna in 1989, where he was a engaged in the implementation of the Vienna Fortran Compilation System. In 1995 he joined the European Centre for Parallel Computing at Vienna. Within the Special Research Program Aurora (Advanced Models, Applications and Software Systems for High Performance Computing) starting at 1997, he was responsible for the parallelization of financial optimization models. In 2007 he joined the Compilers and Languages Group of the Institute of Computer Languages at the Vienna University of Technology. Since 2008, as a member of the Distributed and Parallel Systems Group of the Institute of Computer Science at the University of Innsbruck, he is working on optimizers for parallel programs.