Презентация Разработка параллельных программ для GPU. Обзор CUDA API онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Разработка параллельных программ для GPU. Обзор CUDA API абсолютно бесплатно. Урок-презентация на эту тему содержит всего 40 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Разработка параллельных программ для GPU. Обзор CUDA API



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    40 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    161.36 kB
  • Просмотров:
    76
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Разработка параллельных
Содержание слайда: Разработка параллельных программ для GPU Обзор CUDA API

№2 слайд
ОСОБЕННОСТИ CUDA APIs Виды
Содержание слайда: ОСОБЕННОСТИ CUDA APIs Виды CUDA APIs и возможности CUDA-устройств

№3 слайд
Виды CUDA APIs CUDA Driver
Содержание слайда: Виды CUDA APIs CUDA Driver API Ручная инициализация контекста GPU Отсутствуют CUDA-расширения для C++ Код CPU может компилироваться без nvcc CUDA Runtime API Автоматическая инициализация контекста GPU Наличие CUDA-расширений для C++

№4 слайд
Выбор CUDA API CUDA Driver
Содержание слайда: Выбор CUDA API CUDA Driver API Больше гибкости ( + ) Сложность кода ( – ) CUDA Runtime API Меньше гибкости ( – ) Простота кода ( + )

№5 слайд
Совместимость CUDA API
Содержание слайда: Совместимость CUDA API Имеется обратная совместимость версий

№6 слайд
Вычислительные возможности
Содержание слайда: Вычислительные возможности GPU Capability – это версия архитектуры CUDA GPU, которая указывает на его вычислительные возможности и особенности

№7 слайд
Оценка производительности
Содержание слайда: Оценка производительности Способы оценки эффективности приложений CUDA

№8 слайд
Время выполнения Общее время
Содержание слайда: Время выполнения Общее время вычислений на GPU Время выполнения участка кода GPU

№9 слайд
Таймеры CPU Таймеры CPU
Содержание слайда: Таймеры CPU Таймеры CPU позволяют замерять общее время выполнения вычислений на GPU

№10 слайд
Таймеры CUDA Таймеры CUDA
Содержание слайда: Таймеры CUDA Таймеры CUDA позволяют замерять время выполнения участка кода GPU

№11 слайд
Скорость передачи данных
Содержание слайда: Скорость передачи данных Теоретическая пропускная способность FDDRAM * (RDDRAM/8) * sizeof(float), где FDDRAM – частота, RDDRAM – разрядность шины Эффективная пропускная способность (BR+ BW) / time, где BR и BW – объем прочитанной/записанной информации Реальная пропускная способность

№12 слайд
Оптимизация работы с памятью
Содержание слайда: Оптимизация работы с памятью Способы оптимизации работы с памятью CUDA GPU

№13 слайд
Архитектура CUDA GPU
Содержание слайда: Архитектура CUDA GPU

№14 слайд
Типы памяти устройства
Содержание слайда: Типы памяти устройства Streaming Multiprocessor Регистровая память Разделяемая память Память констант Texture Processing Cluster Память текстур DDRAM Локальная память Глобальная память

№15 слайд
Передача данных Host Device
Содержание слайда: Передача данных Host/Device Является дорогостоящей операцией Возможна асинхронная передача

№16 слайд
Асинхронная передача данных
Содержание слайда: Асинхронная передача данных Копирование данных и выполнение ядра можно осуществлять параллельно

№17 слайд
Возможная оптимизация
Содержание слайда: Возможная оптимизация Синхронная передача данных в GPU

№18 слайд
Нулевое копирование Zero Copy
Содержание слайда: Нулевое копирование (Zero Copy) Прямое обращение к памяти Host’а Встроенные видеокарты Использование кэша CPU

№19 слайд
Объединенное чтение DDRAM
Содержание слайда: Объединенное чтение DDRAM Выравнивание исходных данных по границе слова Потоки warp’а должны осуществлять одновременное чтение DDRAM

№20 слайд
Разделяемая память и
Содержание слайда: Разделяемая память и конфликты Общая для всех потоков блока Распределяется между блоками Разбивается на банки (32-битные слова)

№21 слайд
Регистровое давление Регистры
Содержание слайда: Регистровое давление Регистры жестко распределяются между потоками мультипроцессора При большом количестве потоков возникает конфликт доступа к регистрам

