HIGHPERFORMANCE COMPUTING WITH NVIDIA TESLA GPUS Timothy Lanfear

  • Slides: 43
Download presentation
HIGH-PERFORMANCE COMPUTING WITH NVIDIA TESLA GPUS Timothy Lanfear, NVIDIA

HIGH-PERFORMANCE COMPUTING WITH NVIDIA TESLA GPUS Timothy Lanfear, NVIDIA

WHY GPU COMPUTING? © NVIDIA Corporation 2009

WHY GPU COMPUTING? © NVIDIA Corporation 2009

Science is Desperate for Throughput Gigaflops 1, 000, 000 1, 000 1 Exaflop Bacteria

Science is Desperate for Throughput Gigaflops 1, 000, 000 1, 000 1 Exaflop Bacteria 100 s of Chromatophores 1 Petaflop Chromatophore 50 M atoms 1, 000 Ribosome 2. 7 M atoms 1 BPTI 3 K atoms 1982 © NVIDIA Corporation 2009 Estrogen Receptor 36 K atoms 1997 F 1 -ATPase 327 K atoms 2003 Ran for 8 months to simulate 2 nanoseconds 2006 2010 2012

Power Crisis in Supercomputing Household Power Equivalent Exaflop City 25, 000 Watts 7, 000

Power Crisis in Supercomputing Household Power Equivalent Exaflop City 25, 000 Watts 7, 000 Watts Petaflop Town Jaguar Los Alamos 850, 000 Watts Teraflop Neighborhood 60, 000 Watts Gigaflop Block 1982 © NVIDIA Corporation 2009 1996 2008 2020

“Oak Ridge National Lab (ORNL) has already announced it will be using Fermi technology

“Oak Ridge National Lab (ORNL) has already announced it will be using Fermi technology in an upcoming super that is ‘expected to be 10 -times more powerful than today’s fastest supercomputer. ’ Since ORNL’s Jaguar supercomputer, for all intents and purposes, holds that title, and is in the process of being upgraded to 2. 3 Petaflops … … we can surmise that the upcoming Fermi-equipped super is going to be in the 20 Petaflops range. ” September 30 2009 © NVIDIA Corporation 2009

What is GPU Computing? x 86 PCIe bus GPU Computing with CPU + GPU

What is GPU Computing? x 86 PCIe bus GPU Computing with CPU + GPU Heterogeneous Computing © NVIDIA Corporation 2009

Low Latency or High Throughput? CPU Optimised for low-latency access to cached data sets

Low Latency or High Throughput? CPU Optimised for low-latency access to cached data sets Control logic for out-of-order and speculative execution Control © NVIDIA Corporation 2009 ALU ALU Cache DRAM GPU Optimised for data-parallel, throughput computation Architecture tolerant of memory latency More transistors dedicated to computation ALU DRAM

Why Didn’t GPU Computing Take Off Sooner? GPU Architecture Gaming oriented, process pixel for

Why Didn’t GPU Computing Take Off Sooner? GPU Architecture Gaming oriented, process pixel for display Single threaded operations No shared memory Development Tools Graphics oriented (Open. GL, GLSL) University research (Brook) Assembly language Deployment Gaming solutions with limited lifetime Expensive Open. GL professional graphics boards No HPC compatible products © NVIDIA Corporation 2009

NVIDIA Invested in GPU Computing in 2004 Strategic move for the company Expand GPU

NVIDIA Invested in GPU Computing in 2004 Strategic move for the company Expand GPU architecture beyond pixel processing Future platforms will be hybrid, multi/many cores based Hired key industry experts x 86 architecture x 86 compiler HPC hardware specialist Create a GPU based Compute Ecosystem by 2008 © NVIDIA Corporation 2009

NVIDIA GPU Computing Ecosystem CUDA Training Company ISV TPP / OEM CUDA Development Specialist

NVIDIA GPU Computing Ecosystem CUDA Training Company ISV TPP / OEM CUDA Development Specialist Hardware Architect VAR GPU Architecture CUDA SDK & Tools Customer NVIDIA Hardware Solutions Customer Application Requirements Hardware Architecture © NVIDIA Corporation 2009 Deployment

