[Специалист] Массивно - параллельные процессы, архитектура и среда программирования CUDA
Скрытое содержимое.
Технология NVIDIA CUDA™ — это технология разработки на C/C++, которая позволяет программистам и разработчикам писать программное обеспечение, решающее сложные вычислительные задачи в десятки раз быстрее благодаря использованию вычислительной мощности современных графических процессоров. В мире уже установлены миллионы GPU с поддержкой CUDA, и тысячи программистов уже бесплатно пользуются инструментами CUDA для ускорения приложений – от кодирования видео и аудио до поисков нефти и газа, моделирования продуктов, вывода медицинских изображений и научных исследований.
Цель курса — получение базовых знаний в области применения технологии CUDA к эффективному распараллеливанию программного кода на GPU.
По окончании курса слушатели получат знания и практические навыки, необходимые для написания программ с использованием технологии CUDA.
Курс предназначен для программистов, желающих существенно ускорить свой код.
По окончании курса Вы будете уметь:
Скрытое содержимое.
Скрытое содержимое.
Курс очень редкий. Следующий сбор только в ноябре. Давайте соберемся чтобы еще год не ждать!
Massively parallel processes, CUDA architecture and programming environmentТехнология NVIDIA CUDA™ — это технология разработки на C/C++, которая позволяет программистам и разработчикам писать программное обеспечение, решающее сложные вычислительные задачи в десятки раз быстрее благодаря использованию вычислительной мощности современных графических процессоров. В мире уже установлены миллионы GPU с поддержкой CUDA, и тысячи программистов уже бесплатно пользуются инструментами CUDA для ускорения приложений – от кодирования видео и аудио до поисков нефти и газа, моделирования продуктов, вывода медицинских изображений и научных исследований.
Цель курса — получение базовых знаний в области применения технологии CUDA к эффективному распараллеливанию программного кода на GPU.
По окончании курса слушатели получат знания и практические навыки, необходимые для написания программ с использованием технологии CUDA.
Курс предназначен для программистов, желающих существенно ускорить свой код.
По окончании курса Вы будете уметь:
- самостоятельно делать простейшее распараллеливание таких операций, как сложение векторов, перемножения матриц и т.д.;
- использовать различные типы памяти на GPU, дающие возможность существенно ускорять работу кода;
- комплексно оптимизировать программу; определять, как стоит строить распараллеливание программы, где могут быть узкие места по скорости, и как их преодолевать;
- использовать библиотеки thrust, cuFFT, cuRANDOM и другие.
Модуль 1. Введение
Модуль 9. Решение дифференциальных уравнений на CUDA
Модуль 10. Программирование многоядерных GPU. Кластеры из GPU
Модуль 11. Дополнительные разделы: Интероперабельность с OpenGL, параллельное выполнение ядер и копирование данных на GPU
- Существующие многоядерные системы
- GPU как массивно-паралалельный процессор
- CUDA “Hello world” – наша первая программа на CUDA
- Как устроены современные GPU
- Потоковые мультипроцессоры, скалярные ядра
- Варпы
- Модель программирования, основные понятия
- Глобальная память и доступ к ней
- Перемножение матриц. Решение задачи умножения матриц и СЛАУ на CUDA
- Pinned-память и ее использование
- Managed-память, ее использование для упрощения кода
- Использование разделяемой памяти для ускорения программ. Умножение матриц
- Реализация примитивов параллельного суммирования (reduce) и префиксной суммы на CUDA. Параллельная прогонка
- Основы цифровой обработка сигналов (изображений), операция свертки
- Типы шума в изображении, удаление шума
- Библиотека thrust и ее использование. Готовые алгоритмы в thrust
- Другие библиотеки от комапании Nvidia (cuFFT, cuRANDOM и другие)
- Использование CUDA Profiler и NVidia NSight
Модуль 9. Решение дифференциальных уравнений на CUDA
Модуль 10. Программирование многоядерных GPU. Кластеры из GPU
Модуль 11. Дополнительные разделы: Интероперабельность с OpenGL, параллельное выполнение ядер и копирование данных на GPU
- Интероперабельность с OpenGL
- Потоки (stream) CUDA, параллельное выполнение ядер и копирования данных
https://www.specialist.ru/course/kuda