SlideShare a Scribd company logo
1 of 38
Carsten Benthin, Principal Engineer
Intel Corporation
2
Legal
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular
purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
This document contains information on products, services and/or processes in development. All information provided here is subject to change
without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps.
The products and services described may contain defects or errors known as errata which may cause deviations from published specifications.
Current characterized errata are available on request.
Intel technologies' features and benefits depend on system configuration and may require enabled hardware, software or service activation.
Performance varies depending on system configuration. No computer system can be absolutely secure. Check with your system manufacturer or
retailer or learn more at intel.com.
Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests,
such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change
to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating
your contemplated purchases, including the performance of that product when combined with other products. For more information go to
www.intel.com/benchmarks
Benchmark results were obtained prior to implementation of recent software patches and firmware updates intended to address exploits referred
to as "Spectre" and "Meltdown". Implementation of these updates may make these results inapplicable to your device or system.
Intel, Xeon and the Intel logo are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries.
*Other names and brands may be claimed as the property of others
© Intel Corporation.
• Application Programming Interface (API)
• Bounding Volume Hierarchy (BVH)
• Independent Software Vendor (ISV)
• Instruction Set Architecture (ISA)
• Intel® Advanced Vector Extensions (Intel® AVX)
• Intel® Advanced Vector Extensions 2 (Intel® AVX2)
• Intel® Advanced Vector Extensions 512 (Intel® AVX-512)
• Intel® SPMD Program Compiler (Intel® SPC)
• Intel® Streaming SIMD Extensions (Intel® SSE)
• Intel® Threading Building Blocks (Intel® TBB)
• Non-Uniform Rational Basis Spline (NURBS)
• Single Instruction, Multiple Data (SIMD)
• Single Program, Multiple Data (SPMD)
• Surface Area Heuristic (SAH)
3
Acronym List
Embree API
Selected Advanced Features
Embree Performance
Summary & OUTLOOK
• Movie industry intensively uses ray tracing today
(better image quality, faster feedback)
• High-quality rendering for commercials, prints, etc.
• Provides higher fidelity for virtual design
(automotive industry, architectural design, etc.)
• Various kinds of simulations
(lighting, sound, particles, collision detection, etc.)
• Prebaked lighting in games, starting to go real-time for
ray traced lighting and sound effects
6
Usage of Ray Tracing Today
• Need to multi-thread
Easy for rendering but difficult for hierarchy construction
• Need to vectorize
Efficient use of SIMD & ISAs (Intel® SSE, Intel® AVX, Intel® AVX2, Intel® AVX-
512)
• Need to support different CPUs
Different ISAs/CPUs favor different data structures, data layouts, and algorithms
• Need deep domain knowledge
Many different data structures and algorithms to choose from
• Different usage scenarios
Large model visualization favors memory conservative algorithms
7
Fast Ray Tracing Challenges
• Targets professional rendering applications
• Provides highly optimized ray tracing kernels
• 1.5–6× speedup reported by users
• Provides rich functionality and flexibility
• Support for latest CPUs and ISAs (e.g. Intel® AVX-512)
• Windows* (64 and 32 bit), macOS* 10.x, Linux*
• API for easy integration into applications
• Open Source under Apache* 2.0 license:
• http://embree.github.com
8
Embree Ray Tracing Kernels
8
*Other names and brands may be claimed as the property of others.
9
CPU/Embree Only Corona Renderer
*Other names and brands may be claimed as the property of others.
V-Ray Embree Hair Primitives
Embree Broad Adoption – 70+ Apps
DWA How To Train Your Dragon 2
ADSK 360 Cloud – >50M Renders
ParaView with OSPRay
ANL VL3 Dark Matter - OpenSWR
SURVICE StingRay
Rendered with FluidRay RT
Cinema4D
Embree Timeline
10
2.0:XeonPhi,Raypackets,ISPC
2.1:NewAPI,Runtimecodeselection
2.2:Intersectionfilter
2.3:Hairsupport
2.3.1:BVH8,Spatialsplits
2.4:Subdivisionsurfacesupport
2.5:ThreadingBuildingBlocks
2.6:Interpolation
2.7:Deviceconcept
2.8:Linegeometry,Quadgeometry
2.9:Raystreams
2.10:Geometriccurve
2.11:Frustumtraversal
2.12:Multisegment
motionblur
2.14:Ribbonhair
intersector
2.15:B-Splinebasis
2.16:Improvedmulti
segmentmotionblur,
improvedtwolevelbuilder
3.0:ImprovedAPI,
improvedmemory
consumption
3.1:Normaloriented
curves,gridgeometry
3.2:Hermitebasis
2017201620152014 2018
 Triangle meshes
 Quad meshes
 Grid meshes (NEW)
 Subdivision meshes
 Flat curves
 Round curves
 Normal-oriented curves (NEW)
 Instances
 User-defined  extensible
