Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Software-defined Visualization, High-Fidelity
Visualization: OpenSWR and OSPRay
Ingo Wald, Tech Lead Software-defined and High-Fidelity Visualization, Intel
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED,
BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF
SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS
OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR
PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE
OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND
AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE
ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH
MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL
PRODUCT OR ANY OF ITS PARTS.
Intel may make changes to specifications and product descriptions at any time, without notice.
All products, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice.
Intel processors, chipsets, and desktop boards may contain design defects or errors known as errata, which may cause the product to deviate from published specifications.
Current characterized errata are available on request.
Optimized Intel® HD Graphics P3000 only available on select models of the Intel® Xeon® processor E3 family. To learn more about Intel Xeon processors for workstation
visit www.intel.com/go/workstation.
HD Graphics P4000 introduces four additional execution units, going from 8 in the HD P3000 to 12 in the HD P4000. Optimized Intel® HD Graphics P4000 only available on
select models of the Intel® Xeon® processor E3-1200 v2 product family. For more information, visithttp://www.intel.com/content/www/us/en/architecture-and-
technology/hdgraphics/hdgraphics-developer.html
Iris™ graphics is available on select systems. Consult your system manufacturer.
Any code names featured are used internally within Intel to identify products that are in development and not yet publicly announced for release. Customers, licensees and
other third parties are not authorized by Intel to use code names in advertising, promotion or marketing of any product or services and any such use of Intel's internal code
names is at the sole risk of the user.
Intel product plans in this presentation do not constitute Intel plan of record product roadmaps. Please contact your Intel representative to obtain Intel’s current plan of record
product roadmaps.
Performance claims: 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
Legal
8/18/2015
2
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
INFORMATION IN THIS DOCUMENT IS PROVIDED “AS IS”. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY
INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY
EXPRESS OR IMPLIED WARRANTY, RELATING TO THIS INFORMATION INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A
PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
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.
Copyright © , Intel Corporation. All rights reserved. Intel, the Intel logo, Xeon, Core, VTune, and Cilk are trademarks of Intel Corporation in the
U.S. and other countries.
Optimization Notice
Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not
unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other
optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on
microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use
with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel
microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the
specific instruction sets covered by this notice.
Notice revision #20110804
Legal Disclaimer and Optimization Notice
3
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.8/18/2015
4
 Introduction
– Software-defined and High-Fidelity Visualization
 The OpenSWR ("SWR") software rasterizer
 The OSPRay Ray Tracing Engine for Vis-style Rendering
– Motivation and Goals
– Capabilities
– Getting started with OSPRay
Outline
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
A) This talk is about rendering for visualization
– Not about rendering for games, movies, etc …
… but rather, for scientific visualization (+engineering, …)
(in particular, in HPC Environments)
– Not about general "vis" (which is about more than rendering)
… but rather, only the rendering part of it
Before we start ….
Models courtesy Florida International
University, Tim Sandstrom (NASA), and
Carsten Kutzner (MPI BioChemistry)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
A) This talk is about rendering for visualization
B) It's about interactive, but exclusively CPU-based rendering
– All rendering performed exclusively on the CPU(s)
– "No GPUs were harmed while making this talk…"
Before we start ….
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 “Software-defined Visualization” (SDVis)
– Basic idea: Do the rendering on the CPU
 Turn “rendering” into a compute problem, then use a CPU solution
– Lots of demand for it
 Many HPC systems don’t have GPUs, and don’t want any
– Lots of opportunity in doing it
 E.g., full access to host memory, in situ, scalability, …
 “High-fidelity Visualization” (HiFi Vis)
– Enabling advanced rendering (ray tracing) for Vis
 Better “understanding” of model
 More flexibility in how to do the vis (volume rendering, transparency…)
 Better performance
SDVis and Hi-Fi Vis
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Vision: Scalable, Flexible Vis Rendering that Runs Anywhere!
Standalone Laptops or Workstations
Big Memory Nodes or Rendering
Focused Clusters
Large Compute+Vis clusters with
Local or Remote Clients
Cloud or
Network
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 … scalability in image quality
 … scalability in model size
 … scalability in render cost
HiFi-Vis: SDVis, plus …
Data set provided by Florida International University
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Software Defined Visualization:
How can we get there?
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Option I: Build on existing APIs (OpenGL)
– Immediately works with any existing vis tool, vis app, …
– Zero adoption cost.
– But: Limited to whatever existing API can do (High-Fi !?)
 Option II: Build s/t new that’s not limited by legacy baggage
– Can build it exactly the way one wants it
– Can better adapt to changed demands & opportunities
– But: “some” effort to enable existing apps to use it
Software-defined Visualization: How?
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Option I: Build on existing APIs (OpenGL)
– Immediately works with any existing vis tool, vis app, …
– Zero adoption cost.
– But: Limited to whatever existing API can do (High-Fi !?)
The “OpenSWR” Software Rasterizer
 Option II: Build s/t new that’s not limited by legacy baggage
– Can build it exactly the way one wants it
– Can better adapt to changed demands & opportunities
– But: “some” effort to enable existing apps to use it
The “OSPRay” Ray Tracing library
Software-defined Visualization: How?
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
The “OpenSWR” Software Rasterizer
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Goal: Drop-in replacement of OpenGL (like Mesa, but faster)
– Implements subset of OpenGL as required for vis apps
 Primary targets today are ParaView* and VisIt
– Within this feature set: “drop-in” with existing apps
 No re-compilation necessary, just point LD_LIBRARY_PATH
 High performance through threading and vectorization
– Target Intel© AVX/AVX2 enabled Intel© Xeon© CPUs
– Available free of charge
 Early version available Open Source: http://OpenSWR.github.io
 Eventually: upstream to Mesa
The “SWR” Software Rasterizer
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Current Effort: Upstream into Mesa
– Current in closed "alpha 2" stage (hand-picked testers)
The “SWR” Software Rasterizer
Application
Mesa3D OpenGL* API Layer
gallium state tracker
llvmpipe driver
OpenSWR driver
OpenSWR Core
Vertex/Fragment Shader Cores
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Current Effort: Upstream into Mesa
– Current in closed "alpha 2" stage (hand-picked testers)
Far more general use of OpenGL (version up to 3.x)
– But: STILL primarily focused on vis apps
(this is NOT intended to drive your favorite 3D shooter!)
The “SWR” Software Rasterizer
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Software Rasterizer in Action
Data: Texas Advanced Computing Center
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Software Rasterizer Performance
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Performance: OpenSWR vs MESA* LLVMpipe
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.
• Intel® Xeon® E5-2699 v3 Processor 2 x 18 cores, 2.3 GHz
• ParaView 4.3.1
• OpenSWR “alpha 2”
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Performance: OpenSWR vs. GPU
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
21
Node count 1
Platform Intel Cottonwood Pass
CPU Xeon DP Haswell-EP E5-2699 v3 LGA2011 2.3GHz 45MB 145W
Dual socket 18 core
RAM 128 GB total
8*16GB 2133MHz Reg ECC DDR4
BIOS Vendor: Intel Corporation
Version: SE5C610.86B.01.01.0005.101720141054
Release Date: 10/17/2014
BIOS Configuration: default
Hard drive INTEL SSDSA2M160G2GC
1x160 GB SATA SSD
NVIDIA Co-Processor NVIDIA* GeForce* GTX* Titan X
3072 CUDA Cores
12GB memory
Software Details:
CUDA Version 7.0.28
OptiX Version 3.8.0
NVIDIA Driver Version 346.46
OS / Kernel CentOS release 6.6 / 2.6.32-504.23.4.el6.x86_64
Performance Test Configuration
Intel Confidential* Other names and brands may be claimed as the property of others.
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Why is SWR so fast?
– How could SW ever be competitive w/ a discrete GPU?
A) Lots of optimizations: threading, vectorization (AVX/AVX2)
B) Vis is not games
 Vis SW not tuned for specific GPUs as games are; no tuning/hacks
 Different workload: fewer shading, larger data, PCI/driver speed,…
 GPUs often far from “peak performance” in Vis workloads
C) Trends in vis actually in favor of SW rendering
 No PCI transfer needed, larger data, …
SWR Performance
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
OSPRay – A Ray Tracing based
Rendering Library for High-Fidelity
Visualization
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Basic Idea: Bring ray tracing to visualization
– Enable shadows, ambient occlusion, large models,….
High-Fidelity Visualization
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Slide courtesy Paul Navratil, TACC (Siggraph 2013).
Visualization by Carson Brownlee, TACC, using GLURay and Embree
High-Fidelity Vis Example:
“Florida Ground Water Core Sample”
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Slide courtesy Paul Navratil, TACC (Siggraph 2013).
Visualization by Carson Brownlee, TACC, using GLURay and Embree
High-Fidelity Vis Example:
“Florida Ground Water Core Sample”
Slide courtesy Paul Navratil, TACC (Siggraph 2013).
Visualization by Carson Brownlee, TACC, using GLURay and Embree
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Basic Idea: Bring ray tracing to visualization
– Enable shadows, ambient occlusion, large models,….
 Important: This is about more than just “pretty pictures”
– Better Insight through advanced rendering features
 Better pictures, but for the purpose of improving insight
– Give vis tools more flexibility in what they can render
 Volumes, transparency, non-polygonal geometry, complex models, …
– Performance
 Yes, we want to be faster than OpenGL (for vis apps and vis problems)
High-Fidelity Visualization
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Basic Idea: Bring ray tracing to visualization
– Enable shadows, ambient occlusion, large models,….
 Important: This is about more than just “pretty pictures”
– Better Insight through advanced rendering features
 Better pictures, but for the purpose of improving insight
– Give vis tools more flexibility in what they can render
 Volumes, transparency, non-polygonal geometry, complex models, …
– Performance
 Yes, we want to be faster than OpenGL (for vis apps and vis problems)
High-Fidelity Visualization
The biiiig question: Can we ever get this fast enough?
With a ray tracer???
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 The “Embree” Ray Tracing Kernels [Wald et al 2014]
– High-performance kernels for CPU Ray Tracing operations
– Provides very(!) high RT perf on Intel© Xeon© and Intel© Xeon Phi™
Parenthesis: Embree
 see dedicated "Embree" talk by Sven Woop in separate session
