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