Большинство суперкомпьютеров (список top500.org) – гетерогенные среды.
CPU : GPU = 1 : n (n = 1, 2, 3,…)
Технологии GPGPU. Практическое применение
Кизько Б. А., 5085/2, ИИТ, ФГБОУ ВПО СПбГПУ
07.05.2013
GPU
CPU vs GPUГораздо больше транзисторов GPU
отведено на обработку данных, а не на управление исполнением
(т.н. Flow control)
GPGPU до 2007 года
Шейдерные языки Cg, GLSL и HLSLGLSL – OpenGLHLSL – Microsoft DirectX
1.Широкая поддержка оборудования.2.Отсутствие готовых библиотек.3.Необходимо знание специализированного языка4.Привязка к графическим API.
NVIDIA Compute Unified Device Architecture
Язык программирования C с расширениямиРаспространённость GPU
GeForce 8, 9, 100, 200, 300, 400, 500, 600, 700
NVIDIA Compute Unified Device Architecture
GPU – сопроцессор (device) для CPU (host)Собственная память (память устройства, device memory)Параллельная обработка множества потоков
Ядро (kernel) – исполняемая над большим числом потоков функция с параллелизмом данных
Отличия потоков GPU от CPU:•Для полной эффективности GPU нужны тысячи потоков•Легковесность, низкие накладные расходы на создание
NVIDIA Compute Unified Device Architecture
NVIDIA Compute Unified Device Architecture
SIMD (Single Instruction – Multiple Data)SIMT (Single Instruction – Multiple Thread)
Несколько видов памяти (регистры, локальная,
разделяемая, глобальная, константная, текстурная) с разными правами доступа
NVIDIA Compute Unified Device Architecture
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%
Open Compute Language
CPU (host) управляет OpenCL-устройствами (devices): CPU, GPU, DSP, …
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
Open Compute Language
AMD OpenCL University Kit
Набор материалов от AMD для обучения технологии в течение семестра. 13 лекций с примерами кода и набором заданий
http://developer.amd.com/resources/heterogeneous-computing/opencl-zone/
HSA Foundation
AMD, ARM, Samsung, Texas Instruments, Qualcomm, MediaTek, Imagination Technologies
Intel
Larrabee -> Xeon Phi
Архитектура x86Много ядер Pentium в одном чипе с общей памятью
Intel Xeon Phi
Сопроцессор 5110P:
60 ядер Pentium 1GHz с EM64T, 4 потока/ядро 512-бит SIMD512К L21 TFLOPS6/8 Gb GDDR5RHEL 6.xSuSE Linux 12
Intel Xeon Phi
Взаимодействие NVIDIA с ВУЗами
269 университетов мираСПбГПУ, СПбГУ, "Дубна", ОИЯИ, МИЭТ, МГТУ им. Баумана, МАИ,
"Курчатовский институт", МГУ им. Ломоносова, ...
декабрь 2009 - научно-образовательный центр "Параллельные вычисления", Дубна
Список источников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 курсах. Научный руководитель - Семьянов П. В.
Благодарю за внимание!