NVIDIA GPU Product Families Ge. Force® Tesla. TM Quadro® Entertainment High-Performance Computing Design &

NVIDIA GPU Product Families Ge. Force® Tesla. TM Quadro® Entertainment High-Performance Computing Design & Creation © NVIDIA Corporation 2009

Many-Core High Performance Computing NVIDIA’s 10 -series GPU has 240 cores NVIDIA 10 -Series

Many-Core High Performance Computing NVIDIA’s 10 -series GPU has 240 cores NVIDIA 10 -Series GPU Each core has a Floating point / integer unit Logic unit Move, compare unit Branch unit 1. 4 billion transistors 1 Teraflop of processing power 240 processing cores Cores managed by thread manager Thread manager can spawn and manage 30, 000+ threads Zero overhead thread switching © NVIDIA Corporation 2009 NVIDIA’s 2 nd Generation CUDA Processor

Tesla GPU Computing Products Super. Micro 1 U GPU Super. Server Tesla S 1070

Tesla GPU Computing Products Super. Micro 1 U GPU Super. Server Tesla S 1070 1 U System Tesla C 1060 Computing Board Tesla Personal Supercomputer GPUs 2 Tesla GPUs 4 Tesla GPUs 1 Tesla GPU 4 Tesla GPUs Single Precision Performance 1. 87 Teraflops 4. 14 Teraflops 933 Gigaflops 3. 7 Teraflops Double Precision Performance 156 Gigaflops 346 Gigaflops 78 Gigaflops 312 Gigaflops Memory 8 GB (4 GB / GPU) 16 GB (4 GB / GPU) 4 GB 16 GB (4 GB / GPU) © NVIDIA Corporation 2009

Tesla C 1060 Computing Processor 1 × Tesla T 10 Number of cores 240

Tesla C 1060 Computing Processor 1 × Tesla T 10 Number of cores 240 Core Clock 1. 296 GHz Floating Point Performance © NVIDIA Corporation 2009 933 Gflops Single Precision 78 Gflops Double Precision On-board memory 4. 0 GB Memory bandwidth 102 GB/sec peak Memory I/O 512 -bit, 800 MHz GDDR 3 Form factor Full ATX: 4. 736″ 4. 736 x 10. 5″ 10. 5 Dual slot wide System I/O PCIe × 16 Gen 2 Typical power 160 W

Tesla M 1060 Embedded Module Processor 1 × Tesla T 10 Number of cores

Tesla M 1060 Embedded Module Processor 1 × Tesla T 10 Number of cores 240 Core Clock 1. 296 GHz Floating Point Performance OEM-only product Available as integrated product in OEM systems © NVIDIA Corporation 2009 933 Gflops Single Precision 78 Gflops Double Precision On-board memory 4. 0 GB Memory bandwidth 102 GB/sec peak Memory I/O 512 -bit, 800 MHz GDDR 3 Form factor Full ATX: 4. 736″ 4. 736 x 10. 5″ 10. 5 Dual slot wide System I/O PCIe × 16 Gen 2 Typical power 160 W

Tesla Personal Supercomputer Supercomputing Performance Massively parallel CUDA Architecture 960 cores. 4 Teraflops 250×

Tesla Personal Supercomputer Supercomputing Performance Massively parallel CUDA Architecture 960 cores. 4 Teraflops 250× the performance of a desktop Personal One researcher, one supercomputer Plugs into standard power strip Accessible Program in C for Windows, Linux Available now worldwide under $10, 000 © NVIDIA Corporation 2009

Tesla S 1070 1 U System © NVIDIA Corporation 2009 Processors 4 × Tesla

Tesla S 1070 1 U System © NVIDIA Corporation 2009 Processors 4 × Tesla T 10 Number of cores 960 Core Clock 1. 44 GHz Performance 4 Teraflops Total system memory 16. 0 GB (4. 0 GB per T 10) Memory bandwidth 408 GB/sec peak (102 GB/sec per T 10) Memory I/O 2048 -bit, 800 MHz GDDR 3 (512 -bit per T 10) Form factor 1 U (EIA 19″ rack) System I/O 2 PCIe × 16 Gen 2 Typical power 700 W

