Download ppt - Cuda, OpenCL

Transcript
Page 1: Cuda, OpenCL

Большинство суперкомпьютеров (список top500.org) – гетерогенные среды.

CPU : GPU = 1 : n (n = 1, 2, 3,…)

Page 2: Cuda, OpenCL

Технологии GPGPU. Практическое применение

Кизько Б. А., 5085/2, ИИТ, ФГБОУ ВПО СПбГПУ

07.05.2013

Page 3: Cuda, OpenCL

GPU

CPU vs GPUГораздо больше транзисторов GPU

отведено на обработку данных, а не на управление исполнением

(т.н. Flow control)

Page 4: Cuda, OpenCL
Page 5: Cuda, OpenCL

GPGPU до 2007 года

Шейдерные языки Cg, GLSL и HLSLGLSL – OpenGLHLSL – Microsoft DirectX

1.Широкая поддержка оборудования.2.Отсутствие готовых библиотек.3.Необходимо знание специализированного языка4.Привязка к графическим API.

Page 6: Cuda, OpenCL

NVIDIA Compute Unified Device Architecture

Язык программирования C с расширениямиРаспространённость GPU

GeForce 8, 9, 100, 200, 300, 400, 500, 600, 700

Page 7: Cuda, OpenCL

NVIDIA Compute Unified Device Architecture

GPU – сопроцессор (device) для CPU (host)Собственная память (память устройства, device memory)Параллельная обработка множества потоков

Ядро (kernel) – исполняемая над большим числом потоков функция с параллелизмом данных

Отличия потоков GPU от CPU:•Для полной эффективности GPU нужны тысячи потоков•Легковесность, низкие накладные расходы на создание

Page 8: Cuda, OpenCL

NVIDIA Compute Unified Device Architecture

Page 9: Cuda, OpenCL

NVIDIA Compute Unified Device Architecture

SIMD (Single Instruction – Multiple Data)SIMT (Single Instruction – Multiple Thread)

Несколько видов памяти (регистры, локальная,

разделяемая, глобальная, константная, текстурная) с разными правами доступа

Page 10: Cuda, OpenCL

NVIDIA Compute Unified Device Architecture

Page 11: Cuda, OpenCL

Open Compute Language

Khronos Group: AMD, Intel, Motorola, Apple, NVIDIA, IBM, ARM

2008 г. - OpenCL 1.01 декабря 2012 г. - OpenCL 1.2

C99 с новыми ключевыми словами

Открытый стандарт

Широкая поддержка оборудования

Прирост в WinZip 16.5 на AMD APU - 45%

Page 12: Cuda, OpenCL

Open Compute Language

CPU (host) управляет OpenCL-устройствами (devices): CPU, GPU, DSP, …

Page 13: Cuda, OpenCL

Open Compute Language

WinZip, ArcSoft, Corel VideoStudio, GIMP, Mathematica 8, vReveal, Blender, BattleField 3, …

PyOpenCL, WebCL (JS-интерфейс для обработки вычислений в браузере, поддержка в Firefox и WebKit), ScalaCL, Ruby-OpenCL

PGI OpenCL Compiler, OpenCL Studio, ZiiLABD OpenCL SDK

http://openclnews.com/apps

Page 14: Cuda, OpenCL

Open Compute Language

AMD OpenCL University Kit

Набор материалов от AMD для обучения технологии в течение семестра. 13 лекций с примерами кода и набором заданий

http://developer.amd.com/resources/heterogeneous-computing/opencl-zone/

Page 15: Cuda, OpenCL

HSA Foundation

AMD, ARM, Samsung, Texas Instruments, Qualcomm, MediaTek, Imagination Technologies

Page 16: Cuda, OpenCL

Intel

Larrabee -> Xeon Phi

Архитектура x86Много ядер Pentium в одном чипе с общей памятью

Page 17: Cuda, OpenCL

Intel Xeon Phi

Сопроцессор 5110P:

60 ядер Pentium 1GHz с EM64T, 4 потока/ядро 512-бит SIMD512К L21 TFLOPS6/8 Gb GDDR5RHEL 6.xSuSE Linux 12

Page 18: Cuda, OpenCL

Intel Xeon Phi

Page 19: Cuda, OpenCL

Взаимодействие NVIDIA с ВУЗами

269 университетов мираСПбГПУ, СПбГУ, "Дубна", ОИЯИ, МИЭТ, МГТУ им. Баумана, МАИ,

"Курчатовский институт", МГУ им. Ломоносова, ...

декабрь 2009 - научно-образовательный центр "Параллельные вычисления", Дубна

Page 20: Cuda, OpenCL

Список источников1. Сайты HSA Foundation, NVIDIA, AMD, Khronos Group2. thg.ru - подробный обзор Intel Xeon Phi3. Wikipedia4. Статьи с habrahabr.ru5. Сайт научно-образовательного центра "Параллельные вычисления" http://www.parallel-compute.ru/6. opencl.org7. gpgpu.org8. Результаты НИР на 3-4 курсах. Научный руководитель - Семьянов П. В.

Page 21: Cuda, OpenCL

Благодарю за внимание!


Recommended