Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
35 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
307.13 kB
Просмотров:
80
Скачиваний:
3
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд
Содержание слайда: Разработка параллельных программ для GPU
Введение в CUDA
№2 слайд
Содержание слайда: АППАРАТНЫЕ Особенности GPU
Краткий обзор архитектурных особенностей GPU
№3 слайд
Содержание слайда: Основные тенденции
Переход к многопроцессорным системам
Развития технологий параллельного программирования
OpenMP, MPI, TPL etc.
Простота в использовании
№4 слайд
Содержание слайда: Классификация архитектур
Виды параллелизма
На уровне данных (Data)
На уровне задач (Instruction)
№5 слайд
Содержание слайда: Архитектура многоядерных CPU
Кэш первого уровня
для инструкций (L1-I)
для данных (L1-D)
Кэш второго уровня
на одном кристалле
используется раздельно
Проблема синхронизации кэш-памяти
№6 слайд
Содержание слайда: Архитектура GPU: Device
№7 слайд
Содержание слайда: Архитектура GPU: TPC
Кластер текстурных блоков (TPC)
Память для текстур
Потоковый мультипроцессор
№8 слайд
Содержание слайда: Архитектура GPU: SM
Память констант
Память инструкций
Регистровая память
Разделяемая память
8 скалярных процессоров
2 суперфункциональных блока
№9 слайд
Содержание слайда: Основные отличия GPU от CPU
Высокая степень параллелизма (SIMT)
Минимальные затраты на кэш-память
Ограничения функциональности
№10 слайд
Содержание слайда: Развитие вычислений на GPU
Развитие технологии неграфических вычислений
№11 слайд
Содержание слайда: Эволюция GPU
№12 слайд
Содержание слайда: GPGPU
General-Purpose Computation on GPU
Вычисления на GPU общего (неграфического) назначения
AMD FireStream
NVIDIA CUDA
DirectCompute (DirectX 10)
OpenCL
№13 слайд
Содержание слайда: Программная модель CUDA
Основные понятия и определения CUDA
№14 слайд
Содержание слайда: CUDA – Compute Unified Device Architecture
Host – CPU (Central Processing Unit)
Device – GPU (Graphics Processing Unit)
№15 слайд
Содержание слайда: Организация работы CUDA GPU
№16 слайд
Содержание слайда: Warp и латентность
Warp
Порция потоков для выполнения на потоковом мультипроцессоре (SM)
Латентность
Общая задержка всех потоков warp’а при выполнении инструкции
№17 слайд
Содержание слайда: Топология блоков (block)
Возможна 1, 2 и 3-мерная топология
Количество потоков в блоке ограничено (512)
№18 слайд
Содержание слайда: Топология сетки блоков (grid)
Возможна 1 и 2-мерная топология
Количество блоков в каждом измерении ограничено 65536=216
№19 слайд
Содержание слайда: Адресация элементов данных
CUDA предоставляет встроенные переменные, которые идентифицируют блоки и потоки
blockIdx
blockDim
threadIdx
№20 слайд
Содержание слайда: Барьерная синхронизация
Синхронизация потоков блока осуществляется встроенным оператором __synchronize
№21 слайд
Содержание слайда: CUDA: Расширение C++
Особенности написания программ для GPU CUDA
№22 слайд
Содержание слайда: Расширение языка С++
Новые типы данных
Спецификаторы для функций
Спецификаторы для переменных
Встроенные переменные (для ядра)
Директива для запуска ядра
№23 слайд
Содержание слайда: Процесс компиляции
№24 слайд
Содержание слайда: Типы данных CUDA
1, 2, 3 и 4-мерные вектора базовых типов
Целые: (u)char, (u)int, (u)short, (u)long, longlong
Дробные: float, double
Пример: float(1), float2, float3, float4
dim3 ~ uint3
Пример: dim3(n) = uint(n,1,1)
№25 слайд
Содержание слайда: Спецификаторы функций
№26 слайд
Содержание слайда: Спецификаторы функций
Ядро помечается __global__
Ядро не может возвращать значение
Возможно совместное использование __host__ и __device__
Спецификаторы __global__ и __host__ не могут использоваться совместно
№27 слайд
Содержание слайда: Ограничения функций GPU
Не поддерживается рекурсия
Не поддерживаются static-переменные
Нельзя брать адрес функции __device__
Не поддерживается переменное число аргументов
№28 слайд
Содержание слайда: Спецификаторы переменных
№29 слайд
Содержание слайда: Ограничения переменных GPU
Переменные __shared__ не могут инициализироваться при объявлении
Запись в __constant__ может производить только host через CUDA API
Спецификаторы нельзя применять к полям структур и union
№30 слайд
Содержание слайда: Переменные ядра
dim3 gridDim
unit3 blockIdx
dim3 blockDim
uint3 threadIdx
int warpSize
№31 слайд
Содержание слайда: Директива запуска ядра
Kernel<<<blocks, threads>>>(data)
blocks – число блоков в сетке
threads – число потоков в блоке
№32 слайд
Содержание слайда: Общая структура программы CUDA
__global__ void Kernel(float* data)
{
. . .
}
void main()
{
. . .
Kernel<<<blocks, threads>>>(data);
. . .
}
№33 слайд
Содержание слайда: Предустановки
Видеокарта NVIDIA с поддержкой CUDA
Драйвера устройства с поддержкой CUDA
NVIDIA CUDA Toolkit
NVIDIA CUDA SDK
NVIDIA Nsight
Visual Studio 2008+
Компилятор Visual C++ 9.0+
№34 слайд
Содержание слайда: Литература
NVIDIA Developer Zone
http://developer.nvidia.com/cuda
NVIDAI CUDA – Неграфические вычисления на графических процессорах
http://www.ixbt.com/video3/cuda-1.shtml
Создание простого приложения CUDA в Visual Studio 2010
http://mezhov.blogspot.com/2011/09/cuda-visual-studio-2010.html
№35 слайд
Содержание слайда: Вопросы?