Any views expressed within media held on this service are those of the contributors, should not be taken as approved or endorsed by the University, and do not necessarily reflect the views of the University in respect of any particular issue.

【BAYES COFFEE HOUSE TECH TALK SERIES】Descend: A Safe GPU Systems Programming Language

Speaker: Prof. Michel Steuwer

                    TU Berlin

When: 08/06(Tues) 11:00-12:00 (UTC+01:00)London

Where: 4F Bayes Coffee House, Bayes Center

External: https://app.huawei.com/wmeeting/join/94878201/hXmKxmhXq1k6Auwg1Nf8yVCSkzE9DmjeE

Meeting ID: 94878201

Passcode: 607542

Registration: https://www.smartsurvey.co.uk/s/D8MKWE/

 

Abstract: Graphics Processing Units (GPU) offer tremendous computational power by following a throughput oriented paradigm where many thousand computational units operate in parallel. Programming such massively parallel hardware is challenging. Programmers must correctly and efficiently coordinate thousands of threads and their accesses to various shared memory spaces. Existing mainstream GPU programming languages, such as CUDA and OpenCL, are based on C/C++ inheriting their fundamentally unsafe ways to access memory via raw pointers. This facilitates easy to make, but hard to detect bugs, such as data races and deadlocks.

In this talk, I present Descend: a safe GPU programming language which has recently been introduced in our PLDI 2024 paper. In contrast to prior safe high-level GPU programming approaches, Descend is an imperative GPU systems programming language in the spirit of Rust, enforcing safe CPU and GPU memory management in the type system by tracking Ownership and Lifetimes. Descend introduces a new holistic GPU programming model where computations are hierarchically scheduled over the GPU’s execution resources: grid, blocks, warps, and threads. Descend’s extended Borrow checking ensures that execution resources safely access memory regions without data races. For this, we introduced views describing safe parallel access patterns of memory regions, as well as atomic variables. For memory accesses that can’t be checked by our type system, users can annotate limited code sections as unsafe.

I will provide intuitions and insights into Descend and how it achieves data race freedom while still achieving CUDA-level performance on real-world GPU programs. Furthermore, will I discuss future directions of research towards a family of Rust-inspired programming languages for accelerators and how we can combine them to program complex heterogeneous high-performance systems safely.

Bio: Michel Steuwer is a professor at Technische Universität Berlin, chairing the ComPL (Compilers and Programming Languages) group.

Before, he held academic positions at the University of Edinburgh and Glasgow.

His research interests span domain-specific compilers and programming languages for modern parallel computer hardware. In compilers, he is internationally known for his work on Lift and Rise, functional data parallel array programming languages, which are optimized using rewrite techniques achieving high performance on GPUs. In rewrite-based optimizations, his work on Elevate and Guided Equality Saturation, gives performance engineers high degrees of control when optimizing programs. In programming languages, with Descend, he is researching novel safe imperative programming approaches for parallel hardware such as GPUs.

His work has influenced compiler frameworks in industry, specifically MLIR, and has been widely recognized in academia with best papers awards, including at CGO 2018, most cited papers at ICFP 2015 and CGO 2017, and a Communication of the ACM Research Highlight in 2023.

css.php

Report this page

To report inappropriate content on this page, please use the form below. Upon receiving your report, we will be in touch as per the Take Down Policy of the service.

Please note that personal data collected through this form is used and stored for the purposes of processing this report and communication with you.

If you are unable to report a concern about content via this form please contact the Service Owner.

Please enter an email address you wish to be contacted on. Please describe the unacceptable content in sufficient detail to allow us to locate it, and why you consider it to be unacceptable.
By submitting this report, you accept that it is accurate and that fraudulent or nuisance complaints may result in action by the University.

  Cancel