NVIDIA Opengl in 2012: Version 4.3 Is Here!

Total Page:16

File Type:pdf, Size:1020Kb

NVIDIA Opengl in 2012: Version 4.3 Is Here! (unabridged slide deck) NVIDIA OpenGL in 2012: Version 4.3 is here! Mark Kilgard Mark Kilgard Principal System Software Engineer OpenGL driver and API evolution Cg (“C for graphics”) shading language GPU-accelerated path rendering OpenGL Utility Toolkit (GLUT) implementer Author of OpenGL for the X Window System Co-author of Cg Tutorial Worked on OpenGL for 20+ years Talk Details Location: West Hall Meeting Room 503, Los Angeles Convention Center Date: Wednesday, August 8, 2012 Time: 11:50 AM - 12:50 PM Mark Kilgard (Principal Software Engineer, NVIDIA) Abstract: Attend this session to get the most out of OpenGL on NVIDIA Quadro and GeForce GPUs. Learn about the new features in OpenGL 4.3, particularly Compute Shaders. Other topics include bindless graphics; Linux improvements; and how to best use the modern OpenGL graphics pipeline. Learn how your application can benefit from NVIDIA's leadership driving OpenGL as a cross-platform, open industry standard. Topic Areas: Computer Graphics; Development Tools & Libraries; Visualization; Image and Video Processing Level: Intermediate Outline State of OpenGL & OpenGL’s importance to NVIDIA Compute Shaders explored Other stuff in OpenGL 4.3 Further NVIDIA OpenGL Work How to exploit OpenGL’s modern graphics pipeline State of OpenGL & OpenGL’s importance to NVIDIA OpenGL Standard is 20 Years and Strong Think back to Computing in 1992 Programming Languages ANSI C (C 89) was just 3 years old C++ still implemented as a front-end to C OpenGL in 1992 provided FORTRAN and Pascal bindings One year before NCSA Mosaic web browser first written Now WebGL standard in almost every browser Windows version Windows 3.1 ships! NT 3.1 still a year away Entertainment Great video game graphics? Mortal Kombat? Top grossing movie (Aladdin) was animated Back when animated movies were still hand-drawn 20 Years Ago: Enter OpenGL 20 Years in Print Then and Now 2012 OpenGL 4.3: Real-time Global Illumination OpenGL 1.0: Per-vertex lighting 1992 [Crassin] Big News 4.3 OpenGL 4.3 announced Monday here at SIGGRAPH August 6, 2012 Moments later… NVIDIA beta OpenGL 4.3 driver on the web http://www.nvidia.com/content/devzone/opengl-driver-4.3.html OpenGL 4.3 brings substantial new features Compute Shaders! OpenGL Shading Language (GLSL) updates (multi-dimensional arrays, etc.) New texture functionality (stencil texturing, more queries) Marquee Feature New buffer functionality (clear buffers, invalidate buffers, etc.) More Direct3D-isms (texture views, parity with DirectX compute shaders) OpenGL ES 3.0 compatibility NVIDIA’s OpenGL Leverage GeForce Programmable Graphics (GLSL, Cg) Debugging with Tegra Parallel Nsight Quadro OptiX Single 3D API for Every Platform Windows OS X Linux Android Solaris FreeBSD OpenGL 3D Graphics API • cross-platform • most functional • peak performance • open standard • inter-operable • well specified & documented • 20 years of compatibility OpenGL Spawns Closely Related Standards Congratulations: WebGL officially approved, February 2012 “The web is now 3D enabled ” Accelerating OpenGL Innovation 2004 20052006 2007 2008 2009 2010 2011 2012 DirectX 11 DirectX 9.0c DirectX 10.0 DirectX 10.1 OpenGL 3.1 OpenGL 3.3 + OpenGL 2.0 OpenGL 2.1 OpenGL 3.0 OpenGL 3.2 OpenGL 4.0 OpenGL 4.3 Now with OpenGL 4.1 compute • OpenGL has fast innovation + standardization shaders! - Pace is 7 new spec versions in four years - Actual implementations following specifications closely OpenGL 4.2 • OpenGL 4.3 is a superset of DirectX 11 functionality - While retaining backwards compatibility Buffer and OpenGL Today – DirectX 11 Superset Event Interop First-class graphics + compute solution OpenGL 4.3 = graphics + compute shaders NVIDIA still has existing inter-op with CUDA / OpenCL Shaders can be saved to and loaded from binary blobs Ability to query a binary shader, and save it for reuse later Flow of content between desktop and mobile Brings ES 2.0 and 3.0 API and capabilities to desktop WebGL bridging desktop and mobile Cross platform Mac, Windows, Linux, Android, Solaris, FreeBSD Result of being an open standard Increasing Functional Scope of OpenGL First-class Compute Shaders 4.3 Tessellation Features 4.0 Geometry Shaders 3.X Vertex and Fragment Shaders 2.X Fixed Function 1.X Arguably, OpenGL 4.3 is a 5.0 worthy feature-set! Classic OpenGL State Machine From 1991-2007 * vertex & fragment processing got programmable 2001 & 2003 [source: GL 1.0 specification, 1992] Complicated from inception OpenGL 3.0 Conceptual Processing Flow (2008) uniform/ primitive topology, parameters transformed Legend Geometric primitive buffer objects Vertex Vertex vertex data assembly & assembly primitive processing vertices processing programmable batch transformed operations pixels type, vertex fragments vertex data attributes point, line, fixed-function filtered texels geometry and polygon fragments operations buffer data vertex Transform texture fetches buffer transform feedback objects feedback pixels in framebuffer object textures buffer objects stenciling, depth testing, primitive batch type, vertex blending, accumulation vertex indices, texture vertex attributes texture fetches buffer buffer data, objects Texture Fragment Raster Framebuffer unmap mapping fragment processing operations buffer texture Command Buffer fetches parser store pixel map buffer, pack get buffer buffer data objects texture image and bitmap fragments pixel image pixel image or unpack Pixel specification texture image buffer packing specification objects OpenGL 3.0 pixels to pack image rectangles, Image Pixel Pixel bitmaps primitive unpacking unpacked processing pixels processing copy pixels, copy texture image Patch Control point Patch tessellation Patch evaluation (2010) assembly & processing transformed transformed generation transformed processing control points processing patchtransformed patch, bivariate patch control patch domain tessellation patch topology, evaluated patch vertex texture points Legend primitive topology, fetches patch data transformed Geometric primitive Vertex Vertex vertex data programmable vertices assembly & operations assembly primitive processing pixels transformed processing batch fragments type, vertex fixed-function filtered texels vertex data attributes point, line, operations geometry and polygon buffer data fragments vertex Transform texture compute buffer transform feedback fetches objects feedback pixels in framebuffer object textures buffer stenciling, depth testing, primitive batch type, objects vertex vertex indices, texture blending, accumulation vertex attributes texture fetches buffer buffer data, Texture Fragment Raster objects Framebuffer unmap mapping fragment processing operations Command buffer Buffer pixel texture pack fetches parser store map buffer, buffer get buffer objects data texture image and bitmap fragments pixel image pixel image or Pixel unpack specification texture image buffer packing specification objects OpenGL 4.0 pixels to pack image rectangles, Image Pixel Pixel bitmaps primitive copy pixels, unpacking unpacked processing processing copy texture image pixels Patch Control point Patch tessellation Patch evaluation (2012) assembly & processing transformed transformed generation transformed processing control points processing patchtransformed patch, bivariate patch control patch domain tessellation patch topology, evaluated patch vertex texture points Legend primitive topology, fetches patch data transformed Geometric primitive Vertex Vertex vertex data programmable vertices assembly & operations assembly primitive processing pixels transformed processing batch fragments type, vertex fixed-function filtered texels vertex data attributes point, line, operations geometry and polygon buffer data fragments vertex Transform texture compute buffer transform feedback fetches objects feedback pixels in framebuffer object textures buffer stenciling, depth testing, primitive batch type, objects vertex vertex indices, texture blending, accumulation vertex attributes texture fetches buffer buffer data, Texture Fragment Raster objects Framebuffer unmap mapping fragment processing operations Command buffer Buffer texture fetches parser store map buffer, pixel pack get buffer buffer objects data texture image and bitmap pixel Compute fragments image pixel image or unpack Pixel specification processing texture image buffer packing specification objects OpenGL 4.3 pixels to pack image rectangles, Image Pixel Pixel bitmaps primitive copy pixels, unpacking unpacked processing processing copy texture image pixels OpenGL 4.3 Processing Pipelines From Application From Application Vertex Puller Dispatch Indirect Dispatch Element Array Buffer b Buffer b Vertex Shader Draw Indirect Buffer b Image Load / Store t/b Compute Shader Tessellation Control Vertex Buffer Object b Shader Atomic Counter b Tessellation Primitive Generator Shader Storage b Tessellation Evaluation Shader Texture Fetch t/b Geometry Shader Uniform Block b Transform Feedback Transform Feedback Buffer b Legend Rasterization From Application Fixed Function Stage Fragment Shader Pixel Assembly Pixel Unpack Buffer b Programmable Stage b – Buffer Binding Raster Operations Pixel Operations Texture Image t t – Texture Binding Framebuffer Pixel Pack Buffer b Arrows indicate data flow Pixel Pack OpenGL 4.3 Compute Shaders explored Why Compute Shaders? particle physics Execute algorithmically general-purpose GLSL shaders Read and write uniforms and images Grid-oriented Single Program, Multiple Data (SPMD) fluid execution model with communication via shared
Recommended publications
  • NVIDIA Opengl in 2012 Mark Kilgard
    NVIDIA OpenGL in 2012 Mark Kilgard • Principal System Software Engineer – OpenGL driver and API evolution – Cg (“C for graphics”) shading language – GPU-accelerated path rendering • OpenGL Utility Toolkit (GLUT) implementer • Author of OpenGL for the X Window System • Co-author of Cg Tutorial Outline • OpenGL’s importance to NVIDIA • OpenGL API improvements & new features – OpenGL 4.2 – Direct3D interoperability – GPU-accelerated path rendering – Kepler Improvements • Bindless Textures • Linux improvements & new features • Cg 3.1 update NVIDIA’s OpenGL Leverage Cg GeForce Parallel Nsight Tegra Quadro OptiX Example of Hybrid Rendering with OptiX OpenGL (Rasterization) OptiX (Ray tracing) Parallel Nsight Provides OpenGL Profiling Configure Application Trace Settings Parallel Nsight Provides OpenGL Profiling Magnified trace options shows specific OpenGL (and Cg) tracing options Parallel Nsight Provides OpenGL Profiling Parallel Nsight Provides OpenGL Profiling Trace of mix of OpenGL and CUDA shows glFinish & OpenGL draw calls Only Cross Platform 3D API OpenGL 3D Graphics API • cross-platform • most functional • peak performance • open standard • inter-operable • well specified & documented • 20 years of compatibility OpenGL Spawns Closely Related Standards Congratulations: WebGL officially approved, February 2012 “The web is now 3D enabled” Buffer and OpenGL 4 – DirectX 11 Superset Event Interop • Interop with a complete compute solution – OpenGL is for graphics – CUDA / OpenCL is for compute • Shaders can be saved to and loaded from binary
    [Show full text]
  • Developer Tools Showcase
    Developer Tools Showcase Randy Fernando Developer Tools Product Manager NVISION 2008 Software Content Creation Performance Education Development FX Composer Shader PerfKit Conference Presentations Debugger mental mill PerfHUD Whitepapers Artist Edition Direct3D SDK PerfSDK GPU Programming Guide NVIDIA OpenGL SDK Shader Library GLExpert Videos CUDA SDK NV PIX Plug‐in Photoshop Plug‐ins Books Cg Toolkit gDEBugger GPU Gems 3 Texture Tools NVSG GPU Gems 2 Melody PhysX SDK ShaderPerf GPU Gems PhysX Plug‐Ins PhysX VRD PhysX Tools The Cg Tutorial NVIDIA FX Composer 2.5 The World’s Most Advanced Shader Authoring Environment DirectX 10 Support NVIDIA Shader Debugger Support ShaderPerf 2.0 Integration Visual Models & Styles Particle Systems Improved User Interface Particle Systems All-New Start Page 350Z Sample Project Visual Models & Styles Other Major Features Shader Creation Wizard Code Editor Quickly create common shaders Full editor with assisted Shader Library code generation Hundreds of samples Properties Panel Texture Viewer HDR Color Picker Materials Panel View, organize, and apply textures Even More Features Automatic Light Binding Complete Scripting Support Support for DirectX 10 (Geometry Shaders, Stream Out, Texture Arrays) Support for COLLADA, .FBX, .OBJ, .3DS, .X Extensible Plug‐in Architecture with SDK Customizable Layouts Semantic and Annotation Remapping Vertex Attribute Packing Remote Control Capability New Sample Projects 350Z Visual Styles Atmospheric Scattering DirectX 10 PCSS Soft Shadows Materials Post‐Processing Simple Shadows
    [Show full text]
  • Manycore GPU Architectures and Programming, Part 1
    Lecture 19: Manycore GPU Architectures and Programming, Part 1 Concurrent and Mul=core Programming CSE 436/536, [email protected] www.secs.oakland.edu/~yan 1 Topics (Part 2) • Parallel architectures and hardware – Parallel computer architectures – Memory hierarchy and cache coherency • Manycore GPU architectures and programming – GPUs architectures – CUDA programming – Introduc?on to offloading model in OpenMP and OpenACC • Programming on large scale systems (Chapter 6) – MPI (point to point and collec=ves) – Introduc?on to PGAS languages, UPC and Chapel • Parallel algorithms (Chapter 8,9 &10) – Dense matrix, and sorng 2 Manycore GPU Architectures and Programming: Outline • Introduc?on – GPU architectures, GPGPUs, and CUDA • GPU Execuon model • CUDA Programming model • Working with Memory in CUDA – Global memory, shared and constant memory • Streams and concurrency • CUDA instruc?on intrinsic and library • Performance, profiling, debugging, and error handling • Direc?ve-based high-level programming model – OpenACC and OpenMP 3 Computer Graphics GPU: Graphics Processing Unit 4 Graphics Processing Unit (GPU) Image: h[p://www.ntu.edu.sg/home/ehchua/programming/opengl/CG_BasicsTheory.html 5 Graphics Processing Unit (GPU) • Enriching user visual experience • Delivering energy-efficient compung • Unlocking poten?als of complex apps • Enabling Deeper scien?fic discovery 6 What is GPU Today? • It is a processor op?mized for 2D/3D graphics, video, visual compu?ng, and display. • It is highly parallel, highly multhreaded mulprocessor op?mized for visual
    [Show full text]
  • 1.2 Molecular Dynamics Simulations
    Accelerator-based Look-up Table for Coarse-grained Molecular Dynamics Computations Prepared by: Town Ananya Gangopadhyay GNGANA001 Scientific Computing Research Unit Department of ChemistryCape University of Cape Town of Supervised by: Prof. Kevin J. Naidoo Scientific Computing Research Unit Department of Chemistry University of Cape Town UniversityDr. Simon Winberg Scientific Computing Research Unit Department of Electrical Engineering University of Cape Town July 2018 Dissertation presented to the University of Cape Town in fulfilment of the academic requirements for a Master of Science degree in Computational Science. Key Words: Molecular Dynamics, Parallel Computing, Coarse-grained, GPU, LUT. The copyright of this thesis vests in the author. No quotation from it or information derivedTown from it is to be published without full acknowledgement of the source. The thesis is to be used for private study or non- commercial research purposes Capeonly. of Published by the University of Cape Town (UCT) in terms of the non-exclusive license granted to UCT by the author. University Declaration I declare that this dissertation titles ACCELERATOR-BASED LOOK-UP TABLE FOR COARSE- GRAINED MOLECULAR DYNAMICS COMPUTATIONS, is a presentation of my original research work done at the Scientific Computing Research Unit, Department of Chemistry, University of Cape Town, South Africa. No part of this thesis has been submitted elsewhere for any other degree of qualification. Whenever contributions of others are involved, every effort is made to indicate this clearly, with due reference to the literature, and acknowledgment of collaborative research and discussions. Name: Ananya Gangopadhyay Signature: Date: 9 July 2018 i Abstract Molecular Dynamics (MD) is a simulation technique widely used by computational chemists and biologists to simulate and observe the physical properties of a system of particles or molecules.
    [Show full text]
  • Dense and Sparse Parallel Linear Algebra Algorithms on Graphics Processing Units
    Departament de Sistemes Informatics` i Computacio´ Dense and sparse parallel linear algebra algorithms on graphics processing units Author: Alejandro Lamas Davi~na Director: Jos´eE. Rom´anMolt´o October 2018 To the extent possible under law, the author has waived all copyright and related or neighboring rights to this work. To one, two, and three. Acknowledgments I would like to express my gratitude to my director Jos´eRom´an,for his permanent support during all these years of work. His wise advice and selfless guidance have been decisive for the culmination of this thesis. His door has always been open for me, and he has solved all my doubts with unlimited patience. For all that and for more, I thank him. I would like to extend my gratitude to my colleagues of the SLEPc project. Here I thank again to Jos´eRom´anfor his unique humor sense. To Carmen, for showing me the way and for all her good advices. To Enrique, who helped me to get rolling. And to the former members Andr´esand Eloy, to whom I had the opportunity to meet and who enliven the group meals. I will keep good memories from these years. I do not want to forget to mention to Xavier Cartoix`a,Jeff Steward and Altuˇg Aksoy, great researchers with whom I have had the opportunity to collaborate. The afternoon snacks would not have been the same without the excellent discus- sions and comments of Fernando, David and of course Salva, who, without noticing it, also helped to improve this dissertation. Last, I would like to thank to Jos´eLuis, IT staff of the department, for his high valuable work behind the scenes and his promptly response to any incidence.
    [Show full text]
  • Reviewer's Guide
    Reviewer’s Guide NVIDIA® GeForce® GTX 280 GeForce® GTX 260 Graphics Processing Units TABLE OF CONTENTS NVIDIA GEFORCE GTX 200 GPUS.....................................................................3 Two Personalities, One GPU ........................................................................................................ 3 Beyond Gaming ............................................................................................................................. 3 GPU-Powered Video Transcoding............................................................................................... 3 GPU Powered Folding@Home..................................................................................................... 4 Industry wide support for CUDA.................................................................................................. 4 Gaming Beyond ............................................................................................................................. 5 Dynamic Realism.......................................................................................................................... 5 Introducing GeForce GTX 200 GPUs ........................................................................................... 9 Optimized PC and Heterogeneous Computing.......................................................................... 9 GeForce GTX 200 GPUs – Architectural Improvements.......................................................... 10 Power Management Enhancements.........................................................................................
    [Show full text]
  • Lecture: Manycore GPU Architectures and Programming, Part 1
    Lecture: Manycore GPU Architectures and Programming, Part 1 CSCE 569 Parallel Computing Department of Computer Science and Engineering Yonghong Yan [email protected] https://passlab.github.io/CSCE569/ 1 Manycore GPU Architectures and Programming: Outline • Introduction – GPU architectures, GPGPUs, and CUDA • GPU Execution model • CUDA Programming model • Working with Memory in CUDA – Global memory, shared and constant memory • Streams and concurrency • CUDA instruction intrinsic and library • Performance, profiling, debugging, and error handling • Directive-based high-level programming model – OpenACC and OpenMP 2 Computer Graphics GPU: Graphics Processing Unit 3 Graphics Processing Unit (GPU) Image: http://www.ntu.edu.sg/home/ehchua/programming/opengl/CG_BasicsTheory.html 4 Graphics Processing Unit (GPU) • Enriching user visual experience • Delivering energy-efficient computing • Unlocking potentials of complex apps • Enabling Deeper scientific discovery 5 What is GPU Today? • It is a processor optimized for 2D/3D graphics, video, visual computing, and display. • It is highly parallel, highly multithreaded multiprocessor optimized for visual computing. • It provide real-time visual interaction with computed objects via graphics images, and video. • It serves as both a programmable graphics processor and a scalable parallel computing platform. – Heterogeneous systems: combine a GPU with a CPU • It is called as Many-core 6 Graphics Processing Units (GPUs): Brief History GPU Computing General-purpose computing on graphics processing units (GPGPUs) GPUs with programmable shading Nvidia GeForce GE 3 (2001) with programmable shading DirectX graphics API OpenGL graphics API Hardware-accelerated 3D graphics S3 graphics cards- single chip 2D accelerator Atari 8-bit computer IBM PC Professional Playstation text/graphics chip Graphics Controller card 1970 1980 1990 2000 2010 Source of information http://en.wikipedia.org/wiki/Graphics_Processing_Unit 7 NVIDIA Products • NVIDIA Corp.
    [Show full text]
  • PC Hardware Contents
    PC Hardware Contents 1 Computer hardware 1 1.1 Von Neumann architecture ...................................... 1 1.2 Sales .................................................. 1 1.3 Different systems ........................................... 2 1.3.1 Personal computer ...................................... 2 1.3.2 Mainframe computer ..................................... 3 1.3.3 Departmental computing ................................... 4 1.3.4 Supercomputer ........................................ 4 1.4 See also ................................................ 4 1.5 References ............................................... 4 1.6 External links ............................................. 4 2 Central processing unit 5 2.1 History ................................................. 5 2.1.1 Transistor and integrated circuit CPUs ............................ 6 2.1.2 Microprocessors ....................................... 7 2.2 Operation ............................................... 8 2.2.1 Fetch ............................................. 8 2.2.2 Decode ............................................ 8 2.2.3 Execute ............................................ 9 2.3 Design and implementation ...................................... 9 2.3.1 Control unit .......................................... 9 2.3.2 Arithmetic logic unit ..................................... 9 2.3.3 Integer range ......................................... 10 2.3.4 Clock rate ........................................... 10 2.3.5 Parallelism .........................................
    [Show full text]
  • View Annual Report
    ar5182 Electronic EDGAR Proof Job Number: -NOT DEFINED- Filer: -NOT DEFINED- Form Type: 10-K Reporting Period / Event Date: 01/25/09 Customer Service Representative: -NOT DEFINED- Revision Number: -NOT DEFINED- This proof may not fit on letter-sized (8.5 x 11 inch) paper. If copy is cut off, please print to a larger format, e.g., legal- sized (8.5 x 14 inch) paper or oversized (11 x 17 inch) paper. Accuracy of proof is guaranteed ONLY if printed to a PostScript printer using the correct PostScript driver for that printer make and model. (this header is not part of the document) EDGAR Submission Header Summary Submission Type 10-K Live File on Return Copy on Submission Contact Aarti Ratnam Submission Contact Phone Number 408-566-5163 Exchange NASD Confirming Copy off Filer CIK 0001045810 Filer CCC xxxxxxxx Period of Report 01/25/09 Smaller Reporting Company off Shell Company No Voluntary Filer No Well-Known Seasoned Issuer Yes Notify via Filing website Only off Emails [email protected] Documents 10-K fy2009form10k.htm FISCAL YEAR 2009 FORM 10-K EX-21.1 fy2009subsidiaries.htm LISTING OF SUBSIDIARIES EX-23.1 fy2009pwcconsent.htm CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM EX-31.1 fy2009cert302ceo.htm 302 CERTIFICATION OF CEO EX-31.2 fy2009cert302cfo.htm 302 CERTIFICATION OF CFO EX-32.1 fy2009906certceo.htm 906 CERTIFICATION OF CEO EX-32.2 fy2009906certcfo.htm 906 CERTIFICATION OF CFO GRAPHIC fiveyearsperfstockgraph.jpg FIVE YEARS STOCK PERFORMANCE GRAPH GRAPHIC tenyearsperfstockgraph.jpg TEN YEARS STOCK PERFORMANCE GRAPH Module
    [Show full text]
  • NVIDIA Performance Primitives & Video Codecs On
    NVIDIA Performance Primitives & Video Codecs on GPU Gold Room | Thursday 1st October 2009 | Anton Obukhov & Frank Jargstorff Overview • Two presentations: – NPP (Frank Jargstorff) – Video Codes on NVIDIA GPUs (Anton Obukhov) • NPP Overview – NPP Goals – How to use NPP? – What is in NPP? – Performance What is NPP? • C Library of functions (primitives) running on CUDA architecture • API identical to IPP (Intel Integrated Performance Primitives) • Speedups up to 32x over IPP • Free distribution – binary packages for Windows and Linux (32- and 64 bit), Mac OS X • Release Candidate 1.0: Available to Registered Developers now. – Final release in two weeks at http://www.nvidia.com/npp NPP’s Goals • Ease of use – no knowledge of GPU architecture required – integrates well with existing projects • work well if added into existing projects • work well in conjunction with other libraries • Runs on CUDA Architecture GPUs • High Performance – relieve developers from optimization burden • Algorithmic Building Blocks (Primitives) – recombine to solve wide range of problems Ease of Use • Implements Intel’s IPP API verbatim – IPP widely used in high-performance software development – well designed API • Uses CUDA “runtime API” – device memory is handled via simple C-style pointers – pointers in the NPP API are device pointers – but: host and device memory management left to user (for performance reasons) • Pointer based API – pointers facilitate interoperability with existing code (C for CUDA) and libraries (cuFFT, cuBLAS, etc.) – imposes no “framework”
    [Show full text]
  • 750Ti Driver Download Geforce 335.23 Driver
    750ti driver download GeForce 335.23 Driver. This 335.23 Game Ready WHQL driver ensures you’ll have the best possible gaming experience for Titanfall. Performance Enhanced GPU clock offset options for GeForce GTX 750Ti / GTX 750 Diablo III – updated DX9 profile Bound by Flame – updated profile DOTA 2 – updated profile Need for Speed Rivals – updated DX11 profile Watch Dogs – updated profile Gaming Technology Supports GeForce ShadowPlay™ technology Supports GeForce ShadowPlay™ Twitch Streaming Supports NVIDIA GameStream™ technology Titanfall – rated “Good” Thief – rating now “Good” Call of Duty: Ghosts – in-depth laser sight added. GeForce GTX TITAN, GeForce GTX TITAN Black. GeForce 700 Series: GeForce GTX 780 Ti, GeForce GTX 780, GeForce GTX 770, GeForce GTX 760, GeForce GTX 760 Ti (OEM), GeForce GTX 750 Ti, GeForce GTX 750, GeForce GTX 745. GeForce 600 Series: GeForce GTX 690, GeForce GTX 680, GeForce GTX 670, GeForce GTX 660 Ti, GeForce GTX 660, GeForce GTX 650 Ti BOOST, GeForce GTX 650 Ti, GeForce GTX 650, GeForce GTX 645, GeForce GT 645, GeForce GT 640, GeForce GT 630, GeForce GT 620, GeForce GT 610, GeForce 605. GeForce 500 Series: GeForce GTX 590, GeForce GTX 580, GeForce GTX 570, GeForce GTX 560 Ti, GeForce GTX 560 SE, GeForce GTX 560, GeForce GTX 555, GeForce GTX 550 Ti, GeForce GT 545, GeForce GT 530, GeForce GT 520, GeForce 510. GeForce 400 Series: GeForce GTX 480, GeForce GTX 470, GeForce GTX 465, GeForce GTX 460 SE v2, GeForce GTX 460 SE, GeForce GTX 460, GeForce GTS 450, GeForce GT 440, GeForce GT 430, GeForce GT 420, GeForce 405.
    [Show full text]
  • Applications Kernels
    C-DAC Four Days Technology Workshop ON Hybrid Computing – Coprocessors/Accelerators Power-Aware Computing – Performance of Applications Kernels hyPACK-2013 (Mode-4 : GPUs) Lecture Topic: An Overview of CUDA enabled GPUs Venue : CMSD, UoHYD ; Date : October 15-18, 2013 C-DAC hyPACK-2013 An Overview of CUDA enabled NVIDIA GPUs 1 An Overview of CUDA enabled NVIDIA GPUs Lecture Outline Following topics will be discussed An overview of CUDA enabled NVIDIA GPU Tuning & Performance Issues on NVIDIA GPUs An Overview of CUDA 4.x/5.0 & -Fermi /Kepler GK110 Source : NVIDIA, References given in the presentation C-DAC hyPACK-2013 An Overview of CUDA enabled NVIDIA GPUs 2 Part-1 CUDA enabled NVIDIS GPUs Source & Acknowledgements : NVIDIA, References C-DAC hyPACK-2013 An Overview of CUDA enabled NVIDIA GPUs 3 Computing - CPU/GPU Source & Acknowledgements : NVIDIA, References C-DAC hyPACK-2013 An Overview of CUDA enabled NVIDIA GPUs 4 Computing - CPU/GPU Floating-Point Operations per Second and Memory Bandwidth for the CPU and GPU Source & Acknowledgements : NVIDIA, References C-DAC hyPACK-2013 An Overview of CUDA enabled NVIDIA GPUs 5 Why Are GPUs So Fast? GPU originally specialized for math-intensive, highly parallel computation So, more transistors can be devoted to data processing rather than data caching and flow control AMD ALU ALU Control ALU ALU Cache DRAM DRAM CPU GPU NVIDIA Commodity industry: provides economies of scale Competitive industry: fuels innovation Source : NVIDIA, References C-DAC hyPACK-2013 An Overview of CUDA enabled NVIDIA GPUs 6 GPU Computing : Think in Parallel Some Design Goals Scale to 100’s of cores, 1000’s of parallel 0 1 2 3 4 5 6 7 threads …… Let programmers focus on parallel float x = input[threadID]; float y = func(x); algorithms & Re-writing the Code output[threadID] = y; … • Not on the mechanics of a parallel programming language Enable heterogeneous systems (i.e.
    [Show full text]