Super. Micro GPU 1 U Super. Server M 1060 GPUs Two M 1060 GPUs

Super. Micro GPU 1 U Super. Server M 1060 GPUs Two M 1060 GPUs in a 1 U Dual Nehalem-EP Xeon CPUs Up to 96 GB DDR 3 ECC Onboard Infiniband (QDR) 3× hot-swap 3. 5″ SATA HDD 1200 W power supply © NVIDIA Corporation 2009

Tesla Cluster Configurations Modular 2 U compute node Integrated 1 U compute node Tesla

Tesla Cluster Configurations Modular 2 U compute node Integrated 1 U compute node Tesla S 1070 + Host Server 4 Teraflops GPU Super. Server 2 Teraflops © NVIDIA Corporation 2009

CUDA Parallel Computing Architecture GPU Computing Applications CUDA C Open. CL™ Direct. Compute CUDA

CUDA Parallel Computing Architecture GPU Computing Applications CUDA C Open. CL™ Direct. Compute CUDA Fortran Java and Python NVIDIA GPU with the CUDA Parallel Computing Architecture © NVIDIA Corporation 2009 Open. CL is trademark of Apple Inc. used under license to the Khronos Group Inc.

NVIDIA CUDA C and Open. CL CUDA C Entry point for developers who want

NVIDIA CUDA C and Open. CL CUDA C Entry point for developers who want low-level API Shared back-end compiler and optimization technology Open. CL PTX GPU © NVIDIA Corporation 2009 Entry point for developers who prefer high-level C

Application Software (written in C) CUDA Libraries cu. FFT cu. BLAS cu. DPP CPU

Application Software (written in C) CUDA Libraries cu. FFT cu. BLAS cu. DPP CPU Hardware 1 U PCI-E Switch 4 cores © NVIDIA Corporation 2009 CUDA Compiler C Fortran CUDA Tools Debugger Profiler 240 cores

NVIDIA Nexus The first development environment for massively parallel applications. Hardware GPU Source Debugging

NVIDIA Nexus The first development environment for massively parallel applications. Hardware GPU Source Debugging Parallel Source Debugging Platform-wide Analysis Complete Visual Studio integration Platform Trace Register for the Beta here at GTC! http: //developer. nvidia. com/object/nexus. html Beta available October 2009 Releasing in Q 1 2010 © NVIDIA Corporation 2009 Graphics Inspector

CUDA Zone: www. nvidia. com/CUDA Toolkit Compiler Libraries CUDA SDK Code samples CUDA Profiler

CUDA Zone: www. nvidia. com/CUDA Toolkit Compiler Libraries CUDA SDK Code samples CUDA Profiler Forums Resources for CUDA developers © NVIDIA Corporation 2009

Wide Developer Acceptance and Success 146 X 36 X Interactive visualization of volumetric white

Wide Developer Acceptance and Success 146 X 36 X Interactive visualization of volumetric white matter connectivity Ion placement for molecular dynamics simulation 149 X Financial simulation of LIBOR model with swaptions © NVIDIA Corporation 2009 47 X GLAME@lab: An M -script API for linear Algebra operations on GPU 19 X 17 X 100 X Simulation in Matlab using. mex file CUDA function Astrophysics Nbody simulation 20 X 24 X 30 X Ultrasound medical imaging for cancer diagnostics Highly optimized object oriented molecular dynamics Cmatch exact string matching to find similar proteins and gene sequences Transcoding HD video stream to H. 264

CUDA Co-Processing Ecosystem Over 200 Universities Teaching CUDA UIUC MIT Harvard Berkeley Cambridge Oxford

