NVIDIA Tesla Products

Download Report

Transcript NVIDIA Tesla Products

加速并行计算
内容
什么是 GPU 计算
Tesla GPU 介绍
GPU软件编程方式
GPU应用领域
© NVIDIA Corporation 2009
什么是 GPU 计算
© NVIDIA Corporation 2009
业界标准x86服务器
CPU
IOH
DRAM
NVIDIA
GPU
PCIe-Gen2
ICH
USB
DRAM I/F
SATA
PCIe-Gen2
HOST I/F
CPU
DRAM I/F
DRAM
DRAM I/F
+ NVIDIA GPU
Giga
Thread
DRAM I/F
© NVIDIA Corporation 2009
DRAM I/F
E-net
DRAM I/F
L2
CPU + GPU 异构计算
应用程序代码
GPU
© NVIDIA Corporation 2009
其他串行的CPU代码
计算密集型函数
CPU
使用CUDA并行
+
GPU = 高计算能力和内存带宽
双精度峰值
GFlops/sec
700
Fermi+
M2090
200
内存带宽峰值
GBytes/sec
Fermi+
M2090
600
150
Fermi
M2070
500
Fermi
M2070
400
100
300
8-core
Sandy Bridge
3 GHz
M1060
8-core Sandy
Bridge
3 GHz
200
50
M1060
100
Nehalem
3 GHz
0
2007
2008
2009
Double Precision: NVIDIA GPU
© NVIDIA Corporation 2009
Westmere
3 GHz
2010
2011
2012
Double Precision: x86 CPU
0
2007
2008
Nehalem
3 GHz
Westmere
3 GHz
2009
2010
NVIDIA GPU (ECC off)
2011
x86 CPU
2012
CPU + GPU 处理流程
PCIe Bus
1. 把输入数据从CPU内存拷贝到GPU内存
© NVIDIA Corporation 2009
CPU + GPU处理流程
PCIe Bus
1. 把输入数据从CPU内存拷贝到GPU内存
2. 载入GPU程序并执行,数据缓冲在GPU芯
片上
© NVIDIA Corporation 2009
CPU + GPU处理流程
PCIe Bus
1. 把输入数据从CPU内存拷贝到GPU内存
2. 载入GPU程序并执行,数据缓冲在GPU芯
片上
3. 把结果从GPU内存拷回到CPU内存
© NVIDIA Corporation 2009
146X
36X
18X
50X
100X
医学成像
美国犹他大学
分子动力学
美国伊利诺伊大学厄
本那香槟分校
视频转码
Elemental Tech
MATLAB计算,
AccelerEyes
天体物理学
日本理化学研究所
真实的应用软件加速
149X
47X
20X
130X
30X
金融模拟
牛津大学
线性代数
Universidad Jaime
3D 超声波
Techniscan
量子化学
美国伊利诺伊大学厄
本那香槟分校
基因排序
美国马里兰大学
© NVIDIA Corporation 2009
Top 5 中有 3 台GPU超级计算机
#2 : 天河-1A
#4 : 星云
#5 : Tsubame 2.0
7168 Tesla GPU’s 2.5 PFLOPS
4650 Tesla GPU’s 1.2 PFLOPS
4224 Tesla GPU’s 1.194 PFLOPS
“CPU + GPU混合的方式,这也是一个创造。
”
我们不仅创造了运转速度第一的计算机,在计算机的架构上又实现了
© NVIDIA Corporation 2009
温家宝总理
世界上顶级的开放的科
学计算研究平台
18,000+ Tesla GPUs
20+ PetaFlops
3x More Energy Efficient than
Current #1 (K Computer)
© NVIDIA Corporation 2009
CPU + GPU 异构计算的优点
高性能
高性价比
高能效
节省空间
© NVIDIA Corporation 2009
CPU 配送匹萨
过程:
卡车挨家挨户地送
© NVIDIA Corporation 2009
Original Idea by Jedox www.jedox.com
NVIDIA GPU 配送匹萨
过程:
许多人同时送
© NVIDIA Corporation 2009
Original Idea by Jedox www.jedox.com
Tesla GPU 产品介绍
© NVIDIA Corporation 2009
当前的Tesla GPU 产品
Servers & Blades
Workstations
M2075
C2075
512
448
448
6 GB
6 GB
6 GB
177.6 GB/s
150 GB/s
148.8 GB/s
Single
Precision
1331
1030
1030
Double
Precision
665
515
515
Memory
Memory bandwidth
(ECC off)
© NVIDIA Corporation 2009
Tesla C-series GPUs
C2075
M2090
Cores
Peak
Perf
Gflops
Tesla M-series GPUs
M2090 | M2075
Tesla CUDA 架构路线图
Maxwell
16
DP GFLOPS per Watt
14
12
10
8
Kepler
6
4
2
Tesla
2008
© NVIDIA Corporation 2009
Fermi
2010
2012
2014
Tesla K10
高性能的单精度运算
高效率的能耗
海量数据运算
高内存吞吐量
© NVIDIA Corporation 2009
Tesla K10 计算规格
Product Name
M2090
K10
Fermi
Kepler GK104
1
2
# CUDA Cores
512
3072 (1536 per GPU)
Memory size
6 GB
8 GB (4GB per GPU)
Memory BW (ECC
off)
177.6 GB/s
160GB/s per GPU
Total Board Power
225W
250W*
Single Precision
Flops
1.3 TFlops
4.58 TF (2.3TF per GPU)
Double Precision
Flops
0.66 TFlops
0.190 TF (0.095 TF per
GPU)
Gen 2 x16, 8 GB/s
Gen 3 x16, 16 GB/s
Cache, Register Files,
DRAM
DRAM memories
GPU Architecture
# of GPUs
10.5”
PCI-Express
ECC Protection
© NVIDIA Corporation 2009
4.376”
Tesla K10 vs M2090: 2x Performance / Watt
2.50
2.00
1.50
1.00
225W
450
W
0.50
0.00
Seismic
Processing
© NVIDIA Corporation 2009
LAMMPS
NAMD
AMBER*
Radio
Astronomy
Cross-Correlator
Nbody
Defense (Integer
Ops)
* 2 instances of AMBER running JAC
Tesla K10
Oil & Gas
Life
Sciences
© NVIDIA Corporation 2009
Defense
Video
Q2
Supercomputing
Weather / Climate Modeling
Molecular Dynamics
Computational Physics
Structural Mechanics
Comp Fluid Dynamics (CFD)
Electromagnetics
Defense / Govt
Tesla
M2075
Signal Processing
Image Processing
Video Analytics
Reverse Time Migration
Kirchoff Time Migration
Tesla
K10
Q4
Tesla
K20
Kepler
GK110
Biochemistry
Bioinformatics
Material Science
Oil and Gas
© NVIDIA Corporation 2009
Tesla
M2090
Fermi
Manufacturing
Life Science
Q3
Kepler GK104
GPU 软件开发方式
© NVIDIA Corporation 2009
应用程序需要改写以获得加速
应用程序代码
GPU
© NVIDIA Corporation 2009
其他串行的CPU代码
计算密集型函数
CPU
使用CUDA并行
+
3种方法可利用GPU加速
应用软件
GPU函数库
“顺便” 加速
© NVIDIA Corporation 2009
OpenACC
编译器指令
CUDA/C
Fortran
编程语言
容易加速应用软件
提供了最大性能和编程的
灵活性
GPU 函数库: 使用简单,加速明显
cuBLAS
Dense Linear Algebra
Parallel Algorithms
QUDA
Lattice QCD
© NVIDIA Corporation 2009
NVIDIA cuBLAS
NVIDIA cuRAND
NVIDIA cuSPARSE
NVIDIA NPP
Vector Signal
Image Processing
GPU Accelerated
Linear Algebra
Matrix Algebra on
GPU and Multicore
NVIDIA cuFFT
IMSL Library
Sparse Linear
Algebra
Building-block
Algorithms for CUDA
C++ STL Features
for CUDA
GPU 加速的函数库
“Drop-in” Acceleration for Your Applications
© NVIDIA Corporation 2009
OpenACC:
并行计算的开放编程标准
“ OpenACC将会使编程人员能够轻松开发可移植的应用,最大限度地从
Titan的混合CPU/ GPU架构获得性能和能源效率上的好处。”
容易,快速,可移植
“ OpenACC是一个技术上令人印象深刻的举措,与OpenMP的工作组成员
以及其他许多人一起共同制定加速器编程的标准。我们期待着释放
OpenMP的下一个版本一个版本这个建议。”
© NVIDIA Corporation 2009
http://www.openacc-standard.org/
Buddy Bland
Titan Project Director
Oak Ridge National Lab
Michael Wong
CEO, OpenMP
Directives Board
编译指令的编程方式
CPU
GPU
在源代码中加入编译指示
准备并行计算
main() {
…
<serial code>
…
#pragma acc region
{
<compute intensive code>
}
…
}
原始的
C/Fortran 代码
© NVIDIA Corporation 2009
Compiler
Hint
编译器执行并行化代码的工作
在多核CPU和众核GPU上都可工作
2x in 4 Weeks. Guaranteed.
Free 30 day trial license
to PGI Accelerator*
Tools for quick ramp
www.nvidia.com/2xin4weeks
© NVIDIA Corporation 2009
*Limit 1000 developers
成功的实例
Large Oil Company
Univ. of Houston
Uni. Of Melbourne
Ufa State Aviation
GAMESS-UK
Prof. M.A. Kayali
Prof. Kerry Black
Technical University
Dr. Wilkinson, Prof. Naidoo
3x in 7 days
20x in 2 days
65x in 2 days
Prof. Arthur Yuldashev
10x
Solving billions of
equations iteratively for oil
production at world’s
largest petroleum
reservoirs
Studying magnetic
systems for innovations in
magnetic storage media
and memory, field sensors,
and biomagnetism
Better understand complex
reasons by lifecycles of
snapper fish in Port Phillip
Bay
© NVIDIA Corporation 2009
7x in 4 Weeks
Generating stochastic
geological models of
oilfield reservoirs with
borehole data
Used for various fields
such as investigating
biofuel production and
molecular sensors.
CUDA 走向开放
CUDA compiler source now available with Open
source LLVM Compiler
CUDA
C, C++, Fortran
SDK includes specification documentation,
examples, and verifier
LLVM Compiler
For CUDA
Provides ability for anyone to add CUDA to
new languages and processors
NVIDIA
GPUs
Learn more at
http://developer.nvidia.com/cuda-source
© NVIDIA Corporation 2009
New Language
Support
x86
CPUs
New Processor
Support
PGI CUDA x86
CUDA 支持 CPU 和 GPU
GPU
NVIDIA C / C++ Compiler
Single CUDA
C / C++
Codebase
PGI CUDA X86 Compiler
C / C++ Support
CPU
© NVIDIA Corporation 2009
NVIDIA GPU 开发者生态系统
Debuggers
& Profilers
Numerical
Packages
MATLAB
Mathematica
NI LabView
pyCUDA
cuda-gdb
NV Visual Profiler
Parallel Nsight
Visual Studio
Allinea
TotalView
GPGPU Consultants & Training
ANEO
GPU Tech
© NVIDIA Corporation 2009
GPU Compilers
C
C++
Fortran
OpenCL
DirectCompute
Java
Python
Parallelizing
Compilers
Libraries
PGI Accelerator
CAPS HMPP
mCUDA
OpenMP
BLAS
FFT
LAPACK
NPP
Video
Imaging
GPULib
OEM Solution Providers
GPU 应用软件
© NVIDIA Corporation 2009
GPU得到了广泛的采用
石油天然气
教育科研
政府
生命科学
金融
制造业
地震资料处理
油藏数字模拟
天体物理
分子动力学
天气预报
数字信号处理
卫星图像处理
视频分析
生物化学
生物信息学
材料科学
基因
风险分析
蒙特卡洛
期权定价
保险
结构力学
计算流体力学
电磁模拟
© NVIDIA Corporation 2009
GPU 加速的软件
© NVIDIA Corporation 2009
http://www.nvidia.com/object/gpu-applications.html
HPC 发展趋势
并行化
众核处理器 (GPU)
CPU & GPU 融合
© NVIDIA Corporation 2009
39
谢谢 !