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: Meeting Room 1 at Huawei Edinburgh Research Centre

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.

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