CUDA Co-Processing Ecosystem Over 200 Universities Teaching CUDA UIUC MIT Harvard Berkeley Cambridge Oxford … Applications Oil & Gas Finance CFD Medical Biophysics Imaging Numerics DSP © NVIDIA Corporation 2009 EDA IIT Delhi Tsinghua Dortmundt ETH Zurich Moscow NTU … Libraries FFT BLAS LAPACK Image processing Video processing Signal processing Vision Languages Compilers C, C++ Direct. X Fortran Java Open. CL Python PGI Fortran CAPs HMPP MCUDA MPI NOAA Fortran 2 C Open. MP Consultants ANEO GPU Tech OEMs

What We Did in the Past Three Years 2006 G 80, first GPU with

What We Did in the Past Three Years 2006 G 80, first GPU with built-in compute features, 128 core multi-threaded, scalable architecture CUDA SDK Beta 2007 Tesla HPC product line CUDA SDK 1. 0, 1. 1 2008 GT 200, second GPU generation, 240 core, 64 -bit Tesla HPC second generation CUDA SDK 2. 0 2009 … © NVIDIA Corporation 2009

NEXT-GENERATION GPU ARCHITECTURE — F ‘ ERMI’ © NVIDIA Corporation 2009

NEXT-GENERATION GPU ARCHITECTURE — F ‘ ERMI’ © NVIDIA Corporation 2009

Introducing the ‘Fermi’ Architecture The Soul of a Supercomputer in the body of a

Introducing the ‘Fermi’ Architecture The Soul of a Supercomputer in the body of a GPU DRAM I/F 8× the peak DP performance ECC L 1 and L 2 caches ~2× memory bandwidth (GDDR 5) DRAM I/F © NVIDIA Corporation 2009 L 2 Over 2× the cores (512 total) DRAM I/F Giga Thread DRAM I/F HOST I/F 3 billion transistors Concurrent kernels Up to 1 Terabyte of GPU memory Hardware support for C++

Design Goal of Fermi Data Parallel Instruction Parallel GPU Bring more users, more applications

Design Goal of Fermi Data Parallel Instruction Parallel GPU Bring more users, more applications to the GPU CPU Many Decisions © NVIDIA Corporation 2009 Expand performance sweet spot of the GPU Large Data Sets

Streaming Multiprocessor Architecture Instruction Cache Scheduler Dispatch 32 CUDA cores per SM (512 total)

Streaming Multiprocessor Architecture Instruction Cache Scheduler Dispatch 32 CUDA cores per SM (512 total) Dispatch Register File Core 8× peak double precision floating point performance Core 50% of peak single precision Core Core Core Dual Thread Scheduler Core Core 64 KB of RAM for shared memory and L 1 cache (configurable) Core Load/Store Units x 16 Special Func Units x 4 Interconnect Network 64 K Configurable Cache/Shared Mem Uniform Cache © NVIDIA Corporation 2009

CUDA Core Architecture Instruction Cache Scheduler Dispatch New IEEE 754 -2008 floating-point standard, surpassing

CUDA Core Architecture Instruction Cache Scheduler Dispatch New IEEE 754 -2008 floating-point standard, surpassing even the most advanced CPUs Dispatch Register File Core Core Fused multiply-add (FMA) instruction for both single and double precision Newly designed integer ALU optimized for 64 -bit and extended precision operations Core CUDA Core Core Dispatch Port Core Operand Collector Core Core FP Unit INT Unit Core Load/Store Units x 16 Result Queue Special Func Units x 4 Interconnect Network 64 K Configurable Cache/Shared Mem Uniform Cache © NVIDIA Corporation 2009

Cached Memory Hierarchy First GPU architecture to support a true cache hierarchy in combination

Cached Memory Hierarchy First GPU architecture to support a true cache hierarchy in combination with on-chip shared memory L 1 Cache per SM (32 cores) Improves bandwidth and reduces latency DRAM I/F HOST I/F Giga Thread DRAM I/F © NVIDIA Corporation 2009 L 2 DRAM I/F Parallel Data. Cache™ Memory Hierarchy DRAM I/F Fast, coherent data sharing across all cores in the GPU DRAM I/F Unified L 2 Cache (768 KB)

