Introduction to C++ Coroutines Through a Thread Scheduling Demonstration - Dian-Lun Lin CppNow 2023

Описание к видео Introduction to C++ Coroutines Through a Thread Scheduling Demonstration - Dian-Lun Lin CppNow 2023

https://www.cppnow.org​
  / cppnow  
---

An Introduction to C++ Coroutines Through a Thread Scheduling Demonstration - Dian-Lun Lin - CppNow 2023
Slides: https://github.com/boostcon
---

C++20 has finally introduced coroutines, a feature that has been eagerly awaited for years, and has already been present in several popular programming languages like Go and Python. C++ coroutines provide a mechanism for writing asynchronous, non-blocking code. A coroutine is a type of function that can be paused and resumed multiple times, allowing for multiple flows of execution to exist within a single thread. This helps to simplify asynchronous programming by providing a way to write code that appears to run concurrently, without the need for multiple threads or locks. This can also lead to more readable and maintainable code, as well as improved performance, compared to traditional approaches to asynchronous programming.

While the C++ coroutine feature is powerful, understanding how to write coroutines in C++ can be extremely difficult due to the numerous customization options available. In this session, I will go through the fundamental components of C++ coroutines and explain how coroutines can improve the performance of a CPU-GPU heterogeneous workload. Specifically, by using coroutines, we can enable efficient multitasking between CPU and GPU tasks, avoiding blocking wait on CPU threads for GPU tasks to finish. I will also talk about how to design a lightweight coroutine programming model and support it with a scheduling algorithm. Finally, I will demonstrate how our solution can improve the performance of microbenchmarks. Results will be open-source and available on GitHub.
---

Dian-Lun Lin

Dian-Lun Lin (https://dian-lun-lin.github.io/) is a fourth-year Ph.D. student at the Department of Electrical and Computer Engineering at the University of Utah. During Dian-Lun's recent three-year PhD studies, he focuses on parallel computing and GPU computing using C++ and CUDA. Dian-Lun was a presenter at the CppCon 2021. He also gave a talk at Nvidia Research and several conferences such as ICPP and Euro-Par. He received second place in ACM/PACT Student Research Competition (SRC 2022). He also received the champion award in a research competition (IEEE HPEC Challenge 2020).
---

Video Sponsors: think-cell and Bloomberg Engineering
Audience Audio Sponsors: Innoplex and Maryland Research Institute
---

Videos Filmed & Edited By Bash Films: https://bashfilms.com/
YouTube Channel Managed & Optimized By Digital Medium Ltd: https://events.digital-medium.co.uk
---

CppNow 2024
https://www.cppnow.org​
  / cppnow  
---

#boost #cppprogramming #cpp

Комментарии

Информация по комментариям в разработке