Съдържание и теми, включени в курса
Въведение
Разбиране на основите на методологията за хетерогенни изчисления
Защо паралелни изчисления? Разбиране на необходимостта от паралелни изчисления
Многоядрени процесори - архитектура и дизайн
Въведение в нишките, основи на нишките и базови концепции на паралелното програмиране
Разбиране на основите на процесите за софтуерна оптимизация на GPU
OpenMP - стандарт за паралелно програмиране, базирано на директиви
Практически занятия / демонстрация на различни програми на многоядрени машини
Въведение в изчисленията с GPU
Графични процесори за паралелни изчисления
Програмен модел за GPU
Практически занятия / демонстрация на различни програми на GPU
SDK, инструментариум и инсталиране на среда за GPU
Работа с различни библиотеки
Демонстрация на GPU и инструменти с примерни програми и OpenACC
Разбиране на програмния модел CUDA
Изучаване на архитектурата CUDA
Проучване и настройка на средите за разработка с CUDA
Работа с API за изпълнение на CUDA
Разбиране на модела на паметта на CUDA
Проучване на допълнителни функции на API на CUDA
Ефективен достъп до глобалната памет в CUDA: оптимизация на глобалната памет
Оптимизиране на трансфера на данни в CUDA чрез CUDA потоци
Използване на споделена памет в CUDA
Разбиране и използване на атомарни операции и инструкции в CUDA
Казус: основна обработка на цифрови изображения с CUDA
Работа с многопроцесорно GPU програмиране
Разширено хардуерно профилиране и семплиране на NVIDIA / CUDA
Използване на API за динамичен паралелизъм на CUDA за динамично стартиране на ядра
Обобщение и заключение
Изисквания
- C програмиране
- Linux GCC
Отзиви от участници (1)
Енергията и хуморът на тренерите.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Курс - NVIDIA GPU Programming - Extended
Машинен превод