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

Нажмите для полного просмотра!
Разработка параллельных программ для GPU. Введение в CUDA, слайд №1 Разработка параллельных программ для GPU. Введение в CUDA, слайд №2 Разработка параллельных программ для GPU. Введение в CUDA, слайд №3 Разработка параллельных программ для GPU. Введение в CUDA, слайд №4 Разработка параллельных программ для GPU. Введение в CUDA, слайд №5 Разработка параллельных программ для GPU. Введение в CUDA, слайд №6 Разработка параллельных программ для GPU. Введение в CUDA, слайд №7 Разработка параллельных программ для GPU. Введение в CUDA, слайд №8 Разработка параллельных программ для GPU. Введение в CUDA, слайд №9 Разработка параллельных программ для GPU. Введение в CUDA, слайд №10 Разработка параллельных программ для GPU. Введение в CUDA, слайд №11 Разработка параллельных программ для GPU. Введение в CUDA, слайд №12 Разработка параллельных программ для GPU. Введение в CUDA, слайд №13 Разработка параллельных программ для GPU. Введение в CUDA, слайд №14 Разработка параллельных программ для GPU. Введение в CUDA, слайд №15 Разработка параллельных программ для GPU. Введение в CUDA, слайд №16 Разработка параллельных программ для GPU. Введение в CUDA, слайд №17 Разработка параллельных программ для GPU. Введение в CUDA, слайд №18 Разработка параллельных программ для GPU. Введение в CUDA, слайд №19 Разработка параллельных программ для GPU. Введение в CUDA, слайд №20 Разработка параллельных программ для GPU. Введение в CUDA, слайд №21 Разработка параллельных программ для GPU. Введение в CUDA, слайд №22 Разработка параллельных программ для GPU. Введение в CUDA, слайд №23 Разработка параллельных программ для GPU. Введение в CUDA, слайд №24 Разработка параллельных программ для GPU. Введение в CUDA, слайд №25 Разработка параллельных программ для GPU. Введение в CUDA, слайд №26 Разработка параллельных программ для GPU. Введение в CUDA, слайд №27 Разработка параллельных программ для GPU. Введение в CUDA, слайд №28 Разработка параллельных программ для GPU. Введение в CUDA, слайд №29 Разработка параллельных программ для GPU. Введение в CUDA, слайд №30 Разработка параллельных программ для GPU. Введение в CUDA, слайд №31 Разработка параллельных программ для GPU. Введение в CUDA, слайд №32 Разработка параллельных программ для GPU. Введение в CUDA, слайд №33 Разработка параллельных программ для GPU. Введение в CUDA, слайд №34 Разработка параллельных программ для GPU. Введение в CUDA, слайд №35

Содержание

Вы можете ознакомиться и скачать презентацию на тему Разработка параллельных программ для GPU. Введение в CUDA. Доклад-сообщение содержит 35 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1


Разработка параллельных программ для GPU Введение в CUDA
Описание слайда:
Разработка параллельных программ для GPU Введение в CUDA

Слайд 2


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

Слайд 3


Основные тенденции Переход к многопроцессорным системам Развития технологий параллельного программирования OpenMP, MPI, TPL etc. Простота в...
Описание слайда:
Основные тенденции Переход к многопроцессорным системам Развития технологий параллельного программирования OpenMP, MPI, TPL etc. Простота в использовании

Слайд 4


Классификация архитектур Виды параллелизма На уровне данных (Data) На уровне задач (Instruction)
Описание слайда:
Классификация архитектур Виды параллелизма На уровне данных (Data) На уровне задач (Instruction)

Слайд 5


Архитектура многоядерных CPU Кэш первого уровня для инструкций (L1-I) для данных (L1-D) Кэш второго уровня на одном кристалле используется раздельно...
Описание слайда:
Архитектура многоядерных CPU Кэш первого уровня для инструкций (L1-I) для данных (L1-D) Кэш второго уровня на одном кристалле используется раздельно Проблема синхронизации кэш-памяти

Слайд 6


Архитектура GPU: Device
Описание слайда:
Архитектура GPU: Device

Слайд 7


Архитектура GPU: TPC Кластер текстурных блоков (TPC) Память для текстур Потоковый мультипроцессор
Описание слайда:
Архитектура GPU: TPC Кластер текстурных блоков (TPC) Память для текстур Потоковый мультипроцессор

Слайд 8


Архитектура GPU: SM Память констант Память инструкций Регистровая память Разделяемая память 8 скалярных процессоров 2 суперфункциональных блока
Описание слайда:
Архитектура GPU: SM Память констант Память инструкций Регистровая память Разделяемая память 8 скалярных процессоров 2 суперфункциональных блока

Слайд 9


Основные отличия GPU от CPU Высокая степень параллелизма (SIMT) Минимальные затраты на кэш-память Ограничения функциональности
Описание слайда:
Основные отличия GPU от CPU Высокая степень параллелизма (SIMT) Минимальные затраты на кэш-память Ограничения функциональности

Слайд 10


Развитие вычислений на GPU Развитие технологии неграфических вычислений
Описание слайда:
Развитие вычислений на GPU Развитие технологии неграфических вычислений

Слайд 11


Эволюция GPU
Описание слайда:
Эволюция GPU

Слайд 12


GPGPU General-Purpose Computation on GPU Вычисления на GPU общего (неграфического) назначения AMD FireStream NVIDIA CUDA DirectCompute (DirectX 10)...
Описание слайда:
GPGPU General-Purpose Computation on GPU Вычисления на GPU общего (неграфического) назначения AMD FireStream NVIDIA CUDA DirectCompute (DirectX 10) OpenCL

