Разделы презентаций


Вычисления на GPU с использованием NVIDIA CUDA

Содержание

Немного историиС самого появления GPU у разработчиков появилась идея перекладывать часть расчетов с CPU на GPU, но архитектура не позволяла это делать. Почти. Разработчикам удавалось выкрутиться и заставить GPU выполнять нужные

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

Слайд 1Вычисления на GPU с использованием NVIDIA CUDA
Автор: студент 2-ПМИ МАГУ
Леутин

Александр

Вычисления на GPU  с использованием NVIDIA CUDAАвтор: студент 2-ПМИ МАГУЛеутин Александр

Слайд 2Немного истории
С самого появления GPU у разработчиков появилась идея перекладывать

часть расчетов с CPU на GPU, но архитектура не позволяла

это делать. Почти. Разработчикам удавалось выкрутиться и заставить GPU выполнять нужные инструкции, но зачастую это того не стоило.
Немного историиС самого появления GPU у разработчиков появилась идея перекладывать часть расчетов с CPU на GPU, но

Слайд 3Краткое введение в технологию
Технология CUDA — это программно-аппаратная вычислительная архитектура

Nvidia, основанная на расширении языка Си, которая даёт возможность организации

доступа к набору инструкций графического ускорителя и управления его памятью при организации параллельных вычислений.
Краткое введение в технологиюТехнология CUDA — это программно-аппаратная вычислительная архитектура Nvidia, основанная на расширении языка Си, которая

Слайд 4Основные возможности технологии
Унифицированное программно-аппаратное решение для параллельных вычислений на видеочипах

Nvidia;
Стандартный язык программирования Си;
Стандартные библиотеки численного анализа FFT (быстрое преобразование

Фурье) и BLAS (линейная алгебра);
Оптимизированный обмен данными между CPU и GPU;
Взаимодействие с графическими API OpenGL и DirectX;
Возможность разработки на низком уровне.

Основные возможности технологииУнифицированное программно-аппаратное решение для параллельных вычислений на видеочипах Nvidia;Стандартный язык программирования Си;Стандартные библиотеки численного анализа

Слайд 5Основные сферы применения
Симуляция поведения различных тел
Обработка графики
Расчет геометрии
Вычисление различных

хэшей
Компьютерное зрение
Искусственный интеллект

Основные сферы примененияСимуляция поведения различных телОбработка графикиРасчет геометрии Вычисление различных хэшейКомпьютерное зрениеИскусственный интеллект

Слайд 6Техническая реализация
Для вызова функции на стороне GPU нужно:
Выделить память под

аргументы
Скопировать данные с хоста в блок памяти GPU.
Произвести вызов функции

(будет рассмотрено далее)
Освободить память после выполнения
Техническая реализацияДля вызова функции на стороне GPU нужно:Выделить память под аргументыСкопировать данные с хоста в блок памяти

Слайд 7Работа с памятью
Работа с памятью организована при помощи функций
cudaMalloc –

выделение блока памяти
cudaMalloc3D – выделение блока под трехмерный массив (width*height*depth)
cudaMalloc3DArray

– аналогично cudaMalloc3D, но для массива таких объектов
cudaMallocArray – выделение массива блоков
cudaMallocPitch – выделение памяти под массивы*
cudaFree – освободить блок памяти
Работа с памятью	Работа с памятью организована при помощи функцийcudaMalloc – выделение блока памятиcudaMalloc3D – выделение блока под

Слайд 8Чуть подробнее про cudaMallocPitch
Данная функция не только выделяет память под

данные, но и гарантирует сохранение следующего соотношения

Что в итоге позволяет

нам спокойно ориентироваться в памяти, зная базовый адрес, строку и значение pitch (которое получаем после cudaMallocPitch)
Чуть подробнее про cudaMallocPitchДанная функция не только выделяет память под данные, но и гарантирует сохранение следующего соотношенияЧто

Слайд 9Исполнение инструкций
Вызов функции, на стороне GPU идет немного необычно


Так же

функция должна иметь модификатор __global__

Исполнение инструкцийВызов функции, на стороне GPU идет немного необычноТак же функция должна иметь модификатор __global__

Слайд 10Плюсы технологии
Быстрые вычисления
Хорошая архитектура для многопоточности
Удобный инструментарий и отсутствие лишних

телодвижений при передаче инструкций (за исключением чутка странного вызова __global__

функций)
Удобная работа с памятью
Поддержка основных платформ
Плюсы технологииБыстрые вычисленияХорошая архитектура для многопоточностиУдобный инструментарий и отсутствие лишних телодвижений при передаче инструкций (за исключением чутка

Слайд 11Минусы технологии
Передача данных от CPU к GPU достаточно дорогая операция.

Иногда это заставляет передавать лишние данные.
Проприетарная архитектура CUDA.
Устаревшая поддержка

Visual Studio 2012, но кому это нужно, когда есть он
Минусы технологииПередача данных от CPU к GPU достаточно дорогая операция. Иногда это заставляет передавать лишние данные. Проприетарная

Слайд 12Примеры
Построение множества Мондельброта

ПримерыПостроение множества Мондельброта

Слайд 13Симуляция поверхности воды

Симуляция поверхности воды

Слайд 14Спасибо за внимание

Спасибо за внимание

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика