Українська
Тема 11. Обчислення на графічних процесорах: архітектура GPU, мова CUDA C++ та бібліотека ILGPU для C#
Мета: ознайомитися з архітектурою GPU та моделлю програмування CUDA; навчитися писати ядра CUDA C++ з одно- та двовимірними сітками, керувати пам’яттю хоста й пристрою, використовувати спільну пам’ять, синхронізацію блоку й атомарні операції, коректно вимірювати час подіями CUDA; опанувати бібліотеку ILGPU для обчислень на GPU мовою C# і порівняння продуктивності CPU та GPU з урахуванням пересилань даних.
Зміст лекції
- Архітектура GPU та екосистема CUDA — Архітектура GPU і CPU · Екосистема NVIDIA і CUDA у WSL2
- Модель програмування CUDA C++ — Модель програмування CUDA C++ · Пам’ять хоста й пристрою
- Збирання та базові паралельні шаблони — Збирання проєкту та обробка помилок · Базові паралельні шаблони
- Спільна пам’ять, потоки CUDA і бібліотеки — Спільна пам’ять і синхронізація в блоці · Асинхронне виконання: потоки CUDA і події · Бібліотеки CUDA і профілювання
- ILGPU, порівняння та типові помилки — Бібліотека ILGPU для C# · Порівняння CPU і GPU · Типові помилки