От революции в суперкомпьютерах NVIDIA Tesla Update...

29
1 NVIDIA Tesla Update Supercomputing’12 Sumit Gupta General Manager Tesla Accelerated Computing От революции в суперкомпьютерах к прорыву в решении реальных проблем Дмитрий Конягин

Transcript of От революции в суперкомпьютерах NVIDIA Tesla Update...

Page 1: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

1

NVIDIA Tesla Update

Supercomputing’12 Sumit Gupta

General Manager

Tesla Accelerated Computing

От революции в суперкомпьютерах

к прорыву в решении реальных проблем Дмитрий Конягин

Page 2: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

2

Гибридные вычисления

CPU Создан для

последовательных задач

GPU ускоритель Создан для

параллельных задач

10x производительность 5x энергоэффективность

Page 3: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

3

0

5

10

15

20

25

30

35

40

2007 2008 2009 2010 2011 2012

CUDA обеспечивает 19% всех FLOPS (благодаря системам с GPU)

Обш

ая п

роизв

одите

льность

(PFLO

PS)

NVIDIA Kepler

NVIDIA Fermi

Intel Xeon Phi

IBM Cell

Other

Page 4: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

4

Ключевой элемент научных вычислений

1 Tesla K20X GPU 90 нсек/день

12 Sandy Bridge CPUs 41 нсек/день

AMBER Molecular Dynamics Simulation

JAC NVE Benchmark

Page 5: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

5

2008 2013

4,000 Научных работ

150K Скачиваний CUDA

60 Курсов в

университетах

100M GPU на базе CUDA

1 Суперкомпьютер

430M GPU на базе CUDA

50 Суперкомпьютеров

1.6M Скачиваний CUDA

640 Курсов в

университетах

37,000 Научных работ

Экспоненциальный рост вычислений на GPU

Page 6: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

6

Приложения ускоряемые GPU

Page 7: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

7

Ведущие приложения теперь с поддержкой GPU

AMBER

NAMD

GROMACS

CHARMM

LAMMPS DL_POLY

Non-GPU Apps

Молекулярная динамика

Adobe CS

Apple Final Cut

Sony Vegas Pro

Avid Media Composer

Autodesk 3dsMax

Other GPU Apps

Non-GPU Apps

Создание контента

Gaussian GAMESS

NWChem

CP2K Quantum Espresso

Non-GPU Apps

Квантовая химия

ANSYS

Simulia Abaqus

MSC Nastran Altair

Radioss

Non-GPU Apps

Инженерный анализ

Рыночная доля

приложений в сегменте

Page 8: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

8

207 приложений с поддержкой GPU www.nvidia.com/appscatalog

Page 9: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

GPU как основа нейронных сетей

2012

Датацентр Google

Теперь

Лаборатория ИИ NVIDIA & Stanford

1000 CPU серверов

Нейронная сеть с 1.7 млрд

параметров

16 серверов на базе GPU

Нейронная сеть с 11.2 млрд

параметров

В 6.5 раз больше нейронная сеть

Page 10: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

Ведущие лаборатории по разработке алгоритмов ИИ используют GPU

Web поиск

Распознавание речи

Распознавание объектов

Языковой перевод

Автомобили без водителя

Prof. Geoffrey Hinton,

Work being integrated into

Google Brain

Prof. Yann LeCun

Leading Expert in Optical

Character Recognition

Prof. Jürgen Schmidhuber

Director of Award Winning AI Lab

Prof. Andrew Ng

Director of Stanford AI Lab

Founder of Google Brain

Page 11: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

Nuance: улучшение качества распознавани речи с GPU

Мировой лидер в распознавании речи 12 млдр звонков

25 млн автомобилей

Тренировка моделей больших сетей

GPU сокращает время обучения с недель до дней

GPU значительно сокращают время обучения на больших объемах данных, позволяя нам исследовать новые алгоритмы и техники обучения

” Vlad Sejnoha CTO, Nuance

Page 12: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

За пределами HPC GPU ускоряют аналитику Big Data

Анализ Twitter

Shazam

Поиск по аудио Поиск по

изображениям

Энкодирование

видео в реальном

времени

Page 13: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

ARM: самый быстро растущий CPU

1993 1998 2003 2008 2013 0%

20%

40%

80%

100%

Ры

ночная д

оля п

роцессоров

Отгрузки x86 и Cortex процессоров

60%

0

1

2

4

5

3

Отгр

узк

и п

роцессоров (М

лрд)

Source: Mercury Research, ARM, Internal estimates

Page 14: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

Новое поколение набора для разработки CUDA для ARM

Tegra 3 + GK208 + CUDA 5.x + OpenGL 4.3

Поддержка GPU на базе Kepler

SM35: поддержка динамического параллелизма и др

2 SMX, 384 CUDA ядер

Функционал решения Logan SoC

Более энергоэффективное интегрированное решение

Стандартный форм-фактор

SECO mITX GPU DevKit

GeForce GT 640 PCI-e card mITX GPU DevKit

Note 1: SECO mITX GPU DevKit does not ship with PCI-e GPU Note 2: GT 640 is not yet announced

Page 15: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

CUDA 5.5 полная поддержка для ARM

Особенности CUDA 5.5

Поддержка платформы ARM

Нативная компиляция под ARM

Оптимизация под MPI

