Приложения CUDA® на C++ требуют значительных вычислительных ресурсов и могут быть ускорены с помощью нескольких GPU в области высокопроизводительных вычислений, информатики, биоинформатики и глубокого обучения для увеличения пропускной способности и/или уменьшения общего времени выполнения. В сочетании с одновременным перекрытием вычислений и передачи данных в памяти вычисления можно масштабировать на несколько GPU без увеличения стоимости передачи данных в памяти. Для компаний с несколькими GPU-серверами, как в облаке, так и в системах NVIDIA DGX, эти методы позволяют достичь пиковой производительности приложений с GPU-ускорением. И важно внедрить эти технологии с одним узлом и несколькими GPU перед масштабированием приложений на несколько узлов. 

Этот практикум рассказывает о том, как писать приложения CUDA на C++, которые эффективно и правильно используют все доступные GPU в одном узле, значительно повышая производительность ваших приложений и делая экономичным использование систем с несколькими GPU.

 

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


На этом практикуме вам предстоит:
  • Использовать параллельные потоки CUDA для перекрытия передачи памяти с вычислениями на GPU
  • Использовать все доступные GPU на одном узле для масштабирования рабочих нагрузок на всех доступных GPU
  • Комбинировать использование копирования/вычислений с несколькими GPU
  • Положитесь на визуальный профилировщик NVIDIA Nsight Systems, чтобы увидеть улучшения и влияние техник, рассмотренных в рамках практикума

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

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

Введение
(15 мин)
  • Знакомство с инструктором
  • Создание аккаунта на courses.nvidia.com/join
Использование JupyterLab
(15 мин)
  • Ознакомьтесь со интерактивной средой JupyterLab с ускорением на GPU
Обзор приложений
(15 мин)
  • Ориентируйтесь с помощью одного приложения CUDA на C++на GPU, которое станет отправной точкой для курса
  • Наблюдайте за текущей производительностью одного приложения CUDA на C++ на GPUс помощью Nsight Systems
Введение в CUDA Streams
(90 мин)
  • Узнайте правила, регулирующие поведение одновременных потоков CUDA
  • Используйте несколько потоков CUDA для одновременной передачи памяти от хоста к устройству и от устройства к хосту
  • Используйте несколько потоков CUDA для запуска ядер GPU
  • Наблюдайте за несколькими потоками на временной шкале визуального профилировщика Nsight Systems
Перерыв (60 мин)
Копирование/вычисление перекрытия с потоками CUDA
(90 мин)
  • Ознакомьтесь с ключевыми концепциями эффективного выполнения копирования/вычислений перекрытий
  • Изучите надежные стратегии индексирования для гибкого использования перекрытия копирования/вычисления в приложениях
  • Преобразуйте single-GPU CUDA на C++ для выполнения копирования/вычисления перекрытия
  • Ознакомьтесь с временной шкалой визуального профилировщика Nsight Systems для копирования/вычислений
Несколько GPU с CUDA C++
(60 мин)
  • Узнайте о ключевых концепциях эффективного использования нескольких GPU на одном узле с CUDA C++.
  • Изучите надежные стратегии индексирования для гибкого использования нескольких GPU в приложениях.
  • Преобразуйте одно приложение CUDA C++ на GPU для использования нескольких GPU
  • Ознакомьтесь с информацией об использовании нескольких GPU в визуальном профилировщике Nsight Systems
Перерыв (15 мин)
Копирование/вычисление перекрытия с помощью нескольких GPU
(60 мин)
  • Узнайте о ключевых концепциях эффективного выполнения копирования/вычисления перекрытия на нескольких GPU
  • Изучите стратегии индексирования для гибкого использования копирования/вычисления перекрытия на нескольких GPU
  • Преобразуйте приложения CUDA C++ с одним GPU для выполнения копирования/вычисления перекрытия на нескольких GPU
  • Наблюдайте за ростом производительности при копировании/вычислении перекрытий на нескольких GPU
  • Ознакомьтесь с временной шкалой визуального профилировщика Nsight Systems при копировании/вычислении перекрытий на нескольких GPU.
Оценка практикума (30 мин)
Окончательный анализ
(30 мин)
  • Еще раз ознакомьтесь с основными выводами
  • Научитесь создавать собственную среду для тренировки из базового контейнера DLI
  • Пройдите опрос
 

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

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

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

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

  • Опыт программирования приложений CUDA на C/C++, включая использование компилятора nvcc, запуск ядра, циклы grid-stride, передачу памяти от хоста к устройству и устройства к хосту, а также обработку ошибок CUDA
  • Знание командной строки Linux
  • Опыт использования makefiles для компиляции C/C++ кода

Предлагаемые материалы для подготовки к участию в тренинге: Основы ускоренных вычислений с CUDA C/C++, Командная строка Ubuntu для начинающих (1-5), Обучение Makefile (через раздел Простые примеры)

Технологии: CUDA C, Nsight Systems

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

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

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

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