COOKIES: By using this website you agree that we can place Google Analytics Cookies on your device for performance monitoring. |
University of Cambridge > Talks.cam > Computer Laboratory Systems Research Group Seminar > The Lift Project: Performance Portable GPU Code generation via Rewrite Rules
The Lift Project: Performance Portable GPU Code generation via Rewrite RulesAdd to your list(s) Download to your calendar using vCal
If you have a question about this talk, please contact Liang Wang. Computers have become increasingly complex with the emergence of heterogeneous hardware combining multicore CPUs and GPUs. These parallel systems exhibit tremendous computational power at the cost of increased programming effort resulting in a tension between performance and code portability. Typically, code is either tuned in a low-level imperative language using hardware-specific optimizations to achieve maximum performance or is written in a high-level, possibly functional, language to achieve portability at the expense of performance. In this talk, I will present our novel approach Lift which aims for combining high-level programming, code portability, and high-performance. Starting from a high-level functional program we apply semantic preserving rewrite rules to transform it into a low-level functional representation, close to the OpenCL programming model, from which eventually OpenCL code is generated. Our rewrite rules define a space of possible implementations which we automatically explore for generating hardware-specific OpenCL implementations. I will discuss the design and implementation of the Lift language and compiler showing the advantages of a functional internal compiler representation for high-performance code generation. I will show experimental results of the high-performance OpenCL code generated with Lift. Our experiments show how hardware specific implementations are automatically derived from simple functional high-level algorithmic expressions offering performance on a par with highly tuned code for multicore CPUs and GPUs written by experts. Bio: Michel Steuwer is a Postdoctoral Research Associate in the CArD group at the University of Edinburgh. He received his PhD in 2015 from the University of Muenster in Germany. His research interests span all areas of parallel programming from languages and programming models to their implementation in compilers and libraries as well as their execution at runtime. Recently, his research has particularly focused on structured parallel programming models, heterogeneous and GPU computing, and novel compilation techniques. He is the principle designer of the skeleton library SkelCL (github.com/skelcl) and the Lift language and compiler (github.com/lift-project). This talk is part of the Computer Laboratory Systems Research Group Seminar series. This talk is included in these lists:
Note that ex-directory lists are not shown. |
Other listsCambPlants Hub Building Bridges in Medical Science Conference ‘Geographies of Radical Difference’ Type the title of a new list here 'Anglican Eirenicon' by Canon John Fitch Interdisciplinary Design: Debates and SeminarsOther talksTranscription by influenza virus RNA polymerase: molecular mechanisms, cellular aspects and inhibition Saving the People of the Forest: one chocolate bar and one nebulizer treatment at a time Kiwi Scientific Acceleration on FPGA HE@Cam Seminar: Anna Heath - Value of Sample Information as a Tool for Clinical Trial Design CPGJ Academic Seminar: "The teaching professions in the context of globalisation: A systematic literature review" Statistical Learning Theory |