🗊Архитектура Tesla. Программно-аппаратный стек CUDA. Лекторы: Боресков А.В. (ВМиК МГУ) Харламов А.А. (NVidia)

Категория: Информатика
Нажмите для полного просмотра!
Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №1Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №2Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №3Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №4Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №5Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №6Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №7Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №8Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №9Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №10Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №11Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №12Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №13Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №14Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №15Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №16Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №17Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №18Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №19Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №20Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №21Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №22Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №23Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №24Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №25Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №26Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №27Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №28

Содержание

Вы можете ознакомиться и скачать Архитектура Tesla. Программно-аппаратный стек CUDA. Лекторы: Боресков А.В. (ВМиК МГУ) Харламов А.А. (NVidia). Презентация содержит 28 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





Архитектура Tesla. Программно-аппаратный стек CUDA. 
Лекторы:
Боресков А.В. (ВМиК МГУ)
Харламов А.А. (NVidia)
Описание слайда:
Архитектура Tesla. Программно-аппаратный стек CUDA. Лекторы: Боресков А.В. (ВМиК МГУ) Харламов А.А. (NVidia)

Слайд 2





Примеры многоядерных систем
На первой лекции мы рассмотрели
Intel Core 2 Duo
SMP
Cell
BlueGene/L
G80 / Tesla
Описание слайда:
Примеры многоядерных систем На первой лекции мы рассмотрели Intel Core 2 Duo SMP Cell BlueGene/L G80 / Tesla

Слайд 3





Примеры многоядерных систем
Мы хотели обратить ваше внимание на следующие особенности:
Как правило вычислительный узел – достаточно маломощный процессор
Вычислительные узлы имеют свою оперативную память и свой кэш
Вычислительные узлы объединяются в более крупные блоки
Крупные блоки могут объединяться с целью наращивания вычислительной мощи
Описание слайда:
Примеры многоядерных систем Мы хотели обратить ваше внимание на следующие особенности: Как правило вычислительный узел – достаточно маломощный процессор Вычислительные узлы имеют свою оперативную память и свой кэш Вычислительные узлы объединяются в более крупные блоки Крупные блоки могут объединяться с целью наращивания вычислительной мощи

Слайд 4





Tesla vs GeForce
У кого есть вопросы в чем разница?
Описание слайда:
Tesla vs GeForce У кого есть вопросы в чем разница?

Слайд 5





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

Слайд 6





Архитектура Tesla:
Мультипроцессор Tesla 8
Описание слайда:
Архитектура Tesla: Мультипроцессор Tesla 8

Слайд 7





Архитектура Tesla
Мультипроцессор Tesla 10
Описание слайда:
Архитектура Tesla Мультипроцессор Tesla 10

Слайд 8





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

Слайд 9





Архитектура
Маштабируемость:
[+][-] SM внутри TPC
[+][-] TPC
[+][-] DRAM партиции
Схожие архитектуры:
Tesla 8:   8800 GTX
Tesla 10:  GTX 280
Описание слайда:
Архитектура Маштабируемость: [+][-] SM внутри TPC [+][-] TPC [+][-] DRAM партиции Схожие архитектуры: Tesla 8: 8800 GTX Tesla 10: GTX 280

Слайд 10





Технические детали
RTM CUDA Programming Guide
Run CUDAHelloWorld
Печатает аппаратно зависимые параметры
Размер shared памяти
Кол-во SM
Размер warp’а
Кол-во регистров на SM 
 т.д.
Описание слайда:
Технические детали RTM CUDA Programming Guide Run CUDAHelloWorld Печатает аппаратно зависимые параметры Размер shared памяти Кол-во SM Размер warp’а Кол-во регистров на SM т.д.

Слайд 11





План
Описание слайда:
План

Слайд 12





Программная модель CUDA
 GPU (device) это вычислительное устройство, которое:
Является сопроцессором к CPU (host)
Имеет собственную память (DRAM)
Выполняет одновременно очень много нитей
Описание слайда:
Программная модель CUDA GPU (device) это вычислительное устройство, которое: Является сопроцессором к CPU (host) Имеет собственную память (DRAM) Выполняет одновременно очень много нитей

Слайд 13





Программная модель CUDA
Последовательные части кода выполняются на CPU
Массивно-параллельные части кода выполняются на GPU как ядра
Отличия нитей между CPU и GPU
Нити на GPU очень «легкие»
HW планировщик задач
Для полноценной загрузки GPU нужны тысячи нитей
Для покрытия латентностей операций чтения / записи
Для покрытия латентностей sfu инструкций
Описание слайда:
Программная модель CUDA Последовательные части кода выполняются на CPU Массивно-параллельные части кода выполняются на GPU как ядра Отличия нитей между CPU и GPU Нити на GPU очень «легкие» HW планировщик задач Для полноценной загрузки GPU нужны тысячи нитей Для покрытия латентностей операций чтения / записи Для покрытия латентностей sfu инструкций

Слайд 14





Программная модель CUDA
Параллельная часть кода выполняется как большое количество нитей
Нити группируются в блоки фиксированного размера
Блоки объединяются в сеть блоков
Ядро выполняется на сетке из блоков
Каждая нить и блок имеют свой идентификатор
Описание слайда:
Программная модель CUDA Параллельная часть кода выполняется как большое количество нитей Нити группируются в блоки фиксированного размера Блоки объединяются в сеть блоков Ядро выполняется на сетке из блоков Каждая нить и блок имеют свой идентификатор

