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