Узнайте об основных инструментах и методах ускорения приложений на C/C++ или Fortran для работы на массивно-параллельных GPU с OpenACC. Вы научитесь писать код, настраивать распараллеливание кода с OpenACC, оптимизировать миграцию памяти между CPU и графическим ускорителем, а также реализовать изученные вами алгоритмы для GPU-ускорения кода уравнения теплопроводности методом преобразования Лапласа. В конце практикума вы получите доступ к дополнительным материалам для самостоятельного создания новых приложений с ускорением на GPU.

 

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


В этом практикуме вы узнаете об основных инструментах и методах ускорения приложений на C/C++ или Fortran для работы на массивно-параллельных GPU с OpenACC и научитесь:
  • Профилировать и оптимизировать приложения для CPU и определять области для ускорения.
  • Использовать директивы OpenACC для ускорения на GPU базы кода.
  • Оптимизировать миграцию данных между CPU и графическим ускорителем.

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

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

Введение
(15 мин)
Введение в параллельное программирование
(50 мин)
Узнайте о параллелизме и подходе OpenACC. Будут рассмотрены следующие темы:
  • Введение в параллелизм
  • Цели OpenACC
  • Базовое распараллеливание кода с помощью OpenACC
Перерыв (10 мин)
Профилирование с помощью OpenACC
(50 мин)
Узнайте, как создать и скомпилировать код OpenACC, для чего необходимо профилирование и как использовать профилировщик NVIDIA Nsight Systems. Будут рассмотрены следующие темы:
  • Компиляция последовательного и OpenACC кода
  • Зачем мы профилируем код
  • Профилирование последовательного кода и кода для многоядерных процессоров OpenACC
  • Введение в код, используемый во вводных модулях
Перерыв (45 мин)
Введение в директивы OpenACC
(50 мин)
Изучите, как распараллелить код с помощью директив OpenACC, и узнайте о различиях между parallel, kernel и loop. Будут рассмотрены следующие темы:
  • Директива Parallel
  • Директива Kernels
  • Директива Loop
Перерыв (10 мин)
Программирование на GPU с OpenACC
(50 мин)
Узнайте о различиях между графическими процессорами и многоядерными процессорами и управляйте памятью с помощью CUDA Unified Memory. Будут рассмотрены следующие темы:
  • Определение графического процессора
  • Базовое управление данными с OpenACC
  • Унифицированная память CUDA
  • Профилирование приложений на GPU
Перерыв (15 мин)
Управление данными с OpenACC
(50 мин)
Узнайте, как оптимизировать передачу данных с помощью директив OpenACC. Будут рассмотрены следующие темы:
  • Директива/клауза OpenACC
  • Область данных OpenACC для структурированных данных
  • Область данных OpenACC для неструктурированных данных
  • Директива update OpenACC
  • Управление данными с помощью структур/классов C/C++
Перерыв (10 мин)
Оптимизация циклов с OpenACC
(50 мин)
Изучите различные уровни параллелизма на GPU и узнайте, как с помощью оптимизации циклов в коде добиться большего параллелизма. Будут рассмотрены следующие темы:
  • Клауз Seq/Auto
  • Клауз Independent
  • Клауз Reduction
  • Клауз Collapse
  • Клауз Tile
  • Gang, Worker, Vector
Перерыв (10 мин)
Окончательный анализ
(60 мин)
  • Еще раз ознакомьтесь с основными выводами и ответьте на вопросы.
  • Завершите тестирование и получите сертификат
  • Сбор обратной связи.
Следующие шаги Продолжите обучение с другими практикумами от DLI:
 

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

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

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

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

  • базовые знания C/C++ или Fortran, в том числе типов переменных, циклов, условных операторов, функций и операций с массивами.
  • Знание программирования на GPU необязательно.

Инструменты, библиотеки и фреймворки: NVIDIA® Nsight, OpenACC

Метод контроля:

  • написание кода

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

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

Язык: английский

Если ваша компания заинтересована в развитии навыков в работе с ИИ, анализом данных и ускоренными вычислениями, начните комплексное обучение с помощью решений от NVIDIA DLI.

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