Слайд 15





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

Слайд 16





Программная модель CUDA
Потоки в CUDA объединяются в блоки:
Возможна 1D, 2D, 3D топология блока
Общее кол-во потоков в блоке ограничено
В текущем HW это 512 потоков
Описание слайда:
Программная модель CUDA Потоки в CUDA объединяются в блоки: Возможна 1D, 2D, 3D топология блока Общее кол-во потоков в блоке ограничено В текущем HW это 512 потоков

Слайд 17





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

Слайд 18





Программная модель CUDA
Блоки могут использовать shared память
 Т.к. блок целиком выполняется на одном SM
 Объем shared памяти ограничен и зависит от HW
Внутри Блока потоки могут синхронизоваться
Т.к. блок целиком выполняется на одном SM
Описание слайда:
Программная модель CUDA Блоки могут использовать shared память Т.к. блок целиком выполняется на одном SM Объем shared памяти ограничен и зависит от HW Внутри Блока потоки могут синхронизоваться Т.к. блок целиком выполняется на одном SM

Слайд 19





Программная модель CUDA
Блоки потоков объединяются в сетку (grid) потоков
Возможна 1D, 2D топология сетки блоков потоков
Описание слайда:
Программная модель CUDA Блоки потоков объединяются в сетку (grid) потоков Возможна 1D, 2D топология сетки блоков потоков

Слайд 20





План
Описание слайда:
План

Слайд 21





Синтаксис CUDA
 CUDA – это расширение языка C
 [+] спецификаторы для функций и переменных
 [+] новые встроенные типы 
 [+] встроенные переменные (внутри ядра)
 [+] директива для запуска ядра из C кода
 Как скомпилировать CUDA код
 [+] nvcc компилятор
 [+] .cu расширение файла
Описание слайда:
Синтаксис CUDA CUDA – это расширение языка C [+] спецификаторы для функций и переменных [+] новые встроенные типы [+] встроенные переменные (внутри ядра) [+] директива для запуска ядра из C кода Как скомпилировать CUDA код [+] nvcc компилятор [+] .cu расширение файла

Слайд 22





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

Слайд 23





Синтаксис CUDA
Встроенные переменные
 Сравним CPU код vs CUDA kernel:
Описание слайда:
Синтаксис CUDA Встроенные переменные Сравним CPU код vs CUDA kernel:

Слайд 24





Синтаксис CUDA
Встроенные переменные
В любом CUDA kernel’e доступны:
dim3  gridDim;
uint3 blockIdx;
dim3  blockDim;
uint3 threadIdx;
int   warpSize;
Описание слайда:
Синтаксис CUDA Встроенные переменные В любом CUDA kernel’e доступны: dim3 gridDim; uint3 blockIdx; dim3 blockDim; uint3 threadIdx; int warpSize;

Слайд 25





Синтаксис CUDA
 Директивы запуска ядра
Как запустить ядро с общим кол-во тредов равным nx?
Описание слайда:
Синтаксис CUDA Директивы запуска ядра Как запустить ядро с общим кол-во тредов равным nx?

Слайд 26





Как скомпилировать CUDA код
NVCC – компилятор для CUDA
Основными опциями команды nvcc являются:
-deviceemu - компиляция в режиме эмуляции, весь код будет выполняться в многонитевом режиме на CPU и можно использовать обычный отладчик (хотя не все ошибки могут проявится в таком режиме)
--use_fast_math - заменить все вызовы стандартных математических функций на их быстрые (но менее точные) аналоги
-o <outputFileName> - задать имя выходного файла
CUDA файлы обычно носят расширение .cu
Описание слайда:
Как скомпилировать CUDA код NVCC – компилятор для CUDA Основными опциями команды nvcc являются: -deviceemu - компиляция в режиме эмуляции, весь код будет выполняться в многонитевом режиме на CPU и можно использовать обычный отладчик (хотя не все ошибки могут проявится в таком режиме) --use_fast_math - заменить все вызовы стандартных математических функций на их быстрые (но менее точные) аналоги -o <outputFileName> - задать имя выходного файла CUDA файлы обычно носят расширение .cu

Слайд 27





Ресуры нашего курса	
CUDA.CS.MSU.SU
Место для вопросов и дискуссий
Место для материалов нашего курса
Место для ваших статей!
Если вы нашли какой-то интересный подход!
Или исследовали производительность разных подходов и знаете, какой из них самый быстрый!
Или знаете способы сделать работу с CUDA проще!
 Steps3d
 www.nvidia.ru
Описание слайда:
Ресуры нашего курса CUDA.CS.MSU.SU Место для вопросов и дискуссий Место для материалов нашего курса Место для ваших статей! Если вы нашли какой-то интересный подход! Или исследовали производительность разных подходов и знаете, какой из них самый быстрый! Или знаете способы сделать работу с CUDA проще! Steps3d www.nvidia.ru

Слайд 28


Архитектура Tesla. Программно-аппаратный стек CUDA.   Лекторы:  Боресков А.В. (ВМиК МГУ)  Харламов А.А. (NVidia), слайд №28
Описание слайда:



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