Антон Джораев, nvidia - parallel.uran.ruparallel.uran.ru/sites/default/files... · cuda...

45
Антон Джораев, NVIDIA

Upload: phamthuan

Post on 14-Apr-2018

238 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

Антон Джораев, NVIDIA

Page 2: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

2

Page 3: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

Вычисления на GPU

CPU + GPU

Гибридная архитектура

8 ядер

Page 4: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

Обзор развития архитектур

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

Page 5: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

Задачи для суперкомпьютеров

Проектирование газодинамика

Разработка РЭА Проектирование антенн

Финансы Биржевая торговля

Прогнозирование погоды Физика атмосферы

Разработка лекарств МД

Медицинская визуализация КТ и МРТ

Астрофизика Происхождение вселенной

Разведка нефти и газа Обработка сейсмических данных

Page 6: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

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 месяцев вычислений

Page 7: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

9

Программно-аппаратная архитектура для

параллельных вычислений

Page 8: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

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”

Page 9: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

• 2500+ научных работ

• 1500+ приложений

• 350+ Университетов преподающих CUDA

CUDA. Мировое признание.

• 200+ млн. GPU c CUDA

• 100,000+ разработчиков

Page 10: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

4 in Japanese, 3 in English, 2 in Chinese, 1 in Russian)

Page 11: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

TeslaTM

Высокопроизводительные вычисления

Quadro®

Конструирование и дизайн

GeForce®

Развлечения

Универсальность архитектуры 200+ млн. GPU поддерживающих CUDA по всему миру

Page 12: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

Системы 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

Page 13: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

GPU серверы стали мейнстримом

®

Tesla S870

Декабрь 2007

Tesla S1070 / M1060

2008-2009

Tesla M2050 / M2070

2010

Page 14: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

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

Page 15: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

Мощнейшие суперкомпьютеры мира

Китай Tianjin National

Supercomputing Center

Tianhe-1A

Япония Tokyo Institute of

Technology

Tsubame 2.0

США Oak Ridge National Lab

Jaguar Официально объявлено

о намерении использовать Tesla

Россия Московский

Государственный

Университет

Ломоносов

#1

Page 16: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

Энергоэффективность

7,168 Tesla + 14,336 CPU

4.04 МВт

50,000 x86 CPUs

12.7 МВт

CPU-система Гибридная CPU-GPU система

Page 17: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

Китай: технологический прорыв

№ Вендор Архитектура Год 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

Page 18: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

22

Экосистема гибридных ВС

Проектирование и поставка высокопроизводительных

вычислительных систем на базе GPU (оптимизация

производительности по Linpack)

Обучение специалистов заказчика распараллеливанию

вычислений на GPU

Аутсорсинг разработки на GPU – оптимизация и перенос

существующего ПО на гибридную архитектуру

Page 19: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

23

Преконфигурированные GPU-кластеры

Page 20: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

24

Приложения

Page 21: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

Приложения с поддержкой CUDA

Page 22: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

27

Moldflow – ускорение на GPU

Page 23: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

28

Компьютерная томография

Demo

Page 24: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

30

Расчет стоимости опционов и стратегии трейдинга

Расчеты используют симуляции

Монте-Карло

Базируются на генераторе

случайных чисел

Ускорение на 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)

Page 25: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

33

A Necessary Compromise?

Page 26: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

34

Цель .

Задача .

Решение .

Повысить наглядность и удобство диагностики

плода

Получать результаты в высоком разрешении в режиме реального времени

Амниоскопический рендеринг с использованием

GPU NVIDIA позволяет пациентам получить

трехмерное изображение младенца, выводя УЗИ на качественно новый уровень

Page 27: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

35

Page 28: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

37

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

Page 29: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

41

Уменьшение времени реакции на ежесекундно

появляющиеся новые угрозы

Уникальный алгоритм должен быстро сверять

подозрительный файл с 50 млн. эталонов

Перенос задачи на GPU дал 360-кратный прирост

производительности

Цель .

Задача .

Решение .

Page 30: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

42

Сокращение времени обработки документов

Ускорение каждого из этапов обработки

изображения

Применение CUDA на одном из этапов увеличило

его скорость в 30 раз, и ускорило весь процесс

обработки сложных документов в 2 раза

Цель .

Задача .

Решение .

Page 31: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

43

