Linear Algebra Operators for GPU Implementation of Numerical Algorithms J. Krüger R. Westermann computer graphics & visualization Technical University.

Slides:



Advertisements
Similar presentations
Stable Fluids A paper by Jos Stam.
Advertisements

GPGPU Programming Dominik G ö ddeke. 2Overview Choices in GPGPU programming Illustrated CPU vs. GPU step by step example GPU kernels in detail.
Simulation of Fluids using the Navier-Stokes Equations Kartik Ramakrishnan.
Appendix A — 1 FIGURE A.2.2 Contemporary PCs with Intel and AMD CPUs. See Chapter 6 for an explanation of the components and interconnects in this figure.
Interactive Deformation and Visualization of Level-Set Surfaces Using Graphics Hardware Aaron Lefohn Joe Kniss Charles Hansen Ross Whitaker Aaron Lefohn.
Matrix Operations on the GPU CIS 665: GPU Programming and Architecture TA: Joseph Kider.
Sparse Matrix Algorithms CS 524 – High-Performance Computing.
Sparse Matrix Solvers on the GPU: Conjugate Gradients and Multigrid Jeffrey Bolz, Ian Farmer, Eitan Grinspun, Peter Schröder Caltech ASCI Center.
Avoiding Communication in Sparse Iterative Solvers Erin Carson Nick Knight CS294, Fall 2011.
Acceleration on many-cores CPUs and GPUs Dinesh Manocha Lauri Savioja.
Hardware-Assisted Visibility Sorting for Tetrahedral Volume Rendering Steven Callahan Milan Ikits João Comba Cláudio Silva Steven Callahan Milan Ikits.
Optimization/Learning on the GPU (supplement figure slides) CIS 665 Joe Kider.
Monica Garika Chandana Guduru. METHODS TO SOLVE LINEAR SYSTEMS Direct methods Gaussian elimination method LU method for factorization Simplex method of.
Chapter 13 Finite Difference Methods: Outline Solving ordinary and partial differential equations Finite difference methods (FDM) vs Finite Element Methods.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Introduction to Modeling Fluid Dynamics 1.
Fluid Simulation using CUDA Thomas Wambold CS680: GPU Program Optimization August 31, 2011.
Modeling, Simulating and Rendering Fluids Thanks to Ron Fediw et al, Jos Stam, Henrik Jensen, Ryan.
1 Parallel Simulations of Underground Flow in Porous and Fractured Media H. Mustapha 1,2, A. Beaudoin 1, J. Erhel 1 and J.R. De Dreuzy IRISA – INRIA.
Realtime 3D Computer Graphics Computer Graphics Computer Graphics Software & Hardware Rendering Software & Hardware Rendering 3D APIs 3D APIs Pixel & Vertex.
CSE 690: GPGPU Lecture 11: Projects, Papers Klaus Mueller Computer Science, Stony Brook University.
Interactive Visualization of Volumetric Data on Consumer PC Hardware: Introduction Daniel Weiskopf Graphics Hardware Trends Faster development than Moore’s.
Conjugate gradients, sparse matrix-vector multiplication, graphs, and meshes Thanks to Aydin Buluc, Umit Catalyurek, Alan Edelman, and Kathy Yelick for.
Fast Hydraulic Erosion Simulation and Visualization on GPU
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
A Multigrid Solver for Boundary Value Problems Using Programmable Graphics Hardware Nolan Goodnight Cliff Woolley Gregory Lewin David Luebke Greg Humphreys.
A Multigrid Solver for Boundary Value Problems Using Programmable Graphics Hardware Nolan Goodnight Cliff Woolley Gregory Lewin David Luebke Greg Humphreys.
An approach for solving the Helmholtz Equation on heterogeneous platforms An approach for solving the Helmholtz Equation on heterogeneous platforms G.
Slide 1 / 16 On Using Graphics Hardware for Scientific Computing ________________________________________________ Stan Tomov June 23, 2006.
Enhancing GPU for Scientific Computing Some thoughts.
Computer Graphics Graphics Hardware
Two Phase Flow using two levels of preconditioning on the GPU Prof. Kees Vuik and Rohit Gupta Delft Institute of Applied Mathematics.
Scientific Computing Topics for Final Projects Dr. Guy Tel-Zur Version 2,
GPU Shading and Rendering Shading Technology 8:30 Introduction (:30–Olano) 9:00 Direct3D 10 (:45–Blythe) Languages, Systems and Demos 10:30 RapidMind.
A Fast Simulation Method Using Overlapping Grids for Interactions between Smoke and Rigid Objects Yoshinori Dobashi (Hokkaido University) Tsuyoshi Yamamoto.
Fast Thermal Analysis on GPU for 3D-ICs with Integrated Microchannel Cooling Zhuo Fen and Peng Li Department of Electrical and Computer Engineering, {Michigan.
Cg Programming Mapping Computational Concepts to GPUs.
Brookhaven Science Associates U.S. Department of Energy 1 Data Analysis and Visualization Numerical Simulations Using Programmable GPUs Stan Tomov September.
Diane Marinkas CDA 6938 April 30, Outline Motivation Algorithm CPU Implementation GPU Implementation Performance Lessons Learned Future Work.
GPU-Accelerated Surface Denoising and Morphing with LBM Scheme Ye Zhao Kent State University, Ohio.
CSE 690: GPGPU Lecture 7: Matrix Multiplications Klaus Mueller Computer Science, Stony Brook University.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Introduction: Lattice Boltzmann Method for Non-fluid Applications Ye Zhao.
FPGA Based Smoke Simulator Jonathan Chang Yun Fei Tianming Miao Guanduo Li.
Real-Time High Quality Rendering CSE 291 [Winter 2015], Lecture 2 Graphics Hardware Pipeline, Reflection and Rendering Equations, Taxonomy of Methods
Parallel Solution of the Poisson Problem Using MPI
CS240A: Conjugate Gradients and the Model Problem.
By Dirk Hekhuis Advisors Dr. Greg Wolffe Dr. Christian Trefftz.
GPU Based Sound Simulation and Visualization Torbjorn Loken, Torbjorn Loken, Sergiu M. Dascalu, and Frederick C Harris, Jr. Department of Computer Science.
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA
Motivation Properties of real data sets Surface like structures
Discretization for PDEs Chunfang Chen,Danny Thorne Adam Zornes, Deng Li CS 521 Feb., 9,2006.
MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer.
Discontinuous Displacement Mapping for Volume Graphics, Volume Graphics 2006, July 30, Boston, MA Discontinuous Displacement Mapping for Volume Graphics.
Geometry processing on GPUs Jens Krüger Technische Universität München.
Mapping Computational Concepts to GPUs Mark Harris NVIDIA.
Dynamic Geometry Displacement Jens Krüger Technische Universität München.
Multigrid Methods The Implementation Wei E Universität München. Ferien Akademie 19 th Sep
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA Shirley Moore CPS5401 Fall 2013 svmoore.pbworks.com November 12, 2012.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Water Computational Fluid Dynamics Volumes Lagrangian vs. Eulerian modelling Navier-Stokes equations.
Large-scale geophysical electromagnetic imaging and modeling on graphical processing units Michael Commer (LBNL) Filipe R. N. C. Maia (LBNL-NERSC) Gregory.
Martin Kruliš by Martin Kruliš (v1.0)1.
Improvement to Hessenberg Reduction
Xing Cai University of Oslo
CUDA Interoperability with Graphical Environments
Jens Krüger Technische Universität München
Lecture 19 MA471 Fall 2003.
GPU Implementations for Finite Element Methods
Jens Krüger Technische Universität München
University of Virginia
Ph.D. Thesis Numerical Solution of PDEs and Their Object-oriented Parallel Implementations Xing Cai October 26, 1998.
Presentation transcript:

Linear Algebra Operators for GPU Implementation of Numerical Algorithms J. Krüger R. Westermann computer graphics & visualization Technical University Munich

computer graphics & visualization The Year 2003 A milestone in GPU programming –Programmable function pipelines Shader operations Precision APIs

computer graphics & visualization The Year 2003 A milestone in GPU programming –Manufacturers go numerics –An affair with consequences Thompson et al. [2002]Bolz et al. [2003]Hillesland et al. [2003] Goodnight et al. [2003] Moreland [2003]Harris et al. [2003] Kim and Lin [2003]Li et al. [2003]…

computer graphics & visualization The Year 2003 The end of an odyssey –Boldly sailors through troubled waters –Customized solutions build on fixed function pipelines Bohonen [1998]Heidrich et al. [1999] Hopf and Ertl [1999,2000]Jobard et al. [2000] Hart [2001]Strzodka and Rumpf [2001] Weiskopf et al.[2001]nVidia [2002] …

computer graphics & visualization The Year 2003 Our approach GPU as workhorse for numerical computations Computer graphics applications Visual simulation Visual computing Education and Training Basis linear algebra operators General linear algebra package Programmable GPUs High bandwidth Parallel computing

computer graphics & visualization Banded Matrices Random Sparse Matrices Our Contribution Framework for sparse/dense matrix- vector operations on GPUs Dense Matrices

computer graphics & visualization Our Contribution (cont.) Implicit schemes for solving sets of algebraic equations

computer graphics & visualization Navier-Stokes Equations on GPUs Our Contribution (cont.)

computer graphics & visualization Visual Simulation of fluid phenomena –Virtual Reality, Games –Teaching, Education Our Contribution (cont.)

computer graphics & visualization Linear Algebra Operators on GPUs Vector/Matrix representation –2D textures best we can do Per-fragment vs. per-vertex operations High texture memory bandwidth Read-write access, dependent fetches

computer graphics & visualization Random sparse matrix representation –Textures do not work Splitting yields highly fragmented textures Difficult to find optimal partitions –Idea: encode non-zero entries in vertex arrays N N Matrix Linear Algebra Operators on GPUs Vertex Array 1Vertex Array 2 ResultVector =

computer graphics & visualization Linear Algebra Operators on GPUs Matrix/Vector operations –Reduced to 2D texture operations –Coded in vertex/fragment shaders –Reduce operation for scalar products Reduce m x m region in fragment shader

computer graphics & visualization Numerical Simulation on GPUs Use building blocks for more complex algorithms –Communication via textures –Example: Conjugate Gradient Method […] clMatVec(CL_NOP,A,p,NULL,q); // q = Ap a=r/clVecReduce(CL_ADD,p,q); // a = r/dot(p,q) clVecOp(CL_ADD,1,a,x,p,s); // s = x+ap […]

computer graphics & visualization Numerical Simulation on GPUs Example: 2D wave equation –Finite difference discretization –Implicit Crank-Nicholson scheme

computer graphics & visualization Numerical Simulation on GPUs Example: 2D Incompressible NSEs –Staggered grids –Obstacles –Diffusion explicit –Advection Semi-Lagrange [Stam 1999] –Implicit CG solver for Poisson Equation

computer graphics & visualization DEMOS Run on Intel Pentium IV 2.4GHz ATI Radeon 9800 Pro. Microsoft Windows XP DirectX 9 Pixel/Vertex Shader 2.0

computer graphics & visualization Conclusion Real-time visual simulation on GPUs –Vector/Matrix representation –Basis linear algebra operators –Numerical techniques Current limitations –Precision –Memory size and updates –GPU  CPU data transfer

computer graphics & visualization Future Work Scientific computing library –BLAS/LAPACK functionality on GPUs –FFT, wavelets, multigrid etc. –Large data, i.e. 3D –Rendering functionality, i.e. volumes –Multi-GPU parallelization

computer graphics & visualization The End Thank you! Questions?