Trolls (2016), rendered with MoonRay, DreamWorks Animation*
11
Geometry Types
• Find closest hit (rtcIntersect), find any hit (rtcOccluded)
• Single rays, ray packets (4, 8, 16), ray streams (N)
• High-quality and high-performance parallel BVH builders
• Exploit nested parallelism through Intel® Threading Building Blocks (TBB)
• Multi-segment motion blur, instancing, static/dynamic objects, callback funcs., …
• API support for applications written in:
• C/C++ and Intel® SPMD Program Compiler (ISPC)
• No dependence on other graphics APIs like DirectX*, OpenGL*, …
12
Embree Features
*Other names and brands may be claimed as the property of others.
Embree System Overview
Embree API (C99 and ISPC)
Ray Tracing Kernel Selection
Acceleration
Structures
bvh4.triangle4
bvh8.triangle4
bvh4.quad4v
…
Builders
SAH Builder
MBlur Builder
Spatial Split Builder
Morton Builder
BVH Refitter
Traversal
Single Ray
Packet/Hybrid
Ray Stream
Common Vector and SIMD Library
(Vec3f, Vec3fa, vfloat4, vfloat8, vfloat16, …, Intel® SSE2, Intel® SSE4.1, Intel® AVX, Intel® AVX2, Intel® AVX-512)
Intersection
Möller-Trumbore
Plücker
Flat Curve
Round Curve
Oriented Curve
Grid
Subdiv Engine
B-Spline Patch
Gregory Patch
Tessellation Cache
Displ. Mapping
13
Embree Overview
Selected Advanced Features
Embree Performance
Summary & OUTLOOK
• Version 3 of the Embree API
• Object-oriented
• Reference-counted
• Device concept
• Compact and easy to use
• Hides implementation details (e.g. ISA and acceleration structure selection)
• For details visit https://embree.github.io/api.html
15
Embree API Overview
• Cleanup of previous API
• Improved flexibility
• Easier to use + API bug fixes
• New primitives, e.g. normal oriented curves, grids, ...
• Support for > 4 billion primitives
• More robust intersection computations
• Reduced memory consumption for instances and higher performance
• Conversion script makes adoption easy (included in Embree)
16
Advantages AND NEW FEATURES
of 3.x API
17
• Scene contains a vector of
geometries
• Scene geometry changes
have to get committed
(rtcCommitScene), which
triggers BVH build
Example: Scene creation
// include Embree headers
#include <embree3/rtcore.h>
int main()
{
// create Embree device at application startup
RTCDevice device = rtcNewDevice();
// create scene
RTCScene scene = rtcNewScene(device);
// attach geometries
... later slide ...
// commit changes
rtcCommitScene(scene);
// trace rays
... later slide ...
// release objects
rtcReleaseScene(scene);
rtcReleaseDevice(device);
}
18
• Triangle mesh contains
vertex and index buffers
• Shared buffers of flexible
layout (offset + stride)
supported
Example: Triangle Mesh creation
// application vertex and index layout
struct Vertex { float x, y, z, s, t; };
struct Triangle { int materialID, v0, v1, v2; };
// create triangle mesh
RTCGeometry geom = rtcNewGeometry(device,
RTC_GEOMETRY_TYPE_TRIANGLE);
// share data buffers
rtcSetSharedGeometryBuffer(geom, RTC_BUFFER_TYPE_VERTEX, 0,
RTC_FORMAT_FLOAT3, vertexPtr, 0, sizeof(Vertex));
rtcSetSharedGeometryBuffer(geom, RTC_BUFFER_TYPE_INDEX, 0,
RTC_FORMAT_UINT3, indexPtr, 4, sizeof(Triangle));
// commit geometry
rtcCommitGeometry(geom);
// attach geometry to scene
rtcAttachGeometryByID(scene, geom, user_provided_geomID);
// commit changes
rtcCommitScene(scene);
19
• Context passed to
potential callbacks
• Use RTCRayHit for normal
rays
• Use RTCRay for occlusion
rays
• Hit data and ray.tfar set in
case of hit
Example: Tracing Single Rays
// create intersection context
RTCIntersectContext context;
rtcInitIntersectContext(&context);
// create ray
RTCRayHit query;
query.ray.org_x = 0.0f;
query.ray.org_y = 0.0f;
query.ray.org_z = 0.0f;
query.ray.dir_x = 1.0f;
query.ray.dir_y = 0.0f;
query.ray.dir_z = 0.0f;
query.ray.tnear = eps;
query.ray.tfar = inf;
query.ray.time = 0.0f;
query.hit.geomID = RTC_INVALID_GEOMETRY_ID;
query.hit.primID = RTC_INVALID_GEOMETRY_ID;
// trace ray
rtcIntersect1(scene, &context, query);
// hit data filled on hit
if (query.hit.geomID == RTC_INVALID_GEOMETRY_ID) return;
// hit data filled on hit
float u = query.hit.u;
float v = query.hit.v;
float t = query.ray.tfar;
• C99-based language plus vector extensions
• Simplifies writing vectorized renderer
• Scalar looking code that gets vectorized automatically
• Guaranteed vectorization
• Compilation to different ISAs (Intel® SSE, Intel® AVX, Intel® AVX2, Intel® AVX-
512)
• Used for written application/rendering/shading code
• Available as Open Source from http://ispc.github.com
20
Intel® SPMD Program Compiler
(ISPC)
21
Example: Rendering using Intel®
ISPC
// loop over all screen pixels
foreach (y=0 ... screenHeight-1, x=0 ... screenWidth-1) {
// create and trace primary ray
RTCRayHit primary = make_RayHit(p, normalize(x*vx + y*vy + vz), eps, inf);
rtcIntersectV(scene, &context, ray);
// environment shading
if (primary.hit.geomID == RTC_INVALID_GEOMETRY_ID) {
pixels[y*screenWidth+x] = make_Vec3f(0.0f); continue;
}
// calculate hard shadows
RTCRay shadow = make_Ray(primary.ray.hitPoint(), neg(lightDir), eps, inf);
rtcOccludedV(scene, &context, shadow);
if (shadow.tfar < 0.0f)
pixels[y*width+x] = colors[ray.primID]*0.5f;
else
pixels[y*width+x] = colors[ray.primID]*(0.5f + clamp(-dot(lightDir,normalize(primary.hit.Ng)),0.0f,1.0f));
}
Embree Overview
Embree API
Embree Performance
Summary & OUTLOOK
• Quad rendered as pairs of triangles (v0,v1,v3 and v2,v3,v1)
• Mixed triangle/quad mesh supported (v0,v1,v3,v3)
• Most 3D modeling packages produce quad meshes
• Lower memory consumption
• Faster BVH building
• Ray tracing performance slightly lower than for triangles
23
Quad Meshes
v0
v1
v2
v3
• Primitives are grids of vertices with regular triangulation
• For displaced surfaces with higher tessellation levels
• Use quad meshes for low tessellation levels
• Extremely low memory consumption
• Down to 4 bytes per triangle
• Use instead of subdiv mesh with displacement function
24
Grid Meshes
• Converts coarse mesh into smooth surface (subdivision)
• Support for arbitrary topology
• Established as standard in movie production
• Embree implementation compatible with
OpenSubdiv 3.0 (creases, boundary modes, etc.)
• Evaluation of surface supported
• Walking mesh topology supported
Catmull-Clark Subdivision Surfaces
25
• Curve bases
• Linear (for very distant curves)
• Cubic Bézier (widely used representation)
• Cubic B-spline (most compact)
• Cubic Hermite (compact and interpolating)
• Curve types
• Flat curves (for distant geometry)
• Round curves for close-ups (swept circle)
• Normal-oriented curves (for grass)
26
Curve
GeometrIE
S
• Supports varying radius along the curve
• High performance through use of oriented bounding boxes
[Woop et al. 2014]
• Low memory consumption through direct ray/curve intersection
(new algorithm)
27
Curve
GeometrIE
S
• Enables implementing custom primitives and
features
• Sphere, disk, multi level instancing, rotation
motion blur, etc.
• User provides:
• Bounding function
• Intersect and occluded functions
28
User-Defined Geometries
• Per-geometry callback
• Called during traversal for each primitive intersection
• Callback can accept or reject hit
• Can be used for:
• Trimming curves (e.g. modeling tree leaves)
• Transparent shadows (reject and accumulate)
• Find all hits (reject and collect)
• Advanced self-intersection avoidance
29
Intersection Filter Functions
• Important to render fast curved motion (e.g. rotating
wheels, fight scenes, spinning dancers, etc.)
• Sequence of time steps to be piecewise-linearly
interpolated
• Typically equidistant time steps and often different
number of time steps per geometry
• 4D-BVH which stores linear spatial and temporal
bounds
• BVH can spatially separate geometries
• BVH can reduce time ranges where required 30
Multi-Segment Motion Blur
31
Embree Overview
Embree API
Selected Advanced Features
Summary & OUTLOOK
Benchmark Overview
• Path tracer with different material types, different light types, ~2k lines of code
• Similar implementation for CPU (ISPC + Embree) and GPU (CUDA* + OptiX*)
• Highest quality BVH build settings for all platforms
• Evaluation on typical Intel® Xeon® rendering workstation†
• Dual-socket Intel® Xeon® Platinum 8180 Processor (2x28 cores @ 2.5 GHz)
• Compare against state-of-the-art GPU methods
• OptiX 5.1.0 and CUDA 9.2.88
• NVIDIA Tesla* V100 Coprocessor (5120 CUDA cores @ 1.37 GHz, Volta)
*Other names and brands may be claimed as the property of others.
33
33
Performance: Embree vs. NVIDIA
OptiX*
0
10
20
30
40
50
60
70
80
90
Bentley
(2.3M Tris)
Crown
(4.8M Tris)
Dragon
(7.4M Tris)
Karst Fluid Flow
(8.4M Tris)
Power Plant
(12.8M Tris)
Intel® Xeon® Platinum 8180
2 x 28 cores, 2.5 GHz
Embree 2.17.4
NVIDIA Tesla P100
PCIe, 16 GB RAM
OptiX 5.1.0
NVIDIA Tesla V100
PCIe, 16 GB RAM
OptiX 5.1.0
Frames Per Second (Higher is Better), 1024x1024 image resolution
Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific
computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in
fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more information go to http://www.intel.com/performance.
Embree 2.17.4, Intel® C++ Compiler 18.0.3,
Intel® SPMD Program Compiler (ISPC) 1.9.2
NVIDIA OptiX* 5.1.0, CUDA* 9.2.88
Source: Intel
*Other names and brands may be claimed as the property of others.
Embree Overview
Embree API
Selected Advanced Features
EMBREE PERFORMANCE
• Embree provides optimized and scalable ray tracing kernels for the CPU
• Latest state-of-the-art feature set
• Lots of ray tracing research goes directly into Embree 
• Actively developed and completely open-source
• Easy to integrate into existing applications
• Lots of ISVs using it as their core ray tracing engine
35
SUMMARY
• Denoising
• Quaternion interpolation for transformation motion blur
• Non-uniform motion blur
• New primitive types (disk, sphere, bilinear patch)
• Improve ray/geometry masking and instancing performance
• Point projection onto geometry (robust manifold next event estimation)
• Partial double support
36
Outlook
Check out the Embree/OSPRay demos at booth #1300 West Hall
https://embree.github.io
embree_support@intel.com
embree@googlegroups.com
37
Questions?
38