Larger, Faster Memory Interface DRAM I/F © NVIDIA Corporation 2009 DRAM I/F Operate on

Larger, Faster Memory Interface DRAM I/F © NVIDIA Corporation 2009 DRAM I/F Operate on large data sets L 2 DRAM I/F Up to 1 Terabyte of memory attached to GPU Giga Thread HOST I/F 2× speed of GDDR 3 DRAM I/F GDDR 5 memory interface

Error Correcting Code ECC protection for DRAM ECC supported for GDDR 5 memory All

Error Correcting Code ECC protection for DRAM ECC supported for GDDR 5 memory All major internal memories are ECC protected Register file, L 1 cache, L 2 cache © NVIDIA Corporation 2009

Giga. Thread. TM Hardware Thread Scheduler Hierarchically manages thousands of simultaneously active threads 10×

Giga. Thread. TM Hardware Thread Scheduler Hierarchically manages thousands of simultaneously active threads 10× faster application context switching HTS Concurrent kernel execution © NVIDIA Corporation 2009

Giga. Thread Hardware Thread Scheduler Concurrent Kernel Execution + Faster Context Switch Kernel 1

Giga. Thread Hardware Thread Scheduler Concurrent Kernel Execution + Faster Context Switch Kernel 1 Kernel 2 nel Kernel 2 Time Kernel 2 Kernel 3 Kernel 5 Kernel 3 Kernel 4 Kernel 5 Serial Kernel Execution © NVIDIA Corporation 2009 Parallel Kernel Execution Ker 4

Giga. Thread Streaming Data Transfer Engine Dual DMA engines Simultaneous CPU GPU and GPU

Giga. Thread Streaming Data Transfer Engine Dual DMA engines Simultaneous CPU GPU and GPU CPU data transfer Fully overlapped with CPU and GPU processing time SDT Activity Snapshot: Kernel 0 © NVIDIA Corporation 2009 CPU SDT 0 GPU SDT 1 Kernel 1 CPU SDT 0 GPU SDT 1 Kernel 2 CPU SDT 0 GPU SDT 1 Kernel 3 CPU SDT 0 GPU SDT 1

Enhanced Software Support Full C++ Support Virtual functions Try/Catch hardware support System call support

Enhanced Software Support Full C++ Support Virtual functions Try/Catch hardware support System call support Support for pipes, semaphores, printf, etc Unified 64 -bit memory addressing © NVIDIA Corporation 2009

“ I believe history will record Fermi as a significant milestone. ” Dave Patterson

“ I believe history will record Fermi as a significant milestone. ” Dave Patterson Director Parallel Computing Research Laboratory, U. C. Berkeley Co-Author of Computer Architecture: A Quantitative Approach “ Fermi surpasses anything announced by NVIDIA's leading GPU competitor (AMD). ” Tom Halfhill Senior Editor Microprocessor Report © NVIDIA Corporation 2009

“ Fermi is the world’s first complete GPU computing architecture. ” Peter Glaskowsky Technology

“ Fermi is the world’s first complete GPU computing architecture. ” Peter Glaskowsky Technology Analyst The Envisioneering Group “ The convergence of new, fast GPUs optimized for computation as well as 3 -D graphics acceleration and industry-standard software development tools marks the real beginning of the GPU computing era. Gentlemen, start your GPU computing engines. Nathan Brookwood Principle Analyst & Founder Insight 64 © NVIDIA Corporation 2009 ”

GPU Revolutionizing Computing GFlops A 2015 GPU * ~20× the performance of today’s GPU

GPU Revolutionizing Computing GFlops A 2015 GPU * ~20× the performance of today’s GPU ~5, 000 cores at ~3 GHz (50 m. W each) ~20 TFLOPS ~1. 2 TB/s of memory bandwidth GPU Fermi 512 core T 8 128 core T 10 240 core * This is a sketch of a what a GPU in 2015 might look like; it does not reflect any actual product plans. © NVIDIA Corporation 2009

© NVIDIA Corporation 2009

© NVIDIA Corporation 2009