Практикум под руководством инструктора
Основы ускоренных вычислений с CUDA Python

На этом семинаре вы научитесь использовать основные инструменты и методы работы приложений с ускорением на GPU на Python при помощи CUDA® и компилятора Numba на GPU. Вы проработаете десятки практических упражнений по кодированию, а в конце обучения создадите новую задачу по ускорению полностью функциональной программы, изначально разработанной для CPU, для еще большего прироста производительности. По окончании практикума у вас появятся дополнительные материалы, которые помогут вам самостоятельно создавать новые приложения с ускорением на GPU.

 

Цели обучения


На этом практикуме вам предстоит:
  • Создать универсальные функции NumPy (ufuncs) с ускорением на GPU и несколькими строками кода
  • Настроить распараллеливание кода с использованием иерархии потоков CUDA
  • Создать пользовательские ядра CUDA для максимальной производительности и гибкости
  • Использовать объединение запросов и общую память для увеличения пропускной способности ядер CUDA
  • Создавать случайные числа на GPU
  • Узнать о методах управления промежуточной памятью GPU

Скачать описание практикума (PDF, 298 KБ)

Краткое описание практикума

Введение
(15 мин)
  • Знакомство с инструктором
  • Создание аккаунта на courses.nvidia.com/join
Введение в CUDA Python с Numba
(120 мин)
  • Начните работать с компилятором Numba и программированием CUDA на Python
  • Используйте декораторы Numba для ускорения на GPU числовых функций Python
  • Оптимизируйте передачу памяти от хоста к устройству и от устройства к хосту
Перерыв (60 мин)
Пользовательские ядра CUDA в Python с Numba
(120 мин)
  • Изучите иерархию параллельных потоков CUDA и как расширить возможности параллельной программы.
  • Запустите массивно-параллельные пользовательские ядра CUDA на GPU
  • Используйте атомные операции CUDA, чтобы избежать ошибку состояния гонки во время параллельного выполнения
Перерыв (15 мин)
RNG, многомерные сетки и общая память для CUDA Python с Numba
(120 мин)
  • Используйте генерацию случайных чисел (RNG) xoroshiro128+ для поддержки методов Монте-Карло с ускорением на GPU
  • Научитесь создавать многомерные сетки и работать параллельно на 2D-матрицах
  • Используйте общую память на устройстве для объединения запросов при перестройке 2D-матриц
Окончательный анализ
(15 мин)
  • Еще раз ознакомьтесь с основными выводами и ответьте на вопросы
  • Завершите тестирование и получите сертификат
  • Пройдите опрос
 

Информация о практикуме

Продолжительность: 8 часов

Цена: для уточнения стоимости свяжитесь с нами.

Необходимые требования:

  • Базовые знания Python, в том числе типов переменных, циклов, условных операторов, функций и операций с массивами
  • Знание NumPy, в том числе применения ndarrays и ufuncs
  • Знание программирования CUDA необязательно.

Технологии: Numba, NumPy

Сертификат: После успешного завершения тестирования участники получат сертификат NVIDIA DLI для подтверждения своей квалификации и дальнейшего карьерного роста.

Аппаратные требования: ПК или ноутбук с поддержкой последней версии Chrome или Firefox. Каждому участнику будет предоставлен доступ к полностью настроенному облачному серверу с ускорением на GPU.

Языки: английский, упрощенный китайский, традиционный китайский

У вас возникли вопросы?