1 / 29

Physical Simulation on GPUs

Discover ways to parallelize physics calculations on GPUs using examples and solutions. Learn about modern GPU computing power and implementation of GPU physics. Utilize CUDA for efficient programming and optimization techniques. Get the latest updates from NVIDIA presentations.

williamskim
Download Presentation

Physical Simulation on GPUs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Physical Simulation on GPUs Jim Van VerthOpenGL Software EngineerNVIDIAjvanverth@nvidia.comwww.nvidia.comwww.essentialmath.com

  2. Physics on GPU • Topics of discussion • Ways of parallelizing physics • Examples of GPU physics • CUDA and you

  3. Parallelizing Physics • What we’ve talked about so far Display CPU GPU Game Logic, AI, Physics Graphics Awfully busy… improve performance?

  4. Parallelizing Physics • Solution 1: Multicore CPU Display CPU GPU Game Logic, AI Physics Graphics

  5. Parallelizing Physics • Solution 2a: Cell processor Game Logic, AI Display CPU GPU Graphics SPU SPU SPU SPU SPU SPU Physics

  6. Parallelizing Physics • Solution 2b: AGEIA processor Game Logic, AI Display CPU GPU Graphics PPU Physics

  7. Parallelizing Physics • Solution 3: Programmable GPU Display CPU GPU Game Logic, AI Graphics, Physics

  8. Parallelizing Physics • Solution 3b: SLI GPU Display Graphics CPU Game Logic, AI GPU Physics

  9. GPU Computing • Modern GPU has many independent processors: • GeForce 8800 GTX: 128 SPs • GeForce 8800 GT: 112 SPs • Mostly processing power, not cache: • GeForce 8800 GTX: 300-400 Gflops • GeForce 8800 GT: 500 Gflops • A lot of parallel power for physics!

  10. GPU Physics Example • From GPU Gems 3 • Takahiro Harada, “Real-time Rigid Body Simulation on GPUs” • Simple physics engine, all running on GPU

  11. GPU Physics Example • Idea: GPU is good at: • Many similar computations • Simple data • So: • Particles for collision representation • Grid for collision detection • Simple collision response

  12. Object Representation • Global object data in texture pairs • Alternate frame to frame Linear Momentum Angular Momentum Position Orientation

  13. Object Representation • Collision rep: Solid (or shell) of particles • Store as • Fixed radius • Displacement from center of mass

  14. Object Representation • Smaller particles == better fit • But more processing

  15. Object Representation • Particle data stored in texture and three rendertargets • Update position, velocity each frame from global object data • Update force from collisions Displacement Velocity Force Position

  16. Pipeline Update Particles Calculate Grid Compute Collisions Integrate

  17. Linear Momentum Angular Momentum Position Orientation Displacement Particle Position Particle Velocity Update Particles Update Particles • For each object do: • Iterate through all particles • Update particle position, velocity Calculate Grid Compute Collisions Integrate

  18. Grid Representation Update Particles • Stored as slabs within 2D rendertarget • Voxel stored as texel • Four particle indices per texel Calculate Grid Compute Collisions Integrate

  19. Grid Creation Update Particles • For each particle do • Compute grid index • Write particle index to appropriate component at that location Calculate Grid Compute Collisions Integrate

  20. Collision Resolution Update Particles • For each voxel do • For each particle in voxel do • Compute force based on particles in this and 27 neighboring voxels • Regardless of collision! • Spring force • Damping from relative vel. • Tangential force Calculate Grid Compute Collisions Integrate

  21. Integration Update Particles • Compute new linear and angular momenta based on collision (and other) forces • Force/torque on rigid body is weighted sum of forces from each particle • Compute new position and orientation from momenta Calculate Grid Compute Collisions Integrate

  22. Demo

  23. Other approaches • Simon Green’s particles • N-body • Parallelize one piece: • Ex. Broad Phase (GPU Gems 3) • Do smaller problem • Ex. Fluid dynamics (Hellfire: London)

  24. GPU Computing • How to program? • Pre-G80, had to use Cg, GLSL, HLSL • Problems: • Requires specialized shader knowledge • Data is often texture or rendertarget • Can’t “scatter” data easily

  25. CUDA • Solution is CUDA • Stands for Compute Unified Device Architecture • Extensions on C/C++ • Interoperable with D3D and OpenGL • www.nvidia.com/cuda • Use it!

  26. CUDA • Updating our example: • Instead of Cg, use standard C++ w/CUDA extensions • Instead of textures or rendertargets, just use CUDA arrays • Instead of vertex shader, use scatter operation

  27. NVIDIA Presentations @ GDC 2008 NVIDIA SessionsRoom 3003 – West Hall Advanced Skin Rendering in NVIDIA's Human Head Demo4:00-5:00 pm, Wednesday, Feb. 20 Particle-based Fluid Simulation For Games9:00-9:30 am, Thursday, Feb. 21 3D Stereoscopic Game Development - How to Make Your Game Look Like Beowulf 3D9:30-10:00 am, Thursday, Feb. 21 GPU Optimization with the Latest NVIDIA Performance Tools10:30-11:30 am, Thursday, Feb. 21 NVIDIA FX Composer 2: Shader Development Unleashed12:00-1:00 pm, Thursday, Feb. 21 General GDC Sessions Advanced Visual Effects with Direct 3D10:00-18:00, Monday, Feb 18Room 2007 - West Hall Beyond Printf: Debugging Graphics Through Tools12:00-1:00 pm, Thursday, Feb. 21 Room 131 - North Hall Real-Time Ambient Occlusion14:50-15:10, Friday, Feb 22 Room 3004 - West Hall Physics for Game Programmers10:00-18:00, Tuesday, Feb 19 Room 2018 - West Hall

  28. The first-ever visual computing mega-event.. The universe of visual computing in one place at one time 15,000 Visitors: • 10,000 amateur and pro gamers, demoscencers, Game modders, machinima creators, and 3D artists • 3,000 technical and marketing professionals from multiple industries • 2000 visitors • 300 press & analysts San Jose downtown Aug 25-27 2008 http://www.nvision2008.com

  29. Questions?

More Related