Слайд 13


Программная модель CUDA Основные понятия и определения CUDA
Описание слайда:
Программная модель CUDA Основные понятия и определения CUDA

Слайд 14


CUDA – Compute Unified Device Architecture Host – CPU (Central Processing Unit) Device – GPU (Graphics Processing Unit)
Описание слайда:
CUDA – Compute Unified Device Architecture Host – CPU (Central Processing Unit) Device – GPU (Graphics Processing Unit)

Слайд 15


Организация работы CUDA GPU
Описание слайда:
Организация работы CUDA GPU

Слайд 16


Warp и латентность Warp Порция потоков для выполнения на потоковом мультипроцессоре (SM) Латентность Общая задержка всех потоков warp’а при...
Описание слайда:
Warp и латентность Warp Порция потоков для выполнения на потоковом мультипроцессоре (SM) Латентность Общая задержка всех потоков warp’а при выполнении инструкции

Слайд 17


Топология блоков (block) Возможна 1, 2 и 3-мерная топология Количество потоков в блоке ограничено (512)
Описание слайда:
Топология блоков (block) Возможна 1, 2 и 3-мерная топология Количество потоков в блоке ограничено (512)

Слайд 18


Топология сетки блоков (grid) Возможна 1 и 2-мерная топология Количество блоков в каждом измерении ограничено 65536=216
Описание слайда:
Топология сетки блоков (grid) Возможна 1 и 2-мерная топология Количество блоков в каждом измерении ограничено 65536=216

Слайд 19


Адресация элементов данных CUDA предоставляет встроенные переменные, которые идентифицируют блоки и потоки blockIdx blockDim threadIdx
Описание слайда:
Адресация элементов данных CUDA предоставляет встроенные переменные, которые идентифицируют блоки и потоки blockIdx blockDim threadIdx

Слайд 20


Барьерная синхронизация Синхронизация потоков блока осуществляется встроенным оператором __synchronize
Описание слайда:
Барьерная синхронизация Синхронизация потоков блока осуществляется встроенным оператором __synchronize

Слайд 21


CUDA: Расширение C++ Особенности написания программ для GPU CUDA
Описание слайда:
CUDA: Расширение C++ Особенности написания программ для GPU CUDA

Слайд 22


Расширение языка С++ Новые типы данных Спецификаторы для функций Спецификаторы для переменных Встроенные переменные (для ядра) Директива для запуска...
Описание слайда:
Расширение языка С++ Новые типы данных Спецификаторы для функций Спецификаторы для переменных Встроенные переменные (для ядра) Директива для запуска ядра

Слайд 23


Процесс компиляции
Описание слайда:
Процесс компиляции

Слайд 24


Типы данных CUDA 1, 2, 3 и 4-мерные вектора базовых типов Целые: (u)char, (u)int, (u)short, (u)long, longlong Дробные: float, double Пример:...
Описание слайда:
Типы данных 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__ и __device__ Спецификаторы __global__ и __host__ не могут использоваться совместно

Слайд 27


Ограничения функций GPU Не поддерживается рекурсия Не поддерживаются static-переменные Нельзя брать адрес функции __device__ Не поддерживается...
Описание слайда:
Ограничения функций GPU Не поддерживается рекурсия Не поддерживаются static-переменные Нельзя брать адрес функции __device__ Не поддерживается переменное число аргументов

Слайд 28


Спецификаторы переменных
Описание слайда:
Спецификаторы переменных

Слайд 29


Ограничения переменных GPU Переменные __shared__ не могут инициализироваться при объявлении Запись в __constant__ может производить только host через...
Описание слайда:
Ограничения переменных GPU Переменные __shared__ не могут инициализироваться при объявлении Запись в __constant__ может производить только host через CUDA API Спецификаторы нельзя применять к полям структур и union

Слайд 30


Переменные ядра dim3 gridDim unit3 blockIdx dim3 blockDim uint3 threadIdx int warpSize
Описание слайда:
Переменные ядра dim3 gridDim unit3 blockIdx dim3 blockDim uint3 threadIdx int warpSize

Слайд 31


Директива запуска ядра Kernel(data) blocks – число блоков в сетке threads – число потоков в блоке
Описание слайда:
Директива запуска ядра Kernel(data) blocks – число блоков в сетке threads – число потоков в блоке

Слайд 32


Общая структура программы CUDA __global__ void Kernel(float* data) { . . . } void main() { . . . Kernel(data); . . . }
Описание слайда:
Общая структура программы CUDA __global__ void Kernel(float* data) { . . . } void main() { . . . Kernel(data); . . . }

Слайд 33


Предустановки Видеокарта NVIDIA с поддержкой CUDA Драйвера устройства с поддержкой CUDA NVIDIA CUDA Toolkit NVIDIA CUDA SDK NVIDIA Nsight Visual...
Описание слайда:
Предустановки Видеокарта NVIDIA с поддержкой CUDA Драйвера устройства с поддержкой CUDA NVIDIA CUDA Toolkit NVIDIA CUDA SDK NVIDIA Nsight Visual Studio 2008+ Компилятор Visual C++ 9.0+

Слайд 34


Литература NVIDIA Developer Zone NVIDAI CUDA – Неграфические вычисления на графических процессорах Создание простого приложения CUDA в Visual Studio...
Описание слайда:
Литература NVIDIA Developer Zone NVIDAI CUDA – Неграфические вычисления на графических процессорах Создание простого приложения CUDA в Visual Studio 2010

Слайд 35


Вопросы?
Описание слайда:
Вопросы?



Похожие презентации
Mypresentation.ru
Загрузить презентацию