Hyper-Q для всех дистибутивов Linux

Приориетизация задач MPI

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

Пошаговая оптимизация

ARM или x86 CPU Создан для

последовательных задач

GPU ускоритель Создан для

параллельных задач

Доступно сейчас http://developer.nvidia.com/cuda-toolkit

Page 16: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

От умных роботов до энергоэффективных СК

Автономные роботы На 35% выше

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

Page 17: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

Экосистемам HPC готовится к ARM

0

0.05

0.1

0.15

0.2

0.25

ARM+GPU 2x CPU (x86)

HOOMD-Blue (LJ-Liquid) Time Steps per

sec/Watt

0

0.5

1

1.5

2

2.5

3

3.5

4

ARM+GPU 2x CPU (x86)

AMBER (Cellulose NPT)

Ns/day

Приложения портируемые

на ARM + GPU

ACEMD

AMBER

GROMACS

HOOMD-Blue

NAMD

NWChem

OpenMM

HOOMD-blue (LJ-liquid (N=64000), GeForce GT 640 + Tegra3 vs. 2x E5-2667 (12 Sandy Bridge cores)

AMBER (Cellulose NPT (408,609 atoms), GeForce GTX 680 + Tegra3 vs. 2x E5-2670 (16 Sandy Bridge cores)

Page 18: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

3 способа программировать на GPU

Библиотеки BLAS, FFT, MAGMA & CULA

LAPACK, …

Директивы OpenACC

CUDA Расширения

C/C++/Fortran

Приложения

“copy-paste”

ускорение

Максимальная

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

Простое ускорение

приложение

Page 19: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

Библиотеки с поддержкой GPU “Copy-past” ускорение для ваших приложений

Линейная алгебра FFT, BLAS,

SPARSE, Matrix

Численные методы RAND, Statistics

Структуры данных Sort, Scan, Zero Sum

Обработка изображ. Image & Video

NVIDIA

cuFFT,

cuBLAS,

cuSPARSE

NVIDIA

Math Lib NVIDIA cuRAND

NVIDIA

NPP

NVIDIA

Video

Encode

GPU AI –

Board

Games

GPU AI –

Path Finding

Page 20: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

OpenACC: открытость, простота, портируемость

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

• Простые директивы компилятору

• Портируемость на GPU и Xeon Phi

main() {

<serial code>

#pragma acc kernels

{

<compute intensive code>

}

}

Директивы компилятору

CAM-SE Climate В 6 раз быстрее на GPU

Основное ядро: 50% времени исполнения

Доступно от:

Page 21: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

Сейсморазведка

EMGS

Эффективность ДВС

National Renewable

Energy Lab

Вычислительная

химия

Blue Waters @ NCSA

Моделирование

климата

Swiss National

Weather Agency

COSMO (Physics)

OpenACC ускоряет решение научных проблем

4.2x

GAMESS CCSD

3.1x

S3D

2.2x

ELAN

3.2x Performance Speed-up:

2x AMD6274 CPUs vs 1 AMD6274 CPU + 1 Tesla K20X

Page 22: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

void saxpy_serial(int n, float a, float *x, float *y)

{

for (int i = 0; i < n; ++i)

y[i] = a*x[i] + y[i];

}

//Invoke serial SAXPY kernel

saxpy_serial(n, 2.0, x, y);

__global__ void saxpy_parallel(int n, float a, float *x, float *y)

{

int i = blockIdx.x*blockDim.x + threadIdx.x;

if (i < n) y[i] = a*x[i] + y[i];

}

//Invoke parallel SAXPY kernel w/ 256 threads/blk

int nblocks = (n + 255) / 256;

saxpy_parallel<<<nblocks, 256>>>(n, 2.0, x, y);

Программирование GPU на C, C++, Fortran, Python

Стандартный C код Параллельный C код

Page 23: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

Самый простой способ изучить CUDA

50K Регистраций

127 Стран

$$

Учитесь у мэтров

Где угодно, когда удобно

Бесплатно!

Общайтесь с сообществом

Page 24: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

Роадмап: в ритме GPU

2012 2014 2008 2010

DP G

FLO

PS p

er

Watt

Kepler

Tesla

Fermi

Maxwell

Volta Stacked DRAM

Unified Virtual Memory

Dynamic Parallelism

FP64

CUDA

32

16

8

4

2

1

0.5

Page 25: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

Конкуренция

Page 26: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

Если это так просто, почему до сих пор

нет тысяч приложений?

Page 27: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

GPU: всегда быстрее, чем Xeon Phi

Source: Tokyo Tech Presentation- Application Performances on Many-core Processors, Xeon Phi versus Kepler GPU

Tokyo Tech CFD Code Benchmark

Page 28: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

Независимые результаты от пользователей Xeon Phi GPU в 2-20 раз быстрее, чем оптимизированный код на Xeon Phi

Tokyo Tech

20X

Univ. of Warwick

4X

CGGVeritas

2X

NREL

1.5X

C’t Mag

1.6X

Georgia Tech

2X

Page 29: От революции в суперкомпьютерах NVIDIA Tesla Update …hpc-ua.org/hpc-day-13/files/presentations/3.pdf · Скачиваний CUDA 640 Курсов в

NVIDIA Tesla Update Supercomputing’12

Sumit Gupta General Manager

Tesla Accelerated Computing

Спасибо!