№22 слайд
Выбор оптимальной топологии
Содержание слайда: Выбор оптимальной топологии Методы оценки топологии вычислений CUDA

№23 слайд
Степень покрытия Степень
Содержание слайда: Степень покрытия Степень покрытия мультипроцессора – это отношение числа активных warp'ов к максимально возможному числу активных warp'ов По количеству используемых регистров С учетом топологии вычислений Без учета топологии вычислений По размеру используемой разделяемой памяти

№24 слайд
Определение степени покрытия
Содержание слайда: Определение степени покрытия CUDA GPU: 8192 регистра 768 потоков на мультипроцессор Топология: 12 регистров на ядро 128 потоков в блоке Tmax = 8192 регистров / 12 регистров = 682 потока Treal = int(682 / 128) * 128 = 640 потоков С = Тreal / Tmax = 83%

№25 слайд
Оптимизация кода Оптимизация
Содержание слайда: Оптимизация кода Оптимизация инструкций CUDA

№26 слайд
Регистровая зависимость
Содержание слайда: Регистровая зависимость Инструкция использует регистр, значение которого было получено при выполнении предыдущей инструкции

№27 слайд
Float vs Double
Содержание слайда: Float vs Double Арифметические операции с float-числами осуществляются быстрей, чем с double-числами Рекомендуется использовать суффикс «f» при объявлении числовых констант, например, 3.14f

№28 слайд
Деление чисел При делении
Содержание слайда: Деление чисел При делении чисел на степень двойки рекомендуется использовать оператор сдвига

№29 слайд
Степень числа Для известных
Содержание слайда: Степень числа Для известных целых значений степеней рекомендуется использовать явное умножение вместо вызова pow()

№30 слайд
Часто используемые функции
Содержание слайда: Часто используемые функции Обратный квадратный корень rsqrtf() / rsqrt() Прочие арифметические операции expf2() / exp2() – экспонента во 2-й степени expf10() / exp10() – экспонента в 10-й степени cbrtf() / cart() – экспонента в степени 1/3 rcbrtf() / rebut() – экспонента в степени -1/3

№31 слайд
Точность vs Скорость
Содержание слайда: Точность vs Скорость Аппаратные аналоги функций __sinf() / sinf() __cosf() / cosf() __expf() / expf() Совмещенные функции sincosf() / sincos()

№32 слайд
Управление потоком команд
Содержание слайда: Управление потоком команд Общие рекомендации по написанию кода

№33 слайд
Операторы ветвления
Содержание слайда: Операторы ветвления Инструкции управления потоком команд (if, switch, for, while, do-while) отрицательно сказываются на производительности В идеале все потоки warp'а должны идти по одному пути, иначе увеличивается количество выполняемых инструкций и возможно последовательное выполнение

№34 слайд
Предикативная запись
Содержание слайда: Предикативная запись

№35 слайд
Отладка и профилирование
Содержание слайда: Отладка и профилирование Отладка и профилирование приложений CUDA

№36 слайд
Существующие утилиты Linux
Содержание слайда: Существующие утилиты Linux CUDA-GDB http://developer.nvidia.com/cuda-gdb Windows Vista & Windows 7 NVIDIA Parallel Nsight http://developer.nvidia.com/nvidia-parallel-nsight

№37 слайд
АППАРАТНЫЕ Особенности GPU
Содержание слайда: АППАРАТНЫЕ Особенности GPU Краткий обзор архитектурных особенностей GPU

№38 слайд
Причины рассогласования
Содержание слайда: Причины рассогласования Основные причины рассогласования результатов вычислений на GPU и CPU Усечение double чисел до float при отсутствии аппаратной поддержки double Неассоциативность арифметических операций с дробными числами Небольшие отклонения от стандарта IEEE 754 Особенности архитектуры процессоров x86

№39 слайд
Литература NVIDIA Developer
Содержание слайда: Литература NVIDIA Developer Zone http://developer.nvidia.com/cuda NVIDIA Parallel Nsight http://developer.nvidia.com/cuda-gdb CUDA C Best Practices Guide http://developer.download.nvidia.com/compute/cuda/4_0/toolkit/docs/CUDA_C_Best_Practices_Guide.pdf

№40 слайд
Вопросы?
Содержание слайда: Вопросы?

Скачать все slide презентации Разработка параллельных программ для GPU. Обзор CUDA API одним архивом: