Highly parallel computing in Physics-based...
Transcript of Highly parallel computing in Physics-based...
HIGHLY PARALLEL COMPUTING IN PHYSICS-BASED RENDERINGOpenCL Raytracing BasedThibaut PRADOSOPTISReal-Time & Virtual Reality Manager
3 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
INTRODUCTION WHO WE ARE
4 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
INTRODUCTION | WHO WE ARE
OPTIS is a world leading provider of software solutions for physics based simulation of optics, light and human vision, used throughout the world’s leading vehicle, aerospace, lighting and LCD manufacturers.OPTIS SPEOS solutions are unique in being fully integrated into leading CAD platforms and take into account real measured light sources, materials, surfaces , human vision and international standards.
5 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
INTRODUCTION | WHO WE ARE
Founded in 1989 OPTIS now employs over 80 people in 5 countries, with over 1600 customers and 6000 licenses in use worldwide.
TOKYOTOULON
STUTTGART
DETROIT
SHANGHAI
6 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
INTRODUCTION | WHO WE ARE
SoftwareStandard developmentSoftware customization Services
Training
Measurement (optical properties of materials,
light sources)
Consulting projects(> 800 Engineering
studies)
HardwareDevelopment of optical surface measurement systems (OMS)
7 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
INTRODUCTION | REFERENCES
8 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
INTRODUCTION WHAT DOES PHYSICS-BASED MEAN ?
9 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
INTRODUCTION | WHAT DOES PHYSICS BASED MEAN ?
Classical Rendering Physical Rendering256 contrast levels High Dynamic Range Images
RGB colors Full spectral rendering (IR, visible, UV), CIE Standards
Simple sources definition Measured intensity diagrams, Spectra (Black bodies, Fluorescent, …), Radiometric power (Watt), LCD, …
Simple shading models Measured BRDF (spectral, polarized, …)
Alpha blending Complex material handling (spectral refraction, dispersion,diffusion, complex material indices…)
Pinhole camera Radiance sensor models including cameras and physiological model of human eye, glare, depth of field, …
Non exploitable image Physics and measurable accurate radiance simulation
Addresses sRGB screen All output screens (HDR, High gamut, projectors, …), calibrated (ICC profiles).
10 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
INTRODUCTION | WHAT DOES PHYSICS BASED MEAN ?
Used algorithms should ensure physics laws compliance :– Radiometric power conservation– Full spectrum (from IR to UV)– Correct Light sources data (spectrum, intensity)– Correct BRDF data…
11 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
INTRODUCTION | WHAT DOES PHYSICS BASED MEAN ?
BRDF defines the way that a surface reflects the light :
To ensure BRDF correctness, OPTIS measure most of BRDF using its own measurement device (OMS).
BidirectionalRefectanceDistributionFunction
Lambertian
GaussianSpecular
Measured
12 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
INTRODUCTION | WHAT DOES PHYSICS BASED MEAN ?
Rendering equation (Kajiya, Immel, 1986)
Reflected luminance
EmittedLuminancedue to surface
Incomingluminance
BRDF
Integral over all incoming light directions
13 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
OPENCL RAYTRACER | PRINCIPLES
Raytracing: principles
Propagate a ray from the eye through the scene for each pixel
14 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
OPENCL RAYTRACEREXPERIENCE FEEDBACK
15 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
OPENCL RAYTRACER | RAYTRACING ON GPU
Raytracing is a highly parallel task that suits GPU architecture
Single Program
Multiple Data
Vector computing
– Only one propagation law (optical law)Ray emissionGeometry intersection (ray hit)Surface interaction (ray reflection/refraction)Eye integration & tone mapping
– Huge number of pixels (~billion rays)– Each ray propagation is independent of the others
– Linear algebraHomogeneous vectorSpectral colors
16 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
OPENCL RAYTRACER | RAYTRACING ON GPU
GPU Raytracing drawbacks :
– Acceleration structure traversal is hard to “vectorize”Use of a Kd-tree like structure (1-dimension at each node)
– Raytracing algorithm is very divergentRays from second bound could be spread in all the 3D spaceKd-tree traversal could differs from one interaction to the otherTo avoid this, one can merge coherent rays in separated pass
17 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
OPENCL RAYTRACER | TECHNOLOGIES USED IN REAL-TIME
We are loading most data on GPU at the beginning into Buffers and Textures– GPU embedded data :
GeometryBRDFSpectraAcceleration structures
– GPU embedded source code PropagationSurface InteractionHuman vision algorithms and post process (ICC profiles)
18 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
OPENCL RAYTRACER | CUDA TO OPENCL CONVERSION FEEDBACK
Similar languages (~ 2 months for conversion)CUDA advantages
– Supports template types– Good development framework– Source code confidentiality
OpenCL advantages:– Source code portability– Hardware management and scalability– Improves vector operations
19 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
OPENCL RAYTRACER | CUDA TO OPENCL CONVERSION FEEDBACK
CUDA drawbacks:– Platform dependent– Proprietary language– No vector types– Thread distribution (grid, block, thread)
OpenCL drawbacks:– Confidentiality issues (needs embedded source code to be compiled before use)– No global parameters for all kernels
Easier to convert from CUDA to OpenCL than the opposite.
20 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
VISUAL ERGONOMICSCPU SOLUTION
21 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
INTRODUCTION | UNIQUE PROCESS
Human Vision Lab
Geometry
• Spectral sources• Natural (night and day)• Artificial (LEDs, displays…)• Physics Based• Materials
Optical properties
SimulationsSpectral radiance ( W/(m².sr.nm))
Human Vision Lab : Spectral luminance and perceived color computation (CIE recommendations).
Full CAD integration-Large assemblies-Libraries and catalogs
22 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
VISUAL ERGONOMICS SOLUTION | APPLICATIONS
Lit and unlit appearanceHuman vision perceptionQuantify critical reflections
23 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
VISUAL ERGONOMICS | SOME RESULTS
24 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
VRLAB | VIDEO (LIVE DEMO IS AVAILABLE IN THE EXPERIENCE ZONE)
25 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
VISUAL ERGONOMICS | INVOLVED TECHNOLOGIES
C++Multi-CPU architectureMulti-cores CPUMulti-threaded applications– No critical section– Only interlocked instructions– 100% CPU use of each core without kernel time
Cluster Distributed computingInnovative acceleration structure for intersections computing
26 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
VISUAL ERGONOMICS SOLUTION | KEY BENEFITS
Result analysis: light levels, contrast, uniformity, color (physics), visibility, legibility.
Now : SPEOS RTVE3 Real-time simulation technology integration
Calibrated displays (dynamics, color gamut)Uniquely based on human vision modelImmersive and interactive capabilities Product Lifecycle Management integration in CAD
27 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
REAL-TIME | WHY USE REAL-TIME ?
The notion of time is important for:Easily detecting hotspots (high frequency specular peaks)Understanding reflection phenomenaAddressing non-specialists (non-physicists)Ensuring interaction in immersive environments (CAVE)
28 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
REAL-TIME | VIDEO (LIVE DEMO IS AVAILABLE IN THE EXPERIENCE ZONE)
29 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
AMD FUSIONEXPECTED BENEFITS
30 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
AMD FUSION | EXPECTED BENEFITS
More powerful–CPU Fusion–GPU Fusion–Extra GPU(s)
Enhanced memory access (Virtual Texturing)Specialized computingScalable computingHybrid computing GPU/CPUExtra graphics
Shared memory
Accelerated Processor Unit
CPU
GPUDDR3
PC
Ie Graphic card
GPU
THANK YOU FOR YOUR ATTENTIONAny questions ?Thibaut [email protected]
32 | Highly Parallel Computing in Physics-based Rendering | June 13th, 2011
Disclaimer & Attribution
The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors.
The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. There is no obligation to update or otherwise correct or revise this information. However, we reserve the right to revise this information and to make changes from time to time to the content hereof without obligation to notify any person of such revisions or changes.
NO REPRESENTATIONS OR WARRANTIES ARE MADE WITH RESPECT TO THE CONTENTS HEREOF AND NO RESPONSIBILITY IS ASSUMED FOR ANY INACCURACIES, ERRORS OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION.
ALL IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE ARE EXPRESSLY DISCLAIMED. IN NO EVENT WILL ANY LIABILITY TO ANY PERSON BE INCURRED FOR ANY DIRECT, INDIRECT, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. All other names used in this presentation are for informational purposes only and may be trademarks of their respective owners.
The contents of this presentation were provided by individual(s) and/or company listed on the title page. The information and opinions presented in this presentation may not represent AMD’s positions, strategies or opinions. Unless explicitly stated, AMD is not responsible for the content herein and no endorsements are implied.