Динамика жидкостей (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

Уравнения Навье-Стокса

Сеточный метод Больцмана

Трехмерные уравнения Эйлера

Page 32: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

45

Электромагнетизм / Электродинамика

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

Page 33: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

46

Моделирование природных явлений

Source: Michalakes, Vachharajani

Токийский Технологический Институт

полностью перенес модель WRF

(расчета прогнозов погоды) на GPU.

Получено 80-кратное ускорение.

Метеорологическое Агентство Японии

рассматривает вариант перехода на

GPU при грядущем обновлении модели

расчета.

Page 34: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

49

Рендеринг на

GPU в CATIA v6

Page 35: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

заказчики

Сравнение

GPU с CPU

производительность/

мощность 18x - 27x 12x - 17x

производительность/

площадь 20x - 31x 15x - 20x

производительность/

стоимость 15x - 20x 10x - 12x

вендоры ПО

20+ нефтегазовых компаний используют CUDA

Page 36: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

CAE ISV Pipeline

Structural Mechanics

Electromagnetics

ANSYS Mechanical

AFEA

Abaqus/Standard (beta)

Fluid Dynamics

AcuSolve

Moldflow

Culises (OpenFOAM)

Particleworks

Nexxim

EMPro

CST MS

XFdtd

SEMCAD X

Available Now Expected Release in 2011

LS-DYNA implicit

Marc

Xpatch

CFD++

LS-DYNA CFD

Page 37: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

Спасибо за внимание

Антон Джораев

[email protected]

Page 38: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

© NVIDIA Corporation 2011

Облегченное портирование приложений

Unified Virtual Addressing

Быстрый обмен между GPU

GPU Direct 2.0

CUDA 4.0 Портирование приложений становится доступнее

Параллельное программирование в C++

Thrust

Page 39: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

© NVIDIA Corporation 2011

NVIDIA GPUDirect™:Towards Eliminating the CPU Bottleneck

•Direct access to GPU memory

for 3rd party devices

•Eliminates unnecessary sys

mem copies & CPU overhead

•Supported by Mellanox and

Qlogic

•Up to 30% improvement in

communication performance

Version 1.0

for applications that communicate

over a network

• Peer-to-Peer memory access,

transfers & synchronization

• Less code, higher programmer

productivity

Details @ http://www.nvidia.com/object/software-for-tesla-products.html

Version 2.0

for applications that communicate

within a node

Page 40: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

© 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

Page 41: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

© 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

Page 42: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

© 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

Page 43: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

© 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.

Page 44: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

© NVIDIA Corporation 2011

CUDA 4.0: Highlights

• Share GPUs across multiple

threads

• Single thread access to all GPUs

• No-copy pinning of system memory

• New CUDA C/C++ features

• Thrust templated primitives library

• NPP image/video processing

library

• Layered Textures

Easier Parallel

Application Porting

•Auto Performance

Analysis

•C++ Debugging

•GPU Binary

Disassembler

•cuda-gdb for MacOS

New & Improved

Developer Tools

• Unified Virtual Addressing

• NVIDIA GPUDirect™ v2.0

• Peer-to-Peer Access

• Peer-to-Peer Transfers

Faster

Multi-GPU Programming

Page 45: Антон Джораев, NVIDIA - parallel.uran.ruparallel.uran.ru/sites/default/files... · CUDA для параллельных ... Maxwell equation solver ... ANSYS Mechanical

© NVIDIA Corporation 2011

NVIDIA CUDA Summary

New in

CUDA 4.0

Libraries

Thrust C++ Library Templated Performance Primitives

NVIDIA Library Support

Complete math.h

Complete BLAS Library (1, 2 and

3)

Sparse Matrix Math Library

RNG Library

FFT Library (1D, 2D and 3D)

Image Processing Library (NPP)

Video Processing Library (NPP)

3rd Party Math Libraries

• CULA Tools

• MAGMA

• IMSL

• VSIPL

Tools

Parallel Nsight Pro

NVIDIA Tools Support

Parallel Nsight 1.0 IDE

cuda-gdb Debugger with multi-GPU

CUDA/OpenCL Visual Profiler

CUDA Memory Checker

CUDA C SDK

CUDA Disassembler

CUDA Partner Tools

Allinea DDT

RogueWave /Totalview

Vampir

Tau

CAPS HMPP

Platform

GPUDirect 2.0 Fast Path to Data

Hardware Support

ECC Memory

Double Precision

Native 64-bit Architecture

Concurrent Kernel Execution

Dual Copy Engines

Multi-GPU support

6GB per GPU supported

Operating System Support MS Windows 32/64

Linux 32/64 support

Mac OSX support

Cluster Management

GPUDirect

Tesla Compute Cluster (TCC)

Graphics Interoperability

Programming Model

Unified Virtual Addressing

C++ new/delete

C++ Virtual Functions

C support

• NVIDIA C Compiler

• CUDA C Parallel Extensions

• Function Pointers

• Recursion

• Atomics

• malloc/free

C++ support • Classes/Objects

• Class Inheritance

• Polymorphism

• Operator Overloading

• Class Templates

• Function Templates

• Virtual Base Classes

• Namespaces

Fortran, OpenCL