Seminars & Colloquia
"PetaBricks: A Language and Compiler Based on Autotuning"
Monday October 17, 2011 04:00 PM
Location: 3211, EB2 NCSU Centennial Campus
(Visitor parking instructions)
This talk is part of the Triangle Computer Science Distinguished Lecturer Series
The era of exponential improvement of processor performance without any programmer effort is over. Multicores put the onus of taking advantage of Moore's law on the programmers. While architects have known how to build parallel processors for over a half a century, programmers' inability to create scalable parallel programs has been the main stumbling block in mainstream use of parallelism. In the first part of the talk I will discuss the path to multicores, address why scalable parallel programming has been such a difficult problem to solve and speculate on our ability to crack it this time around.
Next I will discuss, the Petabricks Project, which attempts to alleviate part of this heavy burden we are placing on programmers. For a multicore application to keep-up with the exponential growth of Moore's Law requires the algorithms in the application to efficiently scale from small to large numbers of cores. It is observed that for a given problem, different algorithms provide the best solution at different levels of parallelism. However, currently there is no simple way for the programmer to express or the compiler to take advantage of all the available algorithmic choices for a problem. PetaBricks is a new implicitly parallel language and compiler where having multiple implementations of multiple algorithms to solve a problem is the natural way of programming. The PetaBricks compiler autotunes programs by making the best fine-grained algorithmic choices. Choices also include different automatic parallelization techniques, data distributions, algorithmic parameters, transformations, and blocking.
Saman P. Amarasinghe is a Professor in the Department of Electrical Engineering and Computer Science at Massachusetts Institute of Technology and a member of the Computer Science and Artificial Intelligence Laboratory (CSAIL). Currently he leads the Commit compiler group. Under Saman's guidance, the Commit group developed the PetaBricks language and compiler, StreamIt language and compiler for the streaming domain, Superword Level Parallelism for multimedia extensions, DynamoRIO dynamic instrumentation system, Program Shepherding to protect programs against external attacks, and the Kendo deterministic execution system. His research interests are in discovering novel approaches to improve the performance of modern computer systems and make them more secure without unduly increasing the complexity faced by either the end users, application developers, compiler writers, or computer architects. Saman was also the founder of Determina Corporation, which productized Program Shepherding. Saman received his BS in Electrical Engineering and Computer Science from Cornell University in 1988, and his MSEE and Ph.D from Stanford University in 1990 and 1997, respectively.
Host: Frank Mueller, NCSU
To access the video of this talk, click here.