Invited Talk by Prof. Sanjay Rajopadhye: 'Simplifying Reductions'
Title of the talk: Simplifying Reductions Speaker:Prof. Sanjay Rajopadhye Time: August 3 (Mon) at 11:15 a.m Venue: Room CL#205 Host Faculty: Dr. Ramakrishna Upadrasta
The polyhedral model is a mathematical formalism for representing, analyzing, and transforming a precisely defined class of compute- and data-intensive programs or parts of programs called affine control loops (ACLs). The model is used as the basis for automatic parallelization of ACLs, especially with the advent of multi- and many-core processors. In this talk I will first describe the history of the model, including the early work on synthesis of systolic arrays, and the seminal papers of Feautrier that laid out a vision of automatic parallelization. I will then discuss what happened when the "rubber met the road," and why, despite nearly thirty years of active research and development, we remain far from this vision. I will describe recent progress towards it, and conclude with a description of challenges that remain.
Brief Bio of the Speaker:
Sanjay Rajopadhye received his Bachelor of Technology (honours) in Electrical Engineering from the Indian Institute of Technology, Kharagpur, in 1980, and the Ph.D. in Computer Science from the University of Utah in 1986. He held academic positions at the University of Oregon, Oregon State University, and IRISA, Rennes. He is currently professor in the Computer Science (CS) and Electrical and Computer Engineering (ECE) departments at Colorado State University.
His research interests span VLSI, architecture, embedded systems, languages, algorithms and compilation. He is one of the inventors of the polyhedral model -- a mathematical formalism for reasoning about massively parallel, regular, compute- and data-intensive computations. It was developed to address the design of early era "hardware accelerators" called systolic arrays, and is now used as the foundations for automatic parallelization of affine control loops in most productions compilers. His Ph.D. dissertation made three key contributions to the foundations of the polyhedral model: scheduling, locality, and closure. Rajopadhye's work is accompanied by widely distributed implementations that influence the community: the library Polylib was developed by Wilde in his MS thesis; LoopGen, the open source implementation of the Rajopadhye-Quilleré-Wilde algorithm to scan unions of polyhedra provided the basis of most polyhedral generators. With his students, he addressed the problems of parallelizing transformation, code generation, memory mapping, and tiling of polyhedral programs. His research group develops the AlphaZ infrastructure, used for exploring polyhedral analyses and transformations of equational programs for multi- and many-core platforms.