【18-C-7】GPUコンピューティングが世界を変える~GPGPUで開発をはじめるために知っておくべき10個のこと

  • 3,283 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,283
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
63
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 「GPUコンピューティングが世界を変える」GPGPUで開発をはじめるために知っておくべき10個のこと18-C-7 馬路 徹 NVIDIA Japan (エヌビディア ジャパン) Solution Architect (ソリューション・アーキテクト) Developers Summit 2011
  • 2. GPGPUで開発をはじめるために知っておくべき10個のこと1. GPUの進化2. GPUコンピューティング・アーキテクチャ3. コーディング方法4. GPUコンピューティングによる1-2桁の性能向上5. GPUはどこにあるか6. 今日:GPUコンピューティングを学ぶ7. 明日:GPUコーディングする8. 明後日:GPUクラウドで動かす9. 手のひらスーパーコンピューティングを実現するクライアント用チップ10. 来たるべくパラダイム・シフト Developers Summit 2011
  • 3. 1. GPU(Graphic Processor Unit)の進化 2010 Fermi 3 Billion Transistors GPU Unified Shader+ CUDA Developers Summit 2011
  • 4. 最新のグラフィックス・プロセッサ実写のようにリアルな3次元グラフィックスをリアルタイム描画 最小限の頂点データでこれを実現 テッセレーション技術はx10~x100 の頂点を生成 より少ないデータサイズ、通信帯域で描画可能 Displacement From Source Tessellation Mapping Developers Summit 2011
  • 5. 固定機能プロセッサから超並列の汎用プロセッサへGeForce8シリーズ以降 Vertex Triangle Pixel Raster Operation Memory Developers Summit 2011
  • 6. 2. GPUコンピューティング・アーキテクチャGPUはマルチスレッドを処理する超並列マルチコアプロセッサ 頂点シェーダ、ジオメトリ・シェーダ及びピクセル・シェーダはSP/SMにより実行される GPUコンピューティング・スレッドもSP/SMにより処理される GPUコンピューティング スレッド 頂点シェーダ ジオメトシェーダ ピクセルシェーダ Host スレッド スレッド スレッド SP Input Assembler(32/64b Stream Processor) Thread Execution Manager Thread Processors Thread Processors Thread Processors Thread Processors Thread Processors Thread Processors Thread Processors Thread Processors Paralle Paralle Paralle Paralle Paralle Paralle Paralle Paralle Paralle Paralle Paralle Paralle Paralle Paralle Paralle Paralle l Data l Data l Data l Data l Data l Data l Data l Data l Data l Data l Data l Data l Data l Data l Data l Data Cache Cache Cache Cache Cache Cache Cache Cache Cache Cache Cache Cache Cache Cache Cache Cache SM (Stream Multiprocessor) Load/store Global Memory Developers Summit 2011
  • 7. NVIDIA GPUのコア数の変遷プログラマブル・シェーダー数 FERMI ARCHITECTURE1024 TESLA ARCHITECTURE 512 512 480 480 480 336 384 256 Unified Shader 240 288 288 216 192 192 128 144 Maxwell 128 128 128 Kepler Vertex Shader + Pixel Shader 112 96 96 96 64 64 48 48 32 32 32 8+16 6+16 6+16 16 16 16 5+12 5+12 3+8 8 4+8 8 3+4 2+4 3+2 3+4 2+2 4 1+4 1+4 1+2 1+2 ・ 縦軸はプシェーダの数を示しており、性能を示すものではない。 2 0+2 ・ ここでは代表的な製品のみを表示している。 1 GeForce GeForce GeForce GeForce GeForce GeForce GeForce GeForce GeForce GeForce 3 4 5 6 7 8 9 200 400 500 2001 2002 2003 2004-5 2006-7 2008 2008 2009 2010 2010-11 DirectX 8 DirectX 9 DirectX 9c DirectX 10 DirectX 11 Programmable Shader Unified Shader / CUDA Developers Summit 2011
  • 8. GPUの飛躍的な性能向上 1800 GTX580GFLOPS (32b Single Precision) 1600 1400 浮動小数点演算性能 OVER 1-TFLOPS (一昔のスーパーコンピュータ並み) GTX285 1200 1000 9800 GTX+ CPU 800 GeForce 8800 Ultra 600 7900 GTX 400 GeForce 7800 GTX 6800 Ultra 200 0 2004 2005 2006 2007 2008 2009 2010 Developers Summit 2011
  • 9. GPUコンピューティング・システム 4 cores CPU GPU 90 GFLOPS SP 1580 GFLOPS SP CPUと協調してGPUの圧倒的なパワーを活用 Developers Summit 2011
  • 10. 3.コーディング方法最初に「C with CUDA Extension」を開発 void saxpy_serial(int n, float alpha, float *x, float *y) { for (int i=0; i<n; ++i)標準Cコード y[i] = alpha * x[i] + y[i]; } // Invoke serial saxpy() kernel saxpy_serial(n, 2.0, x, y); CPUからコールしGPUで実行する関数 __global__ void saxpy_parallel(int n, float alpha, float *x, float *y) {CUDAコード int i = blockIdx.x * blockDim.x + threadIdx.x; if (i < n) y[i] = alpha * x[i] + y[i]; } グローバル・スレッドIDをそのままインデックスに活用 // Invoke parallel saxpy() kernel (256 threads per block) int nblocks = (n + 255)/256; saxpy_parallel <<< nblocks, 256 >>>(n, 2.0, x, y); グリッド、ブロックの次元記載 Developers Summit 2011
  • 11. 多様なコーディング方法を提供 GPU コンピューティング・アプリ C OpenCL tm Direct FORTRAN Java and With CUDA Compute Python Extensions 1st GPU demo 1st GPU demo SW supplied by: Compute Over 60,000 Shipped 1st Shipped 1st driver • The Portland Kernels developers OpenCL Beta to Microsoft’s Group Driver API Running in Driver Win7 developers • NCSA release Bindings Production since Strategic Supports all July 2007 developers using CUDA- SDK + Lib’s + NV SW today Architecture Visual Profiler and GPU’s debugger NVIDIA GPU with the CUDA Parallel Computing Architecture OpenCL is trademark of Apple Inc. used under license to the Khronos Group Inc. Developers Summit 2011
  • 12. コーディングの容易性及び性能向上 コーディングの容易性はコーディング時間で測定 (hours) 性能は達成された浮動小数点処理性能で測定 (gflops) High-level algorithmDevelopment tool on CPU CPU & SSE-SIMD Cell Processor GPU with CUDA Source: Nicolas Pinto, MIT Developers Summit 2011
  • 13. 4.GPUコンピューティングによる1-2桁の性能向上 146X 36X 18X 50X 100X 医療画像 分子動力学 ビデオトランスコード MATLAB 演算 宇宙物理学 ユタ大学 イリノイ大学 Elemental Tech AccelerEyes 理研 149X 47X 20X 130X 30X金融シミュレーション 線形計画法 3D 超音波解析 量子化学 遺伝子配列解析 オックスフォード Universidad Techniscan イリノイ大学 メリーランド大学 Jaime Developers Summit 2011
  • 14. Tianhe-1A Supercomputer breaks World Record with NVIDIA GPU The Chinese Supercomputer Tianhe-1A achieved 50% higher performance (2.507PFLOPS) than the previous record holder in Top500. ( 28th Oct, 2010 ) 7,168 Tesla M2050 GPU along with 14,336 CPUs used. With CPU alone, this performance will demand >50,000 CPUs. Developers Summit 2011
  • 15. Three of W/W Top5 Supercomputersusing NVIDIA GPU with NVIDIA GPU Developers Summit 2011
  • 16. Top5 Supercomputers withNVIDIA GPU are using less Power Developers Summit 2011
  • 17. 5.GPUはどこにあるか Developers Summit 2011
  • 18. GPUはスマートフォンからスーパコンピューターまで現時点でCUDA実行可能デバイスはPCからスーパーコンピューターまで Developers Summit 2011
  • 19. 世界に広がる1,000以上のGPUクラスター St. Petersburg Norwegian University Univ of S & T Nizhegorodsky Copenhagen University Aarhus Daresbury Lab Groningen Max Planck Kazan Univ PNNL WestGrid Wisconsin Oxford Institute Institute of 環境研256 GPUs VaTech Utah Argonne Cambridge Braunschweig Physics 320 GPU Fermi Peking 大阪府立大 Lab OSC Maryland Lab University 64 GPUNERSC Johns Hopkins CEA 理研 NCSA Chinese Academy TsinghuaBerkeley 384 GPUs Harvard KISTI 110 GPU of Sciences University Jefferson Labs TACC 2000+ GPUs SNU Stanford Georgia Tech Univ of 東工大 IIT Delhi Yonsei Delaware Oak Ridge UNC Indian Inst of Science & Tech 1408 GPU Tropical NIT Calicut Meteorology NCHC 長崎大学 Indian Institute 256 GPU LRDE National of Science Taiwan Univ Dept of IIT Space Madras Anna Univ Curtin CSIRO University 稼働中のシステム 256 GPUs 設置予定のシステム Swinburne University Developers Summit 2011
  • 20. 6.今日:GPUコンピューティングを学ぶ 国内外から10冊以上の教材 Developers Summit 2011
  • 21. 6.今日:GPUコンピューティングを学ぶ CUDAに関する特設サイトCUDA Zoneとは:開発キット、対応GPU、事例、イベント等の最新情報が掲載 www.nvidia.co.jp/cuda Developers Summit 2011
  • 22. 7.明日:GPUコーディングする デバッガ GPU コンパイラ プロファイラー 並列化コンパイラ C 数値計算 数値演算 C++ ライブラリ パッケージ cuda-gdb NV Visual Profiler Fortran PGI Accelerator BLAS Parallel Nsight OpenCL MATLAB CAPS HMPP FFT Visual Studio DirectComputeMathematica mCUDA LAPACK Allinea Java NI LabView OpenMP NPP TotalView Python pyCUDA Video Imaging GPULib OEM、ソリューション パートナー Developers Summit 2011
  • 23. 8.明後日:GPUクラウドで動かす Amazon EC2 Cluster GPU Instances w/Tesla Utilizes HVM with Application IOMMU pass-through. DomU OS and applications do direct IO DomU OS with the GPU. 100% of Tesla goodness! Hypervisor Hardware Developers Summit 2011
  • 24. The Cluster GPUQuadruple XL Instance  HVM hosted 64-bit platform  Dual quad-core processors  22GB of memory  10GbE networking  Two NVIDIA Tesla m2050 GPUs $2.10 per hour Developers Summit 2011
  • 25. 9. 手のひらスーパーコンピューティングを 実現するクライアント用チップ NVIDIA Tegra Developers Summit 2011
  • 26. Tegra1 最適設計された8プロセッサが最小電力で同時並列動作可能 Tegra1 Developers Summit 2011
  • 27. Tegra2 デュアルCPUコアSoC8 Dedicated ProcessorsHighest CPUPerformanceHD 1080p VideoGeForce® GraphicsUltra Low Power Developers Summit 2011
  • 28. Tegra 2 は他スマートフォンSoCを凌駕 CPU 性能 GPU性能 Tegra 2 A B C Tegra 2 A B C Coremark GLBench 2.0 - Egypt Developers Summit 2011
  • 29. CES2011 Awards - 11 Category NVIDIA and products using NVIDIA devices won four out of 11 Awards in CES2011 Best Notebook Alienware M17x (NVIDIA GTX460 + Sandy Bridge) Best Ultraportable Samsung 9 Series Best Tablet Motorola Xoom (Tegra2, Android3.0) Best Smartphone Motorola Atrix 4G (Tegra2) Best Storage Seagate Tiniest GoFlex Best App/Software Splashtop Remote for Android Best Camera/Camcoder Sony HDR-TD10 Best Accesory Plantronics Voyager PRO Best Wireless NW/Home Entert. Monsoon Vulkano Flow Best Car Tech Parrot Asteroid Card Receiver Best Enabling Technology NVIDIA Tegra2 From LAPTOP, one of the CES2011 Sponsors Developers Summit 2011
  • 30. World Mobile CongressからのホットニュースTegra ロードマップ及び4CPUコア内蔵Tegra KAL-EL発表・実演 Developers Summit 2011
  • 31. 10.来るべきパラダイム・シフトx86 CPU-GPUからARM CPU–GPUへ Developers Summit 2011
  • 32. 市場はPCからモバイル・コンピューティングへ Developers Summit 2011
  • 33. モバイルCPUのARMはx86の 出荷数を大きく凌駕 Developers Summit 2011
  • 34. 次期MS WindowsはARMもサポート x86の一人舞台であったWindowsにもARM が参入 NVIDIA、Qualcom、TIのARM搭載SoCで Windowsデモ NVIDIA Tegra2ではMS Officeもデモ Intel Qualcom TI NVIDIA x86 ARM ARM ARM on Tegra2 (Win + MS Office) Developers Summit 2011
  • 35.  NVIDIAは次世代ARM Cortex A15ライセンスを入手 NVIDIAはDenver用にARMアーキテクチャ・ライセンスを入手 これによりNVIDIAは独自にARM CPUコアの強化をはかる NVIDIAはx86に頼ることなく、ラップトップPCからワークステーション、 スーパーコンピュータに至るまで、GPU とARM CPUを一体化した高性能 SoCを製品化 Developers Summit 2011
  • 36. GPUはエネルギー効率を追求モバイル機器の電池寿命改善~スーパーコンピュータの省エネ Developers Summit 2011
  • 37. Thank you for your attention Developers Summit 2011