(I'm just stealing his performance numbers here…)
[Wald et al. Embree – A Kernel Framework for Efficient CPU Ray Tracing, ACM Trans. Graphics, 33(4), 2014]
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Build Performance for Static Scenes
40 41 45
32.3 31.7 35.1
0
50
100
150
Intel® Xeon® E5-2699 v3
Processor
2 x 18 cores, 2.3 GHz
Intel® Xeon Phi™ 7120
Coprocessor
61 cores, 1.28 GHz
30
MillionTriangles/Second
SAH Build (high quality)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Build Performance for Dynamic Scenes
112 108 105
160.1
140.4
162.1
0
50
100
150
Intel® Xeon® E5-2699 v3
Processor
2 x 18 cores, 2.3 GHz
Intel® Xeon Phi™ 7120
Coprocessor
61 cores, 1.28 GHz
31
MillionTriangles/Second
Morton Build
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Ray Tracing Performance (incl. Shading)
107.2
129.6 134.98
64.96
75.36
82.62
29.472 35.04 38.76
0
20
40
60
80
100
120
140
Intel® Xeon® E5-2699 v3
Processor
2 x 18 cores, 2.3 GHz
Intel® Xeon Phi™ 7120
Coprocessor
61 cores, 1.28 GHz
NVIDIA® GeForce®
GTX™ Titan X
Coprocessor
12 GB RAM
32
MillionRays/Second
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 The “Embree” Ray Tracing Kernels [Wald et al 2014]
– High-performance kernels for CPU Ray Tracing operations
– Provides very(!) high RT perf on Intel© Xeon© and Intel© Xeon Phi™
see separate talk by Sven Woop
 Performance in absolute terms (typical dual-Xeon© WS)
– Traversal perf. order 100+M rays/sec
– BVH construction order 100+M tris/sec
Parenthesis: Embree
(actual numbers depend on CPU type, model size, shading cost, etc – see paper or Sven Woop's talk for more details)
[Wald et al 2004]: Embree – A Kernel Framework for Efficient CPU Ray Tracing; Wald, et al; ACM Transactions on Graphics 33(4), 2014
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Basic Idea: Bring ray tracing to visualization
– Enable shadows, ambient occlusion, large models,….
 Important: This is about more than just “pretty pictures”
– Better Insight through advanced rendering features
 Better pictures, but for the purpose of improving insight
– Give vis tools more flexibility in what they can render
 Volumes, transparency, non-polygonal geometry, complex models, …
– Performance
 Yes, we want to be faster than OpenGL (for vis apps and vis problems)
High-Fidelity Visualization
Now: Can we get this fast enough?
With a ray tracer?
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 For years, main limit was not how fast we can trace rays
Is ray tracing fast enough for interactive?
http://www.kitware.com/media/html/RenderedRealismAtNearlyRealTimeRates.html
This is from 2010!
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 For years, main limit was not how fast we can trace rays
 … but how fast we could build BVHs (Manta in ParaView: “hours”…)
Is ray tracing fast enough for interactive?
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 For years, main limit was not how fast we can trace rays ….
 … but how fast we could build BVHs (Manta in ParaView: “hours”…)
 Today, with Embree (on modern workstation) :
– Traversal performance of many (100+) million rays/sec
 Enough for most simple vis-like shading
– BVH build performance in many (100+) million tris/sec
 That’s faster than Mesa can raster these triangles!
 But: Need this in “higher-level” form than “ray shooting API”
 OSPRay
Is ray tracing fast enough for interactive?
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– It’s a library, with a low-level, C-style API
 #include <ospray/ospray.h> and link to libospray[_mic].so
 Then do things like
“OSPGeometry mesh = ospNewTriangleMesh(…)”
 … or “ospRenderFrame(fb,renderer);”
What is OSPRay?
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– It’s a library, with a low-level, C-style API
– It primarily targets visualization-style rendering
 It’s not trying to compete with GPUs in games …
... nor with global illumination renderers in production rendering
 “High-fidelity” is an option, but not required
(a ray tracer can do OpenGL-style simple shading, too!)
 Focus on visualization-relevant capabilities (volume rendering,
large data, data-parallel rendering, etc)… NOT on "pretty pictures"
What is OSPRay?
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– It’s a library, with a low-level, C-style API
– It primarily targets visualization-style rendering
– It’s for vis-style rendering
 We’re not trying to reinvent VTK etc …
… but rather, to enable them for SDVis and HiFi-Vis
What is OSPRay?
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– It’s a library, with a low-level, C-style API
– It primarily targets visualization-style rendering
– It’s for vis-style rendering
– It aims at being a workhorse for vis-tools like VisIt, ParaView…
 Most users shouldn’t even care about what’s inside
 Plan is to provide a free, open-source, high-fidelity alternative to GL
 Goal: If you think of writing a(/any!) vis-app, …
What is OSPRay?
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Project created about 2 years ago
– Based on previous (non-public) prototypes
– Approved for Open Source release Fall 2014
– “Pre-Alpha” first released at SC’14
 Currently in “Alpha” stage (v0.8.2)
– Intended for early integration into partner software
 Kitware ParaView*, VisIt, VMD, …
– Mostly feature-complete for single-node rendering
 Data-parallel extension under development (SC15?)
– Dove-tailing with TACC’s pvOSPRay (later)
 Giving out OSPRay-powered ParaView* to first early testers
OSPRay Status
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Internally, makes heavy use of Embree and ISPC
– All BVH traversal and construction done through embree
– All “SIMD-relevant code” written in ISPC
 OSPRay provides the “rendering layer” on top of Embree
– Frame Buffers, Geometry Types, Volume Types, Shading modes,
MPI and COI modes (where required), …
 Fully portable across Intel© SSE, AVX, AVX2, Xeon Phi™, …
 All ISA-specifics hidden by Embree and ISPC
OSPRay Internals (Brief)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
OSPRay API
(what a programmer should know about OSPRay)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 OSPRay offers set of logical "objects"
– Frame Buffers
– Geometries (surfaces, can be intersect()'ed by a ray)
– Volumes (can be sample()'d by a volume integrator)
– Camera (generate primary rays)
– Renderers (shoot rays to compute pixel colors)
– Materials (store material/shading data used by renderers)
– Models (collection of all geometries, volumes, etc in a "scene")
– Textures
– …
OSPRay API
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 OSPRay offers set of logical "objects"
– Frame Buffers
– Geometries (surfaces, intersectable by a ray)
– Volumes (sample'able by a volume integrator)
– Camera (generate primary rays)
– Renderers (shoot rays to compute pixel colors)
– Materials (store material/shading data used by renderers)
– Models (collection of all geometries, volumes, etc in a "scene")
– Textures
– …
OSPRay API
Note: Many of these types are abstract, and can have specializations:
- "Geometry": could be triangle mesh geometry, sphere set geometry,
stream line geometry, …
- "Renderer": could be ray cast, ambient occlusion, direct volume
renderer, path tracer, …
Relatively easy to extend OSPRay w/ new object types
(mix of C++ and ISPC, but object-oriented design)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 OSPRay offers set of logical "objects"
 All objects have "parameters"
– Think member variables
 E.g., "perspective" camera has "pos" (position), "dir", "up", …
– Objects' parameters can refer to other objects
 E.g., renderer will typically have handle to camera, model, …
 All object references internally ref-counted
OSPRay API
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 OSPRay offers set of logical "objects"
 All objects have "parameters"
 Then:
– Application can create objects ...
OSPCamera cam = ospNewCamera("perspective")
OSPRay API
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 OSPRay offers set of logical "objects"
 All objects have "parameters"
 Then:
– Application can create objects ...
OSPCamera cam = ospNewCamera("perspective")
… set their parameters …
ospSet3fv(cam,"pos",&appCamera->position);
ospSet3fv(cam,"dir",&appCamera->direction);
OSPRay API
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 OSPRay offers set of logical "objects"
 All objects have "parameters"
 Then:
– Application can create objects ...
OSPCamera cam = ospNewCamera("perspective")
… set their parameters …
ospSet3fv(cam,"pos",&appCamera->position);
ospSet3fv(cam,"dir",&appCamera->direction);
… and "commit" the parameter changes
ospCommit(cam);
(changes won't take effect until committed)
OSPRay API
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 OSPRay offers set of logical "objects"
 All objects have "parameters"
 Then: Rendering with OSPRay as simple as…
– Initialize OSPRay
– Set up the proper objects (camera, frame buffer, renderer, …)
– Properly parameterize (and commit!) those objects
– Render a frame
ospRenderFrame(fb,renderer, …);
– Get the frame buffer, and do something with it
void *fb = ospMapFrameBuffer(fb,…);
glDrawPixels(…, fb, …);
OSPRay API
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
OSPRay – Capabilities (v0.8.2)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– OSPRay support multiple “renderers” w/ different shading…
Capabilities: “High-Fidelity” Shading
FUI Ground Water Flow DataSet courtesy of Florida International University and TACC
With shadows (1 point light) With Ambient OcclusionTradidtional direct illumination only
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– OSPRay support multiple “renderers” w/ different shading…
– … all the way up to "reasonably complete" path tracer
Capabilities: “High-Fidelity” Shading
Model Courtesy Eastern Graphics and pCon.planner
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Capabilities: “High-Fidelity” Shading
Better shading can provide better visual cues about 3D shape
 Can help better understand the 3D shapeStream Lines model courtesy
Tim Sandstrom, NASA
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Capabilities: “High-Fidelity” Shading
Stream Lines model courtesy
Tim Sandstrom, NASA
Better shading can provide better visual cues about 3D shape
 Can help better understand the 3D shape
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– Ray tracers naturally suited for large models (log model cost)
– Can fully use all of host’s memory (no GPU memory limit)
 Future: support data-parallel rendering (not yet avail in “alpha”)
 Even w/o data-parallel: hundreds of millions of prims no problem
Capabilities: Large Models
“FIU” model (8-80M triangles),
data courtesy Carson Brownlee, TACC, and
Florida International University
Boeing 777 model provided by and used with
permission of Boeing Corp.
340 million triangles, with Ambient Occlusion
“Richtmeyer-Meshkov Isosurface” model
(ParaView contour from 2k^3 volume)
~290M triangles, with Ambient Occlusion
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Capabilities: Instancing
“XFrog” model courtesy Oliver Deussen, Univ Konstanz 1.5 billion (alpha-textured) triangles total
 Useful little “trick” often used in photorealistic rendering…
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Capabilities: Instancing
 Useful little “trick” often used in photorealistic rendering…
 But also very useful in vis setting
• Use for complex "glyphs" (e.g., vector fields)
• Hierarchical scene manipulation
(instantly transform large number of prims w/o rebuilding)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– Ray tracer can trivially support non-polygonal geometry
Capabilities: Non-polygonal Geometry
Molecular Modelling: VMD “vesicle” model
Spheres + Cylinders + Triangles
Model courtesy Axel Kohlmeyer
Implicit(!) Iso-Surfaces in Unstructured Volume Dataset
Image courtesy Brad Rathke
Stream Lines
(Tim Sandstrom, NASA)
Materials Science: Particles (spheres)
KC Lau, Argonne National Lab)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– And of course, can easily mix-n-match it all together
 “VMD” example: cylinders, plus spheres, plus triangle meshes, ….
Capabilities: Non-polygonal Geometry
Model Courtesy
John Stone (UIUC)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– Volumes supported as first-class citizens
Volume Rendering
“Heptane” dataset (256^3 per time step). Data courtesy SCI Institute, University of Utah
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
“Large” is relative: We render directly out of host memory!
– Typical WS (or compute node)
today has 64-256GB
If it fits host mem it’s “easy"
Support for Large Volume Data
2k x 2k x 2k float (32 GB)
“Isotropic Turbulence” volume
(model courtesy Greg P Johnson and TACC)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Support for Large Volume Data
2k x 2k x 2k uint8 (8 GB)
“Richtmyer-Meshkov” volume
(model courtesy LLNL and TACC)
“Large” is relative: We render directly out of host memory!
– Typical WS (or compute node)
today has 64-256GB
If it fits host mem it’s “easy"
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 OSPRay on TACC’s 80-display, 320MPixel Display Wall
– Note: actually rendering on (subset of) the display nodes
– Data-Distributed Rendering "under development"`
MPI Distributed Rendering
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
OSPRay – Performance
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Performance: OSPRay (ray traced) vs GPU (OpenGL)
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.
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
OSPRay – Early Results
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 OSPRay comes with several "proof of concept" sample apps
– Volume Viewer (with Seismic Data Module)
– Particle Model Viewer
– Polygonal Model Viewer(s)
 Currently being integrated into various apps
(remember - this is the ultimate goal for OSPRay!)
– Main focus today: VisIt and ParaView*
– VMD: “Soon”
– Plus several others … (some outside of classical vis)
 Will briefly show a few examples…
OSPRay: Early Results
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– Two intentionally simple tools, mostly for testing
 Used for most of prev shown images …
 Useful tools, but not the core of what ospray is about
OSPRay Sample Model & Volume Viewers
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– Representative of typical Oil-and-Gas Workload
 Volume data plus polygonal horizons, slices, large data, …
 Live demo shown at SC'15
Prototype “Seismic Data” Viewer
“Moroccan Basin” data courtesy
25 million triangle “horizons”
(rendered “into” volume)
Volume rendering
Arbitrary slicing
(can interactive move
even in 100GB volumes)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
OSPRay for Particle Vis (Academia)
“Priya” model, “several million” particles
Model courtesy Argonne National Lab
– … even for truly large models
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
– … even for truly large models
OSPRay for Particle Vis (Academia)
Uintah “Detonation” model, ~1 billion particles
Model courtesy SCI Institute, Univ of Utah
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
“cosmic web” early universe model, ~12 billion particles (~1TB)
(rendered on a single 3TB quad-Intel© Xeon© E5 workstation)
[Wald et al, Ray Tracing large Particle Models using p-k-d Trees, IEEE SciVis,
to appear]
Model courtesy and Texas Advanced Computing Center
OSPRay for Particle Vis (Academia)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Early Integration Results: "pCon.planner"
Model and Image courtesy EasternGraphics
Eastern Graphics's "pCon.planner" software w/ OSPRay path trace renderer
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Early Integration Results: ParaView*
Image courtesy Carson Brownlee (TACC)
Paraview “Contour” of full Richmyer-Meshkov dataset, w/ AO (Carson
Brownlee)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Kitware's ParaView*: One of "the" tools for sci vis
– Builds heavily on the Visualization TookKit (VTK)
– Supports a "plugin" mechanism
 pvOSPRay: ospray renderer plugin into ParaView*
– Developed (in close collaboration) by Texas Advanced Computing
Center (TACC)
– Intercepts geometry draw calls from VTK, renders through OSPRay
– Prototypical volume rendering support
– All Open Source, currently in "Alpha-Testing" stage
https://github.com/TACC/pvOSPRay
Early Integration Results: ParaView*
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Early Integration Results: VisIt*
Image courtesy Carson Brownlee (TACC)
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Talked about
– … High-fidelity visualization and software defined visualization
– … OpenSWR and OSPRay as milestones along this journey
– … early results from both
 If you want to play with it:
– SWR: http://www.openswr.org
– OSPRay: http://ospray.github.io (or http://www.ospray.org)
(In part, check out the “demo datasets” section)
– pvOSPRay: http://tacc.github.io/pvOSPRay
Summary
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Questions?
(Oh, BTW: We are hiring!)
8/18/2015
80
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
 Models and illumination effects representative for
professional rendering environment
 Path tracer with different material types, different
light types, about 2000 lines of code
 Evaluation on typical Intel® Xeon® rendering
workstation* and Intel® Xeon Phi™ Coprocessor**
 Compare against state of the art GPU*** methods
(using OptiX™ 3.8.0 and CUDA® 7.0.28)
 Identical implementations in ISPC (Xeon®), ISPC
(Xeon Phi™), OptiX™ (GTX™ Titan X)
Embree Performance Methology
81
Imperial Crown of Austria
4.3M triangles
Bentley 4.5l Blower (1927)
2.3M triangles
Asian Dragon
7.3M triangles
* Dual Socket Intel® Xeon® E5-2699 v3 2x18 cores @ 2.30GHz ** Intel® Xeon Phi™ 7120, 61 cores @ 1.238 GHz *** NVIDIA® GeForce® GTX™ Titan X
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED,
BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF
SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS
OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR
PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE
OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND
AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE
ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH
MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL
PRODUCT OR ANY OF ITS PARTS.
Intel may make changes to specifications and product descriptions at any time, without notice.
All products, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice.
Intel processors, chipsets, and desktop boards may contain design defects or errors known as errata, which may cause the product to deviate from published specifications.
Current characterized errata are available on request.
Optimized Intel® HD Graphics P3000 only available on select models of the Intel® Xeon® processor E3 family. To learn more about Intel Xeon processors for workstation
visit www.intel.com/go/workstation.
HD Graphics P4000 introduces four additional execution units, going from 8 in the HD P3000 to 12 in the HD P4000. Optimized Intel® HD Graphics P4000 only available on
select models of the Intel® Xeon® processor E3-1200 v2 product family. For more information, visithttp://www.intel.com/content/www/us/en/architecture-and-
technology/hdgraphics/hdgraphics-developer.html
Iris™ graphics is available on select systems. Consult your system manufacturer.
Any code names featured are used internally within Intel to identify products that are in development and not yet publicly announced for release. Customers, licensees and
other third parties are not authorized by Intel to use code names in advertising, promotion or marketing of any product or services and any such use of Intel's internal code
names is at the sole risk of the user.
Intel product plans in this presentation do not constitute Intel plan of record product roadmaps. Please contact your Intel representative to obtain Intel’s current plan of record
product roadmaps.
Performance claims: 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
Legal
8/18/2015
82
Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
INFORMATION IN THIS DOCUMENT IS PROVIDED “AS IS”. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY
INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY
EXPRESS OR IMPLIED WARRANTY, RELATING TO THIS INFORMATION INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A
PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
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.
Copyright © , Intel Corporation. All rights reserved. Intel, the Intel logo, Xeon, Core, VTune, and Cilk are trademarks of Intel Corporation in the
U.S. and other countries.
Optimization Notice
Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not
unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other
optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on
microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use
with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel
microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the
specific instruction sets covered by this notice.
Notice revision #20110804
Legal Disclaimer and Optimization Notice
83

Software-defined Visualization, High-Fidelity Visualization: OpenSWR and OSPRay

  • 1.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Software-defined Visualization, High-Fidelity Visualization: OpenSWR and OSPRay Ingo Wald, Tech Lead Software-defined and High-Fidelity Visualization, Intel
  • 2.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS. Intel may make changes to specifications and product descriptions at any time, without notice. All products, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice. Intel processors, chipsets, and desktop boards may contain design defects or errors known as errata, which may cause the product to deviate from published specifications. Current characterized errata are available on request. Optimized Intel® HD Graphics P3000 only available on select models of the Intel® Xeon® processor E3 family. To learn more about Intel Xeon processors for workstation visit www.intel.com/go/workstation. HD Graphics P4000 introduces four additional execution units, going from 8 in the HD P3000 to 12 in the HD P4000. Optimized Intel® HD Graphics P4000 only available on select models of the Intel® Xeon® processor E3-1200 v2 product family. For more information, visithttp://www.intel.com/content/www/us/en/architecture-and- technology/hdgraphics/hdgraphics-developer.html Iris™ graphics is available on select systems. Consult your system manufacturer. Any code names featured are used internally within Intel to identify products that are in development and not yet publicly announced for release. Customers, licensees and other third parties are not authorized by Intel to use code names in advertising, promotion or marketing of any product or services and any such use of Intel's internal code names is at the sole risk of the user. Intel product plans in this presentation do not constitute Intel plan of record product roadmaps. Please contact your Intel representative to obtain Intel’s current plan of record product roadmaps. Performance claims: 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 Legal 8/18/2015 2
  • 3.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. INFORMATION IN THIS DOCUMENT IS PROVIDED “AS IS”. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO THIS INFORMATION INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. 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. Copyright © , Intel Corporation. All rights reserved. Intel, the Intel logo, Xeon, Core, VTune, and Cilk are trademarks of Intel Corporation in the U.S. and other countries. Optimization Notice Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice. Notice revision #20110804 Legal Disclaimer and Optimization Notice 3
  • 4.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.8/18/2015 4  Introduction – Software-defined and High-Fidelity Visualization  The OpenSWR ("SWR") software rasterizer  The OSPRay Ray Tracing Engine for Vis-style Rendering – Motivation and Goals – Capabilities – Getting started with OSPRay Outline
  • 5.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. A) This talk is about rendering for visualization – Not about rendering for games, movies, etc … … but rather, for scientific visualization (+engineering, …) (in particular, in HPC Environments) – Not about general "vis" (which is about more than rendering) … but rather, only the rendering part of it Before we start …. Models courtesy Florida International University, Tim Sandstrom (NASA), and Carsten Kutzner (MPI BioChemistry)
  • 6.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. A) This talk is about rendering for visualization B) It's about interactive, but exclusively CPU-based rendering – All rendering performed exclusively on the CPU(s) – "No GPUs were harmed while making this talk…" Before we start ….
  • 7.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  “Software-defined Visualization” (SDVis) – Basic idea: Do the rendering on the CPU  Turn “rendering” into a compute problem, then use a CPU solution – Lots of demand for it  Many HPC systems don’t have GPUs, and don’t want any – Lots of opportunity in doing it  E.g., full access to host memory, in situ, scalability, …  “High-fidelity Visualization” (HiFi Vis) – Enabling advanced rendering (ray tracing) for Vis  Better “understanding” of model  More flexibility in how to do the vis (volume rendering, transparency…)  Better performance SDVis and Hi-Fi Vis
  • 8.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Vision: Scalable, Flexible Vis Rendering that Runs Anywhere! Standalone Laptops or Workstations Big Memory Nodes or Rendering Focused Clusters Large Compute+Vis clusters with Local or Remote Clients Cloud or Network
  • 9.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  … scalability in image quality  … scalability in model size  … scalability in render cost HiFi-Vis: SDVis, plus … Data set provided by Florida International University
  • 10.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Software Defined Visualization: How can we get there?
  • 11.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Option I: Build on existing APIs (OpenGL) – Immediately works with any existing vis tool, vis app, … – Zero adoption cost. – But: Limited to whatever existing API can do (High-Fi !?)  Option II: Build s/t new that’s not limited by legacy baggage – Can build it exactly the way one wants it – Can better adapt to changed demands & opportunities – But: “some” effort to enable existing apps to use it Software-defined Visualization: How?
  • 12.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Option I: Build on existing APIs (OpenGL) – Immediately works with any existing vis tool, vis app, … – Zero adoption cost. – But: Limited to whatever existing API can do (High-Fi !?) The “OpenSWR” Software Rasterizer  Option II: Build s/t new that’s not limited by legacy baggage – Can build it exactly the way one wants it – Can better adapt to changed demands & opportunities – But: “some” effort to enable existing apps to use it The “OSPRay” Ray Tracing library Software-defined Visualization: How?
  • 13.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. The “OpenSWR” Software Rasterizer
  • 14.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Goal: Drop-in replacement of OpenGL (like Mesa, but faster) – Implements subset of OpenGL as required for vis apps  Primary targets today are ParaView* and VisIt – Within this feature set: “drop-in” with existing apps  No re-compilation necessary, just point LD_LIBRARY_PATH  High performance through threading and vectorization – Target Intel© AVX/AVX2 enabled Intel© Xeon© CPUs – Available free of charge  Early version available Open Source: http://OpenSWR.github.io  Eventually: upstream to Mesa The “SWR” Software Rasterizer
  • 15.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Current Effort: Upstream into Mesa – Current in closed "alpha 2" stage (hand-picked testers) The “SWR” Software Rasterizer Application Mesa3D OpenGL* API Layer gallium state tracker llvmpipe driver OpenSWR driver OpenSWR Core Vertex/Fragment Shader Cores
  • 16.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Current Effort: Upstream into Mesa – Current in closed "alpha 2" stage (hand-picked testers) Far more general use of OpenGL (version up to 3.x) – But: STILL primarily focused on vis apps (this is NOT intended to drive your favorite 3D shooter!) The “SWR” Software Rasterizer
  • 17.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Software Rasterizer in Action Data: Texas Advanced Computing Center
  • 18.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Software Rasterizer Performance
  • 19.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Performance: OpenSWR vs MESA* LLVMpipe 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. • Intel® Xeon® E5-2699 v3 Processor 2 x 18 cores, 2.3 GHz • ParaView 4.3.1 • OpenSWR “alpha 2”
  • 20.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Performance: OpenSWR vs. GPU
  • 21.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 21 Node count 1 Platform Intel Cottonwood Pass CPU Xeon DP Haswell-EP E5-2699 v3 LGA2011 2.3GHz 45MB 145W Dual socket 18 core RAM 128 GB total 8*16GB 2133MHz Reg ECC DDR4 BIOS Vendor: Intel Corporation Version: SE5C610.86B.01.01.0005.101720141054 Release Date: 10/17/2014 BIOS Configuration: default Hard drive INTEL SSDSA2M160G2GC 1x160 GB SATA SSD NVIDIA Co-Processor NVIDIA* GeForce* GTX* Titan X 3072 CUDA Cores 12GB memory Software Details: CUDA Version 7.0.28 OptiX Version 3.8.0 NVIDIA Driver Version 346.46 OS / Kernel CentOS release 6.6 / 2.6.32-504.23.4.el6.x86_64 Performance Test Configuration Intel Confidential* Other names and brands may be claimed as the property of others.
  • 22.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Why is SWR so fast? – How could SW ever be competitive w/ a discrete GPU? A) Lots of optimizations: threading, vectorization (AVX/AVX2) B) Vis is not games  Vis SW not tuned for specific GPUs as games are; no tuning/hacks  Different workload: fewer shading, larger data, PCI/driver speed,…  GPUs often far from “peak performance” in Vis workloads C) Trends in vis actually in favor of SW rendering  No PCI transfer needed, larger data, … SWR Performance
  • 23.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. OSPRay – A Ray Tracing based Rendering Library for High-Fidelity Visualization
  • 24.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Basic Idea: Bring ray tracing to visualization – Enable shadows, ambient occlusion, large models,…. High-Fidelity Visualization
  • 25.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Slide courtesy Paul Navratil, TACC (Siggraph 2013). Visualization by Carson Brownlee, TACC, using GLURay and Embree High-Fidelity Vis Example: “Florida Ground Water Core Sample”
  • 26.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Slide courtesy Paul Navratil, TACC (Siggraph 2013). Visualization by Carson Brownlee, TACC, using GLURay and Embree High-Fidelity Vis Example: “Florida Ground Water Core Sample” Slide courtesy Paul Navratil, TACC (Siggraph 2013). Visualization by Carson Brownlee, TACC, using GLURay and Embree
  • 27.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Basic Idea: Bring ray tracing to visualization – Enable shadows, ambient occlusion, large models,….  Important: This is about more than just “pretty pictures” – Better Insight through advanced rendering features  Better pictures, but for the purpose of improving insight – Give vis tools more flexibility in what they can render  Volumes, transparency, non-polygonal geometry, complex models, … – Performance  Yes, we want to be faster than OpenGL (for vis apps and vis problems) High-Fidelity Visualization
  • 28.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Basic Idea: Bring ray tracing to visualization – Enable shadows, ambient occlusion, large models,….  Important: This is about more than just “pretty pictures” – Better Insight through advanced rendering features  Better pictures, but for the purpose of improving insight – Give vis tools more flexibility in what they can render  Volumes, transparency, non-polygonal geometry, complex models, … – Performance  Yes, we want to be faster than OpenGL (for vis apps and vis problems) High-Fidelity Visualization The biiiig question: Can we ever get this fast enough? With a ray tracer???
  • 29.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  The “Embree” Ray Tracing Kernels [Wald et al 2014] – High-performance kernels for CPU Ray Tracing operations – Provides very(!) high RT perf on Intel© Xeon© and Intel© Xeon Phi™ Parenthesis: Embree  see dedicated "Embree" talk by Sven Woop in separate session (I'm just stealing his performance numbers here…) [Wald et al. Embree – A Kernel Framework for Efficient CPU Ray Tracing, ACM Trans. Graphics, 33(4), 2014]
  • 30.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Build Performance for Static Scenes 40 41 45 32.3 31.7 35.1 0 50 100 150 Intel® Xeon® E5-2699 v3 Processor 2 x 18 cores, 2.3 GHz Intel® Xeon Phi™ 7120 Coprocessor 61 cores, 1.28 GHz 30 MillionTriangles/Second SAH Build (high quality)
  • 31.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Build Performance for Dynamic Scenes 112 108 105 160.1 140.4 162.1 0 50 100 150 Intel® Xeon® E5-2699 v3 Processor 2 x 18 cores, 2.3 GHz Intel® Xeon Phi™ 7120 Coprocessor 61 cores, 1.28 GHz 31 MillionTriangles/Second Morton Build
  • 32.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Ray Tracing Performance (incl. Shading) 107.2 129.6 134.98 64.96 75.36 82.62 29.472 35.04 38.76 0 20 40 60 80 100 120 140 Intel® Xeon® E5-2699 v3 Processor 2 x 18 cores, 2.3 GHz Intel® Xeon Phi™ 7120 Coprocessor 61 cores, 1.28 GHz NVIDIA® GeForce® GTX™ Titan X Coprocessor 12 GB RAM 32 MillionRays/Second
  • 33.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  The “Embree” Ray Tracing Kernels [Wald et al 2014] – High-performance kernels for CPU Ray Tracing operations – Provides very(!) high RT perf on Intel© Xeon© and Intel© Xeon Phi™ see separate talk by Sven Woop  Performance in absolute terms (typical dual-Xeon© WS) – Traversal perf. order 100+M rays/sec – BVH construction order 100+M tris/sec Parenthesis: Embree (actual numbers depend on CPU type, model size, shading cost, etc – see paper or Sven Woop's talk for more details) [Wald et al 2004]: Embree – A Kernel Framework for Efficient CPU Ray Tracing; Wald, et al; ACM Transactions on Graphics 33(4), 2014
  • 34.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Basic Idea: Bring ray tracing to visualization – Enable shadows, ambient occlusion, large models,….  Important: This is about more than just “pretty pictures” – Better Insight through advanced rendering features  Better pictures, but for the purpose of improving insight – Give vis tools more flexibility in what they can render  Volumes, transparency, non-polygonal geometry, complex models, … – Performance  Yes, we want to be faster than OpenGL (for vis apps and vis problems) High-Fidelity Visualization Now: Can we get this fast enough? With a ray tracer?
  • 35.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  For years, main limit was not how fast we can trace rays Is ray tracing fast enough for interactive? http://www.kitware.com/media/html/RenderedRealismAtNearlyRealTimeRates.html This is from 2010!
  • 36.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  For years, main limit was not how fast we can trace rays  … but how fast we could build BVHs (Manta in ParaView: “hours”…) Is ray tracing fast enough for interactive?
  • 37.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  For years, main limit was not how fast we can trace rays ….  … but how fast we could build BVHs (Manta in ParaView: “hours”…)  Today, with Embree (on modern workstation) : – Traversal performance of many (100+) million rays/sec  Enough for most simple vis-like shading – BVH build performance in many (100+) million tris/sec  That’s faster than Mesa can raster these triangles!  But: Need this in “higher-level” form than “ray shooting API”  OSPRay Is ray tracing fast enough for interactive?
  • 38.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – It’s a library, with a low-level, C-style API  #include <ospray/ospray.h> and link to libospray[_mic].so  Then do things like “OSPGeometry mesh = ospNewTriangleMesh(…)”  … or “ospRenderFrame(fb,renderer);” What is OSPRay?
  • 39.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – It’s a library, with a low-level, C-style API – It primarily targets visualization-style rendering  It’s not trying to compete with GPUs in games … ... nor with global illumination renderers in production rendering  “High-fidelity” is an option, but not required (a ray tracer can do OpenGL-style simple shading, too!)  Focus on visualization-relevant capabilities (volume rendering, large data, data-parallel rendering, etc)… NOT on "pretty pictures" What is OSPRay?
  • 40.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – It’s a library, with a low-level, C-style API – It primarily targets visualization-style rendering – It’s for vis-style rendering  We’re not trying to reinvent VTK etc … … but rather, to enable them for SDVis and HiFi-Vis What is OSPRay?
  • 41.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – It’s a library, with a low-level, C-style API – It primarily targets visualization-style rendering – It’s for vis-style rendering – It aims at being a workhorse for vis-tools like VisIt, ParaView…  Most users shouldn’t even care about what’s inside  Plan is to provide a free, open-source, high-fidelity alternative to GL  Goal: If you think of writing a(/any!) vis-app, … What is OSPRay?
  • 42.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Project created about 2 years ago – Based on previous (non-public) prototypes – Approved for Open Source release Fall 2014 – “Pre-Alpha” first released at SC’14  Currently in “Alpha” stage (v0.8.2) – Intended for early integration into partner software  Kitware ParaView*, VisIt, VMD, … – Mostly feature-complete for single-node rendering  Data-parallel extension under development (SC15?) – Dove-tailing with TACC’s pvOSPRay (later)  Giving out OSPRay-powered ParaView* to first early testers OSPRay Status
  • 43.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Internally, makes heavy use of Embree and ISPC – All BVH traversal and construction done through embree – All “SIMD-relevant code” written in ISPC  OSPRay provides the “rendering layer” on top of Embree – Frame Buffers, Geometry Types, Volume Types, Shading modes, MPI and COI modes (where required), …  Fully portable across Intel© SSE, AVX, AVX2, Xeon Phi™, …  All ISA-specifics hidden by Embree and ISPC OSPRay Internals (Brief)
  • 44.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. OSPRay API (what a programmer should know about OSPRay)
  • 45.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  OSPRay offers set of logical "objects" – Frame Buffers – Geometries (surfaces, can be intersect()'ed by a ray) – Volumes (can be sample()'d by a volume integrator) – Camera (generate primary rays) – Renderers (shoot rays to compute pixel colors) – Materials (store material/shading data used by renderers) – Models (collection of all geometries, volumes, etc in a "scene") – Textures – … OSPRay API
  • 46.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  OSPRay offers set of logical "objects" – Frame Buffers – Geometries (surfaces, intersectable by a ray) – Volumes (sample'able by a volume integrator) – Camera (generate primary rays) – Renderers (shoot rays to compute pixel colors) – Materials (store material/shading data used by renderers) – Models (collection of all geometries, volumes, etc in a "scene") – Textures – … OSPRay API Note: Many of these types are abstract, and can have specializations: - "Geometry": could be triangle mesh geometry, sphere set geometry, stream line geometry, … - "Renderer": could be ray cast, ambient occlusion, direct volume renderer, path tracer, … Relatively easy to extend OSPRay w/ new object types (mix of C++ and ISPC, but object-oriented design)
  • 47.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  OSPRay offers set of logical "objects"  All objects have "parameters" – Think member variables  E.g., "perspective" camera has "pos" (position), "dir", "up", … – Objects' parameters can refer to other objects  E.g., renderer will typically have handle to camera, model, …  All object references internally ref-counted OSPRay API
  • 48.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  OSPRay offers set of logical "objects"  All objects have "parameters"  Then: – Application can create objects ... OSPCamera cam = ospNewCamera("perspective") OSPRay API
  • 49.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  OSPRay offers set of logical "objects"  All objects have "parameters"  Then: – Application can create objects ... OSPCamera cam = ospNewCamera("perspective") … set their parameters … ospSet3fv(cam,"pos",&appCamera->position); ospSet3fv(cam,"dir",&appCamera->direction); OSPRay API
  • 50.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  OSPRay offers set of logical "objects"  All objects have "parameters"  Then: – Application can create objects ... OSPCamera cam = ospNewCamera("perspective") … set their parameters … ospSet3fv(cam,"pos",&appCamera->position); ospSet3fv(cam,"dir",&appCamera->direction); … and "commit" the parameter changes ospCommit(cam); (changes won't take effect until committed) OSPRay API
  • 51.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  OSPRay offers set of logical "objects"  All objects have "parameters"  Then: Rendering with OSPRay as simple as… – Initialize OSPRay – Set up the proper objects (camera, frame buffer, renderer, …) – Properly parameterize (and commit!) those objects – Render a frame ospRenderFrame(fb,renderer, …); – Get the frame buffer, and do something with it void *fb = ospMapFrameBuffer(fb,…); glDrawPixels(…, fb, …); OSPRay API
  • 52.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. OSPRay – Capabilities (v0.8.2)
  • 53.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – OSPRay support multiple “renderers” w/ different shading… Capabilities: “High-Fidelity” Shading FUI Ground Water Flow DataSet courtesy of Florida International University and TACC With shadows (1 point light) With Ambient OcclusionTradidtional direct illumination only
  • 54.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – OSPRay support multiple “renderers” w/ different shading… – … all the way up to "reasonably complete" path tracer Capabilities: “High-Fidelity” Shading Model Courtesy Eastern Graphics and pCon.planner
  • 55.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Capabilities: “High-Fidelity” Shading Better shading can provide better visual cues about 3D shape  Can help better understand the 3D shapeStream Lines model courtesy Tim Sandstrom, NASA
  • 56.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Capabilities: “High-Fidelity” Shading Stream Lines model courtesy Tim Sandstrom, NASA Better shading can provide better visual cues about 3D shape  Can help better understand the 3D shape
  • 57.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – Ray tracers naturally suited for large models (log model cost) – Can fully use all of host’s memory (no GPU memory limit)  Future: support data-parallel rendering (not yet avail in “alpha”)  Even w/o data-parallel: hundreds of millions of prims no problem Capabilities: Large Models “FIU” model (8-80M triangles), data courtesy Carson Brownlee, TACC, and Florida International University Boeing 777 model provided by and used with permission of Boeing Corp. 340 million triangles, with Ambient Occlusion “Richtmeyer-Meshkov Isosurface” model (ParaView contour from 2k^3 volume) ~290M triangles, with Ambient Occlusion
  • 58.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Capabilities: Instancing “XFrog” model courtesy Oliver Deussen, Univ Konstanz 1.5 billion (alpha-textured) triangles total  Useful little “trick” often used in photorealistic rendering…
  • 59.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Capabilities: Instancing  Useful little “trick” often used in photorealistic rendering…  But also very useful in vis setting • Use for complex "glyphs" (e.g., vector fields) • Hierarchical scene manipulation (instantly transform large number of prims w/o rebuilding)
  • 60.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – Ray tracer can trivially support non-polygonal geometry Capabilities: Non-polygonal Geometry Molecular Modelling: VMD “vesicle” model Spheres + Cylinders + Triangles Model courtesy Axel Kohlmeyer Implicit(!) Iso-Surfaces in Unstructured Volume Dataset Image courtesy Brad Rathke Stream Lines (Tim Sandstrom, NASA) Materials Science: Particles (spheres) KC Lau, Argonne National Lab)
  • 61.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – And of course, can easily mix-n-match it all together  “VMD” example: cylinders, plus spheres, plus triangle meshes, …. Capabilities: Non-polygonal Geometry Model Courtesy John Stone (UIUC)
  • 62.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – Volumes supported as first-class citizens Volume Rendering “Heptane” dataset (256^3 per time step). Data courtesy SCI Institute, University of Utah
  • 63.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. “Large” is relative: We render directly out of host memory! – Typical WS (or compute node) today has 64-256GB If it fits host mem it’s “easy" Support for Large Volume Data 2k x 2k x 2k float (32 GB) “Isotropic Turbulence” volume (model courtesy Greg P Johnson and TACC)
  • 64.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Support for Large Volume Data 2k x 2k x 2k uint8 (8 GB) “Richtmyer-Meshkov” volume (model courtesy LLNL and TACC) “Large” is relative: We render directly out of host memory! – Typical WS (or compute node) today has 64-256GB If it fits host mem it’s “easy"
  • 65.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  OSPRay on TACC’s 80-display, 320MPixel Display Wall – Note: actually rendering on (subset of) the display nodes – Data-Distributed Rendering "under development"` MPI Distributed Rendering
  • 66.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. OSPRay – Performance
  • 67.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Performance: OSPRay (ray traced) vs GPU (OpenGL) 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.
  • 68.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. OSPRay – Early Results
  • 69.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  OSPRay comes with several "proof of concept" sample apps – Volume Viewer (with Seismic Data Module) – Particle Model Viewer – Polygonal Model Viewer(s)  Currently being integrated into various apps (remember - this is the ultimate goal for OSPRay!) – Main focus today: VisIt and ParaView* – VMD: “Soon” – Plus several others … (some outside of classical vis)  Will briefly show a few examples… OSPRay: Early Results
  • 70.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – Two intentionally simple tools, mostly for testing  Used for most of prev shown images …  Useful tools, but not the core of what ospray is about OSPRay Sample Model & Volume Viewers
  • 71.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – Representative of typical Oil-and-Gas Workload  Volume data plus polygonal horizons, slices, large data, …  Live demo shown at SC'15 Prototype “Seismic Data” Viewer “Moroccan Basin” data courtesy 25 million triangle “horizons” (rendered “into” volume) Volume rendering Arbitrary slicing (can interactive move even in 100GB volumes)
  • 72.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. OSPRay for Particle Vis (Academia) “Priya” model, “several million” particles Model courtesy Argonne National Lab – … even for truly large models
  • 73.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. – … even for truly large models OSPRay for Particle Vis (Academia) Uintah “Detonation” model, ~1 billion particles Model courtesy SCI Institute, Univ of Utah
  • 74.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. “cosmic web” early universe model, ~12 billion particles (~1TB) (rendered on a single 3TB quad-Intel© Xeon© E5 workstation) [Wald et al, Ray Tracing large Particle Models using p-k-d Trees, IEEE SciVis, to appear] Model courtesy and Texas Advanced Computing Center OSPRay for Particle Vis (Academia)
  • 75.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Early Integration Results: "pCon.planner" Model and Image courtesy EasternGraphics Eastern Graphics's "pCon.planner" software w/ OSPRay path trace renderer
  • 76.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Early Integration Results: ParaView* Image courtesy Carson Brownlee (TACC) Paraview “Contour” of full Richmyer-Meshkov dataset, w/ AO (Carson Brownlee)
  • 77.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Kitware's ParaView*: One of "the" tools for sci vis – Builds heavily on the Visualization TookKit (VTK) – Supports a "plugin" mechanism  pvOSPRay: ospray renderer plugin into ParaView* – Developed (in close collaboration) by Texas Advanced Computing Center (TACC) – Intercepts geometry draw calls from VTK, renders through OSPRay – Prototypical volume rendering support – All Open Source, currently in "Alpha-Testing" stage https://github.com/TACC/pvOSPRay Early Integration Results: ParaView*
  • 78.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Early Integration Results: VisIt* Image courtesy Carson Brownlee (TACC)
  • 79.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Talked about – … High-fidelity visualization and software defined visualization – … OpenSWR and OSPRay as milestones along this journey – … early results from both  If you want to play with it: – SWR: http://www.openswr.org – OSPRay: http://ospray.github.io (or http://www.ospray.org) (In part, check out the “demo datasets” section) – pvOSPRay: http://tacc.github.io/pvOSPRay Summary
  • 80.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Questions? (Oh, BTW: We are hiring!) 8/18/2015 80
  • 81.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.  Models and illumination effects representative for professional rendering environment  Path tracer with different material types, different light types, about 2000 lines of code  Evaluation on typical Intel® Xeon® rendering workstation* and Intel® Xeon Phi™ Coprocessor**  Compare against state of the art GPU*** methods (using OptiX™ 3.8.0 and CUDA® 7.0.28)  Identical implementations in ISPC (Xeon®), ISPC (Xeon Phi™), OptiX™ (GTX™ Titan X) Embree Performance Methology 81 Imperial Crown of Austria 4.3M triangles Bentley 4.5l Blower (1927) 2.3M triangles Asian Dragon 7.3M triangles * Dual Socket Intel® Xeon® E5-2699 v3 2x18 cores @ 2.30GHz ** Intel® Xeon Phi™ 7120, 61 cores @ 1.238 GHz *** NVIDIA® GeForce® GTX™ Titan X
  • 82.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS. Intel may make changes to specifications and product descriptions at any time, without notice. All products, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice. Intel processors, chipsets, and desktop boards may contain design defects or errors known as errata, which may cause the product to deviate from published specifications. Current characterized errata are available on request. Optimized Intel® HD Graphics P3000 only available on select models of the Intel® Xeon® processor E3 family. To learn more about Intel Xeon processors for workstation visit www.intel.com/go/workstation. HD Graphics P4000 introduces four additional execution units, going from 8 in the HD P3000 to 12 in the HD P4000. Optimized Intel® HD Graphics P4000 only available on select models of the Intel® Xeon® processor E3-1200 v2 product family. For more information, visithttp://www.intel.com/content/www/us/en/architecture-and- technology/hdgraphics/hdgraphics-developer.html Iris™ graphics is available on select systems. Consult your system manufacturer. Any code names featured are used internally within Intel to identify products that are in development and not yet publicly announced for release. Customers, licensees and other third parties are not authorized by Intel to use code names in advertising, promotion or marketing of any product or services and any such use of Intel's internal code names is at the sole risk of the user. Intel product plans in this presentation do not constitute Intel plan of record product roadmaps. Please contact your Intel representative to obtain Intel’s current plan of record product roadmaps. Performance claims: 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 Legal 8/18/2015 82
  • 83.
    Copyright © 2015,Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. INFORMATION IN THIS DOCUMENT IS PROVIDED “AS IS”. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO THIS INFORMATION INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. 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. Copyright © , Intel Corporation. All rights reserved. Intel, the Intel logo, Xeon, Core, VTune, and Cilk are trademarks of Intel Corporation in the U.S. and other countries. Optimization Notice Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice. Notice revision #20110804 Legal Disclaimer and Optimization Notice 83