Антон Джораев, nvidia - old.kpfu.ruold.kpfu.ru/inf/bin_files/dzhoraev-nvidia!28.pdf ·...
TRANSCRIPT
Антон Джораев, NVIDIA
2
GeForce
Quadro
Tegra
Tesla
4
Вычисления на GPU
Вычисления на GPU
CPU + GPU
Гибридная архитектура
8 ядер
Обзор развития архитектур
0
50
100
150
200
250
2007 2008 2009 2010 2011 2012
Пропускная способность памяти, ГБ/сек
T10
Nehalem
3 GHz Westmere
3 GHz
8-core Sandy
Bridge
3 GHz
T20
T20A
0
200
400
600
800
1000
1200
2007 2008 2009 2010 2011 2012
Пиковая производительность в двойной точности, ГФлопс
Nehalem
3 GHz
Westmere
3 GHz
T20
T20A
T10
8-core
Sandy Bridge
3 GHz
1 ТФлопс один. точность
4 ГБ
0,5 ТФлопс дв.точн.
ECC
L1, L2 кэш
NVIDIA GPU (ECC off) x86 CPU Double Precision: NVIDIA GPU Double Precision: x86 CPU
Задачи для суперкомпьютеров
Проектирование газодинамика
Разработка РЭА Проектирование антенн
Финансы Биржевая торговля
Прогнозирование погоды Физика атмосферы
Разработка лекарств МД
Медицинская визуализация КТ и МРТ
Астрофизика Происхождение вселенной
Разведка нефти и газа Обработка сейсмических данных
8
Науке нужны на порядки более мощные системы
1,000,000,000
1,000,000
1,000
1
ГФлоп/с
1982 1997 2003 2006 2010 2012
Эстрогеновый рецептор 36 тыс. атомов
F1-ATPase 327 тыс. атомов
Рибосома 2.7 млн. атомов
Хроматофор 50 млн. атомов
Апротинин 3 тыс. атомов
Бактерия Миллиарды атомов
1 ЭФлоп/c
1 ПФлоп/с
2 наносекунды жизни за 8 месяцев вычислений
9
Программно-аппаратная архитектура для
параллельных вычислений
CUDA для параллельных вычислений
Среда разработки
Документация, сотни примеров
Компилятор С/C++, Фортран (PGI)
Поддержка OpenCL и DirectCompute
Библиотеки
FFT
BLAS
LAPACK
MAGMA
Image processing
Video processing
Signal processing
Computer Vision
Sparse Matrix
Random Generator
ATI’s Compute
“Solution”
• 2500+ научных работ
• 1500+ приложений
• 350+ Университетов преподающих CUDA
CUDA. Мировое признание.
• 200+ млн. GPU c CUDA
• 100,000+ разработчиков
4 in Japanese, 3 in English, 2 in Chinese, 1 in Russian)
TeslaTM
Высокопроизводительные вычисления
Quadro®
Конструирование и дизайн
GeForce®
Развлечения
Универсальность архитектуры 200+ млн. GPU поддерживающих CUDA по всему миру
Системы Tesla нового поколения (Fermi)
Tesla S2050 / S2070
1U System Tesla C2050 / C2070
Tesla Personal
Supercomputer (4 Tesla C20x0)
GPUs 4 Tesla GPUs 1 Tesla GPU 4 Tesla GPUs
Произв. двойной точн. 2,06 ТФлопс 515 ГФлопс 2,06 ТФлопс
Произв. один. точн. 4,12 ТФлопс 1,03 ТФлопс 4,12 ТФлопс
Память 3 или 6 ГБ / GPU 3 или 6 ГБ 3 или 6 ГБ / GPU
Защита данных ECC ECC ECC
GPU серверы стали мейнстримом
®
Tesla S870
Декабрь 2007
Tesla S1070 / M1060
2008-2009
Tesla M2050 / M2070
2010
18
В 8 раз лучше результат по Linpack
80,1
656
0
150
300
450
600
750
CPUServer
GPU-CPUServer
Произв., ГФлопс
11
60
0
10
20
30
40
50
60
70
CPUServer
GPU-CPUServer
ГФлопс / $K
146
656
0
200
400
600
800
CPUServer
GPU-CPUServer
ГФлопс / КВт
CPU 1U Server: 2x Intel Xeon X5550 (Nehalem) 2.66 GHz, 48 GB memory, $7K, 0.55 kw
GPU-CPU 1U Server: 2x Tesla C2050 + 2x Intel Xeon X5550, 48 GB memory, $11K, 1.0 kw
Мощнейшие суперкомпьютеры мира
Китай Tianjin National
Supercomputing Center
Tianhe-1A
Япония Tokyo Institute of
Technology
Tsubame 2.0
США Oak Ridge National Lab
Jaguar Официально объявлено
о намерении использовать Tesla
Россия Московский
Государственный
Университет
Ломоносов
#1
Энергоэффективность
7,168 Tesla + 14,336 CPU
4.04 МВт
50,000 x86 CPUs
12.7 МВт
CPU-система Гибридная CPU-GPU система
Китай: технологический прорыв
№ Вендор Архитектура Год Linpack Пик
1 国防科大 Intel X5670 + NVIDIA Tesla M2050 2010 2507 4701
2 曙光 Intel X5650 + NVIDIA Tesla C2050 2010 1271 2984
3 中科院过程所 Intel E5520 + NVIDIA Tesla C2050 2010 207 1138
4 曙光 AMD Barcelona 2008 180 233
5 联想 Intel E5450 2008 106 293
6 曙光 Intel X5650 + NVIDIA Tesla C2050 2010 76 141
7 曙光 Intel X5650 + NVIDIA Tesla C2050 2010 55 102
• Пять из семи самых мощных (включая три первых) – на Tesla
• Все построенные в 2010 из первой семерки – на Tesla
22
Приложения
Приложения с поддержкой CUDA
24
Пример: аэродинамика. Porsche.
Комбинация вычислений и визуализации
Переход от сервера к настольной системе (Tesla)
25
Moldflow – ускорение на GPU
26
Компьютерная томография
Demo
28
Расчет стоимости опционов и стратегии трейдинга
Расчеты используют симуляции
Монте-Карло
Базируются на генераторе
случайных чисел
Ускорение на CUDA – до 100
раз
Общее ускорение алгоритма 25-
60 раз
0 1 000 2 000 3 000 4 000 5 000 6 000
LRAND48
Mersenne TwisterDC
+ Box-Muller(MKL)
Speed (Millions samples per second)
100x быстрее генерация случайных чисел
Tesla C1060 Xeon Quad (3.0Ghz)
31
A Necessary Compromise?
32
Цель .
Задача .
Решение .
Повысить наглядность и удобство диагностики
плода
Получать результаты в высоком разрешении в режиме реального времени
Амниоскопический рендеринг с использованием
GPU NVIDIA позволяет пациентам получить
трехмерное изображение младенца, выводя УЗИ на качественно новый уровень
33
34
ACUSON SC2000
35
0,89
241
0
50
100
150
200
250
300
Intel QX6700quad-core w/
SSE
4 GPUs(Tesla 10-
series)
Bill
ion
Eva
luat
ion
s /
sec
Ion Placement in VMD
271x
Faster
0
100
200
300
400
500
600
Tim
e s
tep
s ca
lcu
late
d /
se
c
Number of Particles
Lennard-Jones Liquid Model on LAMMPs vs HOOMD
16 AMD Opteron…1 GPU (Tesla 8-…
Source: Stone, Phillips, Hardy, Schulten
Молекулярная динамика
Использующие GPU
NAMD / VMD
HOOMD
ACE-MD
MD-GPU
GROMACS
AMBER
LAMMPS
В разработке
CHARMM
Source: Anderson, Lorenz, Travesset
39
Уменьшение времени реакции на ежесекундно
появляющиеся новые угрозы
Уникальный алгоритм должен быстро сверять
подозрительный файл с 50 млн. эталонов
Перенос задачи на GPU дал 360-кратный прирост
производительности
Цель .
Задача .
Решение .
40
Сокращение времени обработки документов
Ускорение каждого из этапов обработки
изображения
Применение CUDA на одном из этапов увеличило
его скорость в 30 раз, и ускорило весь процесс
обработки сложных документов в 2 раза
Цель .
Задача .
Решение .
41
Динамика жидкостей (CFD)
0,9 0,6 0,6 0,5
24
38
48 54
0
10
20
30
40
50
60
128x32x128
256x32x256
512x32x512
1024x32x1024
Gflops
Incompressible Navier-Stokes
AMD Opteron 2.4GHz
Source: Thibault, Senocak
Уравнения Навье-Стокса
Сеточный метод Больцмана
Трехмерные уравнения Эйлера
43
Электромагнетизм / Электродинамика
9,9 Mcells/s
500,0 Mcells/s
0
100
200
300
400
500
600
Intel Xeon (2.6 GHz) 4 GPUs(Tesla 8-series)
Speed Mcells/s
Cell Phone Model Simulation Simulation size : 80 Mcells
FDTD Acceleration using GPUs Source: Acceleware
Используют GPU
Acceleware
EM Photonics
CST Studio
В разработке
Maxwell equation solver
Ring Oscillator (FDTD)
Particle beam dynamics
simulator
44
Моделирование природных явлений
Source: Michalakes, Vachharajani
Токийский Технологический Институт
полностью перенес модель WRF
(расчета прогнозов погоды) на GPU.
Получено 80-кратное ускорение.
Метеорологическое Агентство Японии
рассматривает вариант перехода на
GPU при грядущем обновлении модели
расчета.
47
Рендеринг на
GPU в CATIA v6
48 Google SketchUp Model in Bunkspeed Shot
49
50
MSC.Marc – ускорение на GPU
Время вычислений, сек.
Размерность
матрицы
2x Quad Core X54xx CPU +
Tesla
2x Quad Core X54xx CPU
3.1M 15663 (4.0x) 62854
1.6M 835 (3.3x) 2782
1.1M 495 (5.3x) 2639
0.7M 859 (4.7x) 4050
0.4M 202 (5.6x) 1137
0.2M 58 (3.9x) 223
2x Quad Core Harpertown CPU + Tesla
ANSYS Mechanical R13 – ускорение на GPU
Intel Xeon 5560 (2.8 GHz, 4 cores) + Tesla C2050 3GB
Во втором квартале
Abaqus/Standard на GPU
53
заказчики
Сравнение
GPU с CPU
производительность/
мощность 18x - 27x 12x - 17x
производительность/
площадь 20x - 31x 15x - 20x
производительность/
стоимость 15x - 20x 10x - 12x
вендоры ПО
20+ нефтегазовых компаний используют CUDA
Обработка сейсмических данных
~$400 K ~$8 M
45 КВт 1200 КВт В 27 раз меньше энергии
В 20 раз дешевле
Равная производительность 1 1
32x Tesla S1070s 2000x CPU Servers В 31 раз меньше места
Приложения
Tools
Oil & Gas
Bio-Chemistry
Bio-Informatics
TotalView Debugger
NVIDIA Video Libraries
AccelerEyes Jacket
MATLAB
EMPhotonics CULAPACK
Bright Cluster Manager
CAPS HMPP MATLAB
Thrust C++ Template Lib
CUDA C/C++
PGI CUDA Fortran
Parallel Nsight Vis Studio IDE
Allinea DDT Debugger
OpenEye ROCS
Available Announced
TauCUDA Perf Tools
NVIDIA NPP Perf Primitives
ParaTools VampirTrace
VSG Open Inventor
StoneRidge RTM
Headwave Suite
Acceleware RTM Solver
GeoStar Seismic Suite
ffA SVI Pro
OpenGeoSolutions OpenSEIS
Paradigm RTM
Seismic City RTM
Tsunami RTM
CAE ACUSIM AcuSolve 1.8
Autodesk Moldflow
Prometch Particleworks
Remcom XFdtd 7.0
LSTC LS-DYNA 971
MSC.Software Marc 2010.2
PGI Accelerators
Platform LSF Cluster Mgr
MAGMA (LAPACK)
FluiDyna OpenFOAM
Metacomp CFD++
уже доступны будущее
Libraries
Wolfram Mathematica
CUDA FFT CUDA BLAS
TeraChem BigDFT ABINT
VMD
Acellera ACEMD
AMBER DL-POLY
GROMACS
HOOMD
LAMMPS
NAMD
GAMESS CP2K
CUDA-BLASTP
CUDA-EC
CUDA-MEME
CUDA SW++ SmithWaterm GPU-HMMR
HEX Protein Docking
MUMmerGPU PIPER
Docking
ANSYS Mechanical
RNG & SPARSE CUDA Libraries
Paradigm SKUA
Panorama Tech
PGI CUDA x86
Приложения
Siemens 4D Ultrasound
Rendering
Finance
EDA
Digisens Medical
Schrodinger Core Hopping
MotionDSP Ikena Video
Manifold GIS
Dalsa Machine Vision
Synopsys TCAD
SPEAG SEMCAD X
Agilent EMPro 2010
CST Microwave
Agilent ADS SPICE
Acceleware FDTD Solver
Acceleware EM Solution
Aquimin AlphaVision
Other
NAG RNG
SciComp SciFinance
Hanweck Options Analy
уже доступны
Gauda OPC
Useful Progress Med
Lightworks Artisan
Autodesk 3ds Max
NVIDIA OptiX (SDK)
mental images iray (OEM)
Bunkspeed Shot (iray)
Refractive SW Octane
Works Zebra Zeany
Chaos Group V-Ray GPU
Cebas finalRender
Random Control Arion
Caustic Graphics
Weta Digital PantaRay
ILM Plume
будущее
Available Announced
Digital Anarchy Photo
Video
Elemental Video
Fraunhofer JPEG2000
Cinnafilm Pixel Strings
Assimilate SCRATCH
The Foundry Kronos
TDVision TDVCodec
ARRI Various Apps
Black Magic Da Vinci
MainConcept CUDA Encoder
GenArts Sapphire
Adobe Premier Pro CS5
Murex MACS
Numerix Risk RMS Risk
Mgt Solutions
Rocketick Veritlog Sim
MvTec Machine Vis
58
Экосистема гибридных ВС
Проектирование и поставка высокопроизводительных
вычислительных систем на базе GPU (оптимизация
производительности по Linpack)
Обучение специалистов заказчика распараллеливанию
вычислений на GPU
Аутсорсинг разработки на GPU – оптимизация и перенос
существующего ПО на гибридную архитектуру
59
Преконфигурированные GPU-кластеры
© NVIDIA Corporation 2011
Rapid Application Porting
Unified Virtual Addressing
Faster Multi-GPU Programming
GPU Direct 2.0
CUDA 4.0 Application Porting Made Simpler
Easier Parallel Programming in C++
Thrust
© NVIDIA Corporation 2011
Before GPUDirect v2.0
Required Copy into Main Memory
GPU1
GPU1
Memory
GPU2
GPU2
Memory
PCI-e
CPU
Chip
set
System
Memory
© NVIDIA Corporation 2011
GPUDirect v2.0: Peer-to-Peer Communication
Direct Transfers b/w GPUs
GPU1
GPU1
Memory
GPU2
GPU2
Memory
PCI-e
CPU
Chip
set
System
Memory
© NVIDIA Corporation 2011
Unified Virtual Addressing Easier to Program with Single Address Space
No UVA: Multiple Memory Spaces
UVA : Single Address
Space System
Memory
CPU GPU0
GPU0
Memory
GPU1
GPU1
Memory
System
Memory
CPU GPU0
GPU0
Memory
GPU1
GPU1
Memory
PCI-e PCI-e
0x0000
0xFFFF
0x0000
0xFFFF
0x0000
0xFFFF
0x0000
0xFFFF
© NVIDIA Corporation 2011
C++ Templatized Algorithms & Data Structures (Thrust)
Powerful open source C++ parallel algorithms & data structures
Similar to C++ Standard Template Library (STL)
Automatically chooses the fastest code path at compile time
Divides work between GPUs and multi-core CPUs
Parallel sorting @ 5x to 100x faster than STL and TBB
Data Structures
•thrust::device_vector •thrust::host_vector •thrust::device_ptr • Etc.
Algorithms
•thrust::sort •thrust::reduce •thrust::exclusive_scan • Etc.
© NVIDIA Corporation 2011
Automated Performance Analysis in Visual Profiler
Summary analysis & hints
Session
Device
Context
Kernel
New UI for kernel analysis
Identify limiting factor
Analyze instruction throughput
Analyze memory throughput
Analyze kernel occupancy
67
NVIDIA Quadro
Решения для самых сложных задач визуализации
70
SolidWorks - Режим Normal View 3D
71
SolidWorks - Режим Real View 3D
только на Quadro
72
SolidWorks - Normal View
73
SolidWorks - Real View 3D
только на Quadro
74
SolidWorks – производительность 3D
0
20
40
60
80
100
120
140
GeForce GTX 260
Quadro FX 580
Quadro FX 1800
Quadro FX 3800
75
Игровая графика не поддерживает antialiasing
76
Визуализация на Quadro (с antialiasing)
Игровая графика не поддерживает antialiasing
77
Бытовая графика Профессиональная графика Quadro
Правильное отображение. Сохранение целостности при манипулировании.
78
Quadro 5000
Quadro 4000
Quadro6000
6 GB GDDR5 448 CUDA Cores ECC Stereo G-Sync Compatible HD SDI Compatible
2.5 GB GDDR5 352 CUDA Cores ECC Stereo G-Sync Compatible HD SDI Compatible 2 GB GDDR5
256 CUDA Cores Optional Stereo HD SDI Compatible
QuadroPlex 7000
12 GB GDDR5 Total 896 Cores ECC Stereo Quad DVI-DL G-Sync Incl. DHIC Compatible:
1,792 Cores 24GB 8 DVI-DL
79
NVIDIA Quadro Plex
Любое приложение просто работает, при этом все экраны синхронизированы
80
Масштабируемая графика
Multi Display / Projector
4K Panel or Projector
Digital Signage
Power wall
CAVE