More Related Content

What's hot

SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012Mark Kilgard
 
filters for noise in image processing
filters for noise in image processingfilters for noise in image processing
filters for noise in image processingSardar Alam
 
Object detection
Object detectionObject detection
Object detectionSomesh Vyas
 
[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection
[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection
[PR12] You Only Look Once (YOLO): Unified Real-Time Object DetectionTaegyun Jeon
 
BigML Release: Image Processing
BigML Release: Image ProcessingBigML Release: Image Processing
BigML Release: Image ProcessingBigML, Inc
 
artificial neural network
artificial neural networkartificial neural network
artificial neural networkPallavi Yadav
 
Image processing, Noise, Noise Removal filters
Image processing, Noise, Noise Removal filtersImage processing, Noise, Noise Removal filters
Image processing, Noise, Noise Removal filtersKuppusamy P
 
Convolutional Neural Networks (CNN)
Convolutional Neural Networks (CNN)Convolutional Neural Networks (CNN)
Convolutional Neural Networks (CNN)Gaurav Mittal
 
IMAGE SEGMENTATION TECHNIQUES
IMAGE SEGMENTATION TECHNIQUESIMAGE SEGMENTATION TECHNIQUES
IMAGE SEGMENTATION TECHNIQUESVicky Kumar
 
ImageProcessing10-Segmentation(Thresholding) (1).ppt
ImageProcessing10-Segmentation(Thresholding) (1).pptImageProcessing10-Segmentation(Thresholding) (1).ppt
ImageProcessing10-Segmentation(Thresholding) (1).pptVikramBarapatre2
 
Image Inpainting Using Deep Learning
Image Inpainting Using Deep Learning Image Inpainting Using Deep Learning
Image Inpainting Using Deep Learning MohammadPooya Malek
 
Deep learning for object detection
Deep learning for object detectionDeep learning for object detection
Deep learning for object detectionWenjing Chen
 
Extraction of region of interest in an image
Extraction of region of interest in an imageExtraction of region of interest in an image
Extraction of region of interest in an imageHarsukh Chandak
 
Image Compression Using Neural Network
 Image Compression Using Neural Network Image Compression Using Neural Network
Image Compression Using Neural NetworkOmkar Lokhande
 

What's hot (20)

SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012
 
Segmentation
SegmentationSegmentation
Segmentation
 
Stereo vision
Stereo visionStereo vision
Stereo vision
 
DIGITAL IMAGE PROCESSING
DIGITAL IMAGE PROCESSINGDIGITAL IMAGE PROCESSING
DIGITAL IMAGE PROCESSING
 
filters for noise in image processing
filters for noise in image processingfilters for noise in image processing
filters for noise in image processing
 
Histogram Equalization
Histogram EqualizationHistogram Equalization
Histogram Equalization
 
Epipolar geometry
Epipolar geometryEpipolar geometry
Epipolar geometry
 
Object detection
Object detectionObject detection
Object detection
 
[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection
[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection
[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection
 
BigML Release: Image Processing
BigML Release: Image ProcessingBigML Release: Image Processing
BigML Release: Image Processing
 
artificial neural network
artificial neural networkartificial neural network
artificial neural network
 
Image processing, Noise, Noise Removal filters
Image processing, Noise, Noise Removal filtersImage processing, Noise, Noise Removal filters
Image processing, Noise, Noise Removal filters
 
Convolutional Neural Networks (CNN)
Convolutional Neural Networks (CNN)Convolutional Neural Networks (CNN)
Convolutional Neural Networks (CNN)
 
IMAGE SEGMENTATION TECHNIQUES
IMAGE SEGMENTATION TECHNIQUESIMAGE SEGMENTATION TECHNIQUES
IMAGE SEGMENTATION TECHNIQUES
 
ImageProcessing10-Segmentation(Thresholding) (1).ppt
ImageProcessing10-Segmentation(Thresholding) (1).pptImageProcessing10-Segmentation(Thresholding) (1).ppt
ImageProcessing10-Segmentation(Thresholding) (1).ppt
 
Image Inpainting Using Deep Learning
Image Inpainting Using Deep Learning Image Inpainting Using Deep Learning
Image Inpainting Using Deep Learning
 
Motion capture by Rj
Motion capture by RjMotion capture by Rj
Motion capture by Rj
 
Deep learning for object detection
Deep learning for object detectionDeep learning for object detection
Deep learning for object detection
 
Extraction of region of interest in an image
Extraction of region of interest in an imageExtraction of region of interest in an image
Extraction of region of interest in an image
 
Image Compression Using Neural Network
 Image Compression Using Neural Network Image Compression Using Neural Network
Image Compression Using Neural Network
 

Similar to Embree API Selected Advanced Features

Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...Intel® Software
 
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...Intel® Software
 
Introduction to container networking in K8s - SDN/NFV London meetup
Introduction to container networking in K8s - SDN/NFV  London meetupIntroduction to container networking in K8s - SDN/NFV  London meetup
Introduction to container networking in K8s - SDN/NFV London meetupHaidee McMahon
 
Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...
Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...
Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...Intel® Software
 
【視覺進化論】AI智慧視覺運算技術論壇_2_ChungYeh
【視覺進化論】AI智慧視覺運算技術論壇_2_ChungYeh【視覺進化論】AI智慧視覺運算技術論壇_2_ChungYeh
【視覺進化論】AI智慧視覺運算技術論壇_2_ChungYehMAKERPRO.cc
 
Performance and Power Profiling on Intel Android Devices
Performance and Power Profiling on Intel Android DevicesPerformance and Power Profiling on Intel Android Devices
Performance and Power Profiling on Intel Android DevicesIntel® Software
 
Cloud Technology: Now Entering the Business Process Phase
Cloud Technology: Now Entering the Business Process PhaseCloud Technology: Now Entering the Business Process Phase
Cloud Technology: Now Entering the Business Process Phasefinteligent
 
ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...
ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...
ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...Kuralamudhan Ramakrishnan
 
Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Michelle Holley
 
Accelerating Insights in the Technical Computing Transformation
Accelerating Insights in the Technical Computing TransformationAccelerating Insights in the Technical Computing Transformation
Accelerating Insights in the Technical Computing TransformationIntel IT Center
 
Intel Knights Landing Slides
Intel Knights Landing SlidesIntel Knights Landing Slides
Intel Knights Landing SlidesRonen Mendezitsky
 
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP ProgrammingHetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP ProgrammingIntel® Software
 
Develop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsDevelop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsNational Cheng Kung University
 
NFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function FrameworkNFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function FrameworkMichelle Holley
 
Intel® Advanced Vector Extensions Support in GNU Compiler Collection
Intel® Advanced Vector Extensions Support in GNU Compiler CollectionIntel® Advanced Vector Extensions Support in GNU Compiler Collection
Intel® Advanced Vector Extensions Support in GNU Compiler CollectionDESMOND YUEN
 
Intel® Select Solutions for the Network
Intel® Select Solutions for the NetworkIntel® Select Solutions for the Network
Intel® Select Solutions for the NetworkLiz Warner
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth Pilli
 
Accelerating Mission Critical Transformation at Red Hat Summit 2011
Accelerating Mission Critical Transformation at Red Hat Summit 2011Accelerating Mission Critical Transformation at Red Hat Summit 2011
Accelerating Mission Critical Transformation at Red Hat Summit 2011Pauline Nist
 
Simulating Networks Using Cisco Modeling Labs (TechWiseTV Workshop)
Simulating Networks Using Cisco Modeling Labs (TechWiseTV Workshop)Simulating Networks Using Cisco Modeling Labs (TechWiseTV Workshop)
Simulating Networks Using Cisco Modeling Labs (TechWiseTV Workshop)Robb Boyd
 

Similar to Embree API Selected Advanced Features (20)

Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
 
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
 
Introduction to container networking in K8s - SDN/NFV London meetup
Introduction to container networking in K8s - SDN/NFV  London meetupIntroduction to container networking in K8s - SDN/NFV  London meetup
Introduction to container networking in K8s - SDN/NFV London meetup
 
Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...
Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...
Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...
 
【視覺進化論】AI智慧視覺運算技術論壇_2_ChungYeh
【視覺進化論】AI智慧視覺運算技術論壇_2_ChungYeh【視覺進化論】AI智慧視覺運算技術論壇_2_ChungYeh
【視覺進化論】AI智慧視覺運算技術論壇_2_ChungYeh
 
Performance and Power Profiling on Intel Android Devices
Performance and Power Profiling on Intel Android DevicesPerformance and Power Profiling on Intel Android Devices
Performance and Power Profiling on Intel Android Devices
 
Cloud Technology: Now Entering the Business Process Phase
Cloud Technology: Now Entering the Business Process PhaseCloud Technology: Now Entering the Business Process Phase
Cloud Technology: Now Entering the Business Process Phase
 
ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...
ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...
ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...
 
Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...
 
Accelerating Insights in the Technical Computing Transformation
Accelerating Insights in the Technical Computing TransformationAccelerating Insights in the Technical Computing Transformation
Accelerating Insights in the Technical Computing Transformation
 
Intel Knights Landing Slides
Intel Knights Landing SlidesIntel Knights Landing Slides
Intel Knights Landing Slides
 
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP ProgrammingHetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
 
Enabling NFV features in kubernetes
Enabling NFV features in kubernetesEnabling NFV features in kubernetes
Enabling NFV features in kubernetes
 
Develop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsDevelop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM Boards
 
NFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function FrameworkNFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function Framework
 
Intel® Advanced Vector Extensions Support in GNU Compiler Collection
Intel® Advanced Vector Extensions Support in GNU Compiler CollectionIntel® Advanced Vector Extensions Support in GNU Compiler Collection
Intel® Advanced Vector Extensions Support in GNU Compiler Collection
 
Intel® Select Solutions for the Network
Intel® Select Solutions for the NetworkIntel® Select Solutions for the Network
Intel® Select Solutions for the Network
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Accelerating Mission Critical Transformation at Red Hat Summit 2011
Accelerating Mission Critical Transformation at Red Hat Summit 2011Accelerating Mission Critical Transformation at Red Hat Summit 2011
Accelerating Mission Critical Transformation at Red Hat Summit 2011
 
Simulating Networks Using Cisco Modeling Labs (TechWiseTV Workshop)
Simulating Networks Using Cisco Modeling Labs (TechWiseTV Workshop)Simulating Networks Using Cisco Modeling Labs (TechWiseTV Workshop)
Simulating Networks Using Cisco Modeling Labs (TechWiseTV Workshop)
 

More from Intel® Software

AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology Intel® Software
 
Python Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and AnacondaPython Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and AnacondaIntel® Software
 
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSciStreamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSciIntel® Software
 
AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.Intel® Software
 
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...Intel® Software
 
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...Intel® Software
 
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...Intel® Software
 
AWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI ResearchAWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI ResearchIntel® Software
 
Intel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview SlidesIntel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview SlidesIntel® Software
 
AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019Intel® Software
 
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019Intel® Software
 
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...Intel® Software
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Intel® Software
 
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Intel® Software
 
AIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino SlidesAIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino SlidesIntel® Software
 
AIDC India - AI Vision Slides
AIDC India - AI Vision SlidesAIDC India - AI Vision Slides
AIDC India - AI Vision SlidesIntel® Software
 
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Intel® Software
 
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...Intel® Software
 

More from Intel® Software (20)

AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology
 
Python Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and AnacondaPython Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and Anaconda
 
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSciStreamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
 
AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.
 
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
 
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
 
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
 
AWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI ResearchAWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI Research
 
Intel Developer Program
Intel Developer ProgramIntel Developer Program
Intel Developer Program
 
Intel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview SlidesIntel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview Slides
 
AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019
 
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
 
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
 
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
 
AIDC India - AI on IA
AIDC India  - AI on IAAIDC India  - AI on IA
AIDC India - AI on IA
 
AIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino SlidesAIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino Slides
 
AIDC India - AI Vision Slides
AIDC India - AI Vision SlidesAIDC India - AI Vision Slides
AIDC India - AI Vision Slides
 
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
 
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
 

Recently uploaded

Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 

Recently uploaded (20)

Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 

Embree API Selected Advanced Features

  • 1. Carsten Benthin, Principal Engineer Intel Corporation
  • 2. 2 Legal No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document. Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade. This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps. The products and services described may contain defects or errors known as errata which may cause deviations from published specifications. Current characterized errata are available on request. Intel technologies' features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. No computer system can be absolutely secure. Check with your system manufacturer or retailer or learn more at intel.com. Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more information go to www.intel.com/benchmarks Benchmark results were obtained prior to implementation of recent software patches and firmware updates intended to address exploits referred to as "Spectre" and "Meltdown". Implementation of these updates may make these results inapplicable to your device or system. Intel, Xeon and the Intel logo are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others © Intel Corporation.
  • 3. • Application Programming Interface (API) • Bounding Volume Hierarchy (BVH) • Independent Software Vendor (ISV) • Instruction Set Architecture (ISA) • Intel® Advanced Vector Extensions (Intel® AVX) • Intel® Advanced Vector Extensions 2 (Intel® AVX2) • Intel® Advanced Vector Extensions 512 (Intel® AVX-512) • Intel® SPMD Program Compiler (Intel® SPC) • Intel® Streaming SIMD Extensions (Intel® SSE) • Intel® Threading Building Blocks (Intel® TBB) • Non-Uniform Rational Basis Spline (NURBS) • Single Instruction, Multiple Data (SIMD) • Single Program, Multiple Data (SPMD) • Surface Area Heuristic (SAH) 3 Acronym List
  • 4.
  • 5. Embree API Selected Advanced Features Embree Performance Summary & OUTLOOK
  • 6. • Movie industry intensively uses ray tracing today (better image quality, faster feedback) • High-quality rendering for commercials, prints, etc. • Provides higher fidelity for virtual design (automotive industry, architectural design, etc.) • Various kinds of simulations (lighting, sound, particles, collision detection, etc.) • Prebaked lighting in games, starting to go real-time for ray traced lighting and sound effects 6 Usage of Ray Tracing Today
  • 7. • Need to multi-thread Easy for rendering but difficult for hierarchy construction • Need to vectorize Efficient use of SIMD & ISAs (Intel® SSE, Intel® AVX, Intel® AVX2, Intel® AVX- 512) • Need to support different CPUs Different ISAs/CPUs favor different data structures, data layouts, and algorithms • Need deep domain knowledge Many different data structures and algorithms to choose from • Different usage scenarios Large model visualization favors memory conservative algorithms 7 Fast Ray Tracing Challenges
  • 8. • Targets professional rendering applications • Provides highly optimized ray tracing kernels • 1.5–6× speedup reported by users • Provides rich functionality and flexibility • Support for latest CPUs and ISAs (e.g. Intel® AVX-512) • Windows* (64 and 32 bit), macOS* 10.x, Linux* • API for easy integration into applications • Open Source under Apache* 2.0 license: • http://embree.github.com 8 Embree Ray Tracing Kernels 8 *Other names and brands may be claimed as the property of others.
  • 9. 9 CPU/Embree Only Corona Renderer *Other names and brands may be claimed as the property of others. V-Ray Embree Hair Primitives Embree Broad Adoption – 70+ Apps DWA How To Train Your Dragon 2 ADSK 360 Cloud – >50M Renders ParaView with OSPRay ANL VL3 Dark Matter - OpenSWR SURVICE StingRay Rendered with FluidRay RT Cinema4D
  • 11.  Triangle meshes  Quad meshes  Grid meshes (NEW)  Subdivision meshes  Flat curves  Round curves  Normal-oriented curves (NEW)  Instances  User-defined  extensible Trolls (2016), rendered with MoonRay, DreamWorks Animation* 11 Geometry Types
  • 12. • Find closest hit (rtcIntersect), find any hit (rtcOccluded) • Single rays, ray packets (4, 8, 16), ray streams (N) • High-quality and high-performance parallel BVH builders • Exploit nested parallelism through Intel® Threading Building Blocks (TBB) • Multi-segment motion blur, instancing, static/dynamic objects, callback funcs., … • API support for applications written in: • C/C++ and Intel® SPMD Program Compiler (ISPC) • No dependence on other graphics APIs like DirectX*, OpenGL*, … 12 Embree Features *Other names and brands may be claimed as the property of others.
  • 13. Embree System Overview Embree API (C99 and ISPC) Ray Tracing Kernel Selection Acceleration Structures bvh4.triangle4 bvh8.triangle4 bvh4.quad4v … Builders SAH Builder MBlur Builder Spatial Split Builder Morton Builder BVH Refitter Traversal Single Ray Packet/Hybrid Ray Stream Common Vector and SIMD Library (Vec3f, Vec3fa, vfloat4, vfloat8, vfloat16, …, Intel® SSE2, Intel® SSE4.1, Intel® AVX, Intel® AVX2, Intel® AVX-512) Intersection Möller-Trumbore Plücker Flat Curve Round Curve Oriented Curve Grid Subdiv Engine B-Spline Patch Gregory Patch Tessellation Cache Displ. Mapping 13
  • 14. Embree Overview Selected Advanced Features Embree Performance Summary & OUTLOOK
  • 15. • Version 3 of the Embree API • Object-oriented • Reference-counted • Device concept • Compact and easy to use • Hides implementation details (e.g. ISA and acceleration structure selection) • For details visit https://embree.github.io/api.html 15 Embree API Overview
  • 16. • Cleanup of previous API • Improved flexibility • Easier to use + API bug fixes • New primitives, e.g. normal oriented curves, grids, ... • Support for > 4 billion primitives • More robust intersection computations • Reduced memory consumption for instances and higher performance • Conversion script makes adoption easy (included in Embree) 16 Advantages AND NEW FEATURES of 3.x API
  • 17. 17 • Scene contains a vector of geometries • Scene geometry changes have to get committed (rtcCommitScene), which triggers BVH build Example: Scene creation // include Embree headers #include <embree3/rtcore.h> int main() { // create Embree device at application startup RTCDevice device = rtcNewDevice(); // create scene RTCScene scene = rtcNewScene(device); // attach geometries ... later slide ... // commit changes rtcCommitScene(scene); // trace rays ... later slide ... // release objects rtcReleaseScene(scene); rtcReleaseDevice(device); }
  • 18. 18 • Triangle mesh contains vertex and index buffers • Shared buffers of flexible layout (offset + stride) supported Example: Triangle Mesh creation // application vertex and index layout struct Vertex { float x, y, z, s, t; }; struct Triangle { int materialID, v0, v1, v2; }; // create triangle mesh RTCGeometry geom = rtcNewGeometry(device, RTC_GEOMETRY_TYPE_TRIANGLE); // share data buffers rtcSetSharedGeometryBuffer(geom, RTC_BUFFER_TYPE_VERTEX, 0, RTC_FORMAT_FLOAT3, vertexPtr, 0, sizeof(Vertex)); rtcSetSharedGeometryBuffer(geom, RTC_BUFFER_TYPE_INDEX, 0, RTC_FORMAT_UINT3, indexPtr, 4, sizeof(Triangle)); // commit geometry rtcCommitGeometry(geom); // attach geometry to scene rtcAttachGeometryByID(scene, geom, user_provided_geomID); // commit changes rtcCommitScene(scene);
  • 19. 19 • Context passed to potential callbacks • Use RTCRayHit for normal rays • Use RTCRay for occlusion rays • Hit data and ray.tfar set in case of hit Example: Tracing Single Rays // create intersection context RTCIntersectContext context; rtcInitIntersectContext(&context); // create ray RTCRayHit query; query.ray.org_x = 0.0f; query.ray.org_y = 0.0f; query.ray.org_z = 0.0f; query.ray.dir_x = 1.0f; query.ray.dir_y = 0.0f; query.ray.dir_z = 0.0f; query.ray.tnear = eps; query.ray.tfar = inf; query.ray.time = 0.0f; query.hit.geomID = RTC_INVALID_GEOMETRY_ID; query.hit.primID = RTC_INVALID_GEOMETRY_ID; // trace ray rtcIntersect1(scene, &context, query); // hit data filled on hit if (query.hit.geomID == RTC_INVALID_GEOMETRY_ID) return; // hit data filled on hit float u = query.hit.u; float v = query.hit.v; float t = query.ray.tfar;
  • 20. • C99-based language plus vector extensions • Simplifies writing vectorized renderer • Scalar looking code that gets vectorized automatically • Guaranteed vectorization • Compilation to different ISAs (Intel® SSE, Intel® AVX, Intel® AVX2, Intel® AVX- 512) • Used for written application/rendering/shading code • Available as Open Source from http://ispc.github.com 20 Intel® SPMD Program Compiler (ISPC)
  • 21. 21 Example: Rendering using Intel® ISPC // loop over all screen pixels foreach (y=0 ... screenHeight-1, x=0 ... screenWidth-1) { // create and trace primary ray RTCRayHit primary = make_RayHit(p, normalize(x*vx + y*vy + vz), eps, inf); rtcIntersectV(scene, &context, ray); // environment shading if (primary.hit.geomID == RTC_INVALID_GEOMETRY_ID) { pixels[y*screenWidth+x] = make_Vec3f(0.0f); continue; } // calculate hard shadows RTCRay shadow = make_Ray(primary.ray.hitPoint(), neg(lightDir), eps, inf); rtcOccludedV(scene, &context, shadow); if (shadow.tfar < 0.0f) pixels[y*width+x] = colors[ray.primID]*0.5f; else pixels[y*width+x] = colors[ray.primID]*(0.5f + clamp(-dot(lightDir,normalize(primary.hit.Ng)),0.0f,1.0f)); }
  • 22. Embree Overview Embree API Embree Performance Summary & OUTLOOK
  • 23. • Quad rendered as pairs of triangles (v0,v1,v3 and v2,v3,v1) • Mixed triangle/quad mesh supported (v0,v1,v3,v3) • Most 3D modeling packages produce quad meshes • Lower memory consumption • Faster BVH building • Ray tracing performance slightly lower than for triangles 23 Quad Meshes v0 v1 v2 v3
  • 24. • Primitives are grids of vertices with regular triangulation • For displaced surfaces with higher tessellation levels • Use quad meshes for low tessellation levels • Extremely low memory consumption • Down to 4 bytes per triangle • Use instead of subdiv mesh with displacement function 24 Grid Meshes
  • 25. • Converts coarse mesh into smooth surface (subdivision) • Support for arbitrary topology • Established as standard in movie production • Embree implementation compatible with OpenSubdiv 3.0 (creases, boundary modes, etc.) • Evaluation of surface supported • Walking mesh topology supported Catmull-Clark Subdivision Surfaces 25
  • 26. • Curve bases • Linear (for very distant curves) • Cubic Bézier (widely used representation) • Cubic B-spline (most compact) • Cubic Hermite (compact and interpolating) • Curve types • Flat curves (for distant geometry) • Round curves for close-ups (swept circle) • Normal-oriented curves (for grass) 26 Curve GeometrIE S
  • 27. • Supports varying radius along the curve • High performance through use of oriented bounding boxes [Woop et al. 2014] • Low memory consumption through direct ray/curve intersection (new algorithm) 27 Curve GeometrIE S
  • 28. • Enables implementing custom primitives and features • Sphere, disk, multi level instancing, rotation motion blur, etc. • User provides: • Bounding function • Intersect and occluded functions 28 User-Defined Geometries
  • 29. • Per-geometry callback • Called during traversal for each primitive intersection • Callback can accept or reject hit • Can be used for: • Trimming curves (e.g. modeling tree leaves) • Transparent shadows (reject and accumulate) • Find all hits (reject and collect) • Advanced self-intersection avoidance 29 Intersection Filter Functions
  • 30. • Important to render fast curved motion (e.g. rotating wheels, fight scenes, spinning dancers, etc.) • Sequence of time steps to be piecewise-linearly interpolated • Typically equidistant time steps and often different number of time steps per geometry • 4D-BVH which stores linear spatial and temporal bounds • BVH can spatially separate geometries • BVH can reduce time ranges where required 30 Multi-Segment Motion Blur 31
  • 31. Embree Overview Embree API Selected Advanced Features Summary & OUTLOOK
  • 32. Benchmark Overview • Path tracer with different material types, different light types, ~2k lines of code • Similar implementation for CPU (ISPC + Embree) and GPU (CUDA* + OptiX*) • Highest quality BVH build settings for all platforms • Evaluation on typical Intel® Xeon® rendering workstation† • Dual-socket Intel® Xeon® Platinum 8180 Processor (2x28 cores @ 2.5 GHz) • Compare against state-of-the-art GPU methods • OptiX 5.1.0 and CUDA 9.2.88 • NVIDIA Tesla* V100 Coprocessor (5120 CUDA cores @ 1.37 GHz, Volta) *Other names and brands may be claimed as the property of others. 33
  • 33. 33 Performance: Embree vs. NVIDIA OptiX* 0 10 20 30 40 50 60 70 80 90 Bentley (2.3M Tris) Crown (4.8M Tris) Dragon (7.4M Tris) Karst Fluid Flow (8.4M Tris) Power Plant (12.8M Tris) Intel® Xeon® Platinum 8180 2 x 28 cores, 2.5 GHz Embree 2.17.4 NVIDIA Tesla P100 PCIe, 16 GB RAM OptiX 5.1.0 NVIDIA Tesla V100 PCIe, 16 GB RAM OptiX 5.1.0 Frames Per Second (Higher is Better), 1024x1024 image resolution Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more information go to http://www.intel.com/performance. Embree 2.17.4, Intel® C++ Compiler 18.0.3, Intel® SPMD Program Compiler (ISPC) 1.9.2 NVIDIA OptiX* 5.1.0, CUDA* 9.2.88 Source: Intel *Other names and brands may be claimed as the property of others.
  • 34. Embree Overview Embree API Selected Advanced Features EMBREE PERFORMANCE
  • 35. • Embree provides optimized and scalable ray tracing kernels for the CPU • Latest state-of-the-art feature set • Lots of ray tracing research goes directly into Embree  • Actively developed and completely open-source • Easy to integrate into existing applications • Lots of ISVs using it as their core ray tracing engine 35 SUMMARY
  • 36. • Denoising • Quaternion interpolation for transformation motion blur • Non-uniform motion blur • New primitive types (disk, sphere, bilinear patch) • Improve ray/geometry masking and instancing performance • Point projection onto geometry (robust manifold next event estimation) • Partial double support 36 Outlook
  • 37. Check out the Embree/OSPRay demos at booth #1300 West Hall https://embree.github.io embree_support@intel.com embree@googlegroups.com 37 Questions?
  • 38. 38

Editor's Notes

  1. Blender Open Movies: Caminandes 3, Agent 327: License Creative Commons Attribution license (reuse allowed)
  2. Image license: https://www.istockphoto.com/nz/photo/luxury-mediterranean-style-villa-gm629625894-112092777
  3. (e.g. consistent use of intersection context) (e.g. change BVH builder, geometries as stand alone objects) (e.g. attach geometry by ID, intersection filter inside context) (e.g. incompatible Ray1 and Packet<1> layout)
  4. (C2 continous almost everywhere) (generalization of B-spline surface, no trimming required as with NURBS)
  5. Blender Open Movies: Caminandes 3, Agent 327: License Creative Commons Attribution license (reuse allowed)
  6. About 80% tracing rays, 20% shading