software-defined visualization, high-fidelity visualization: openswr and ospray

83
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

Upload: intel-software

Post on 20-Jan-2017

778 views

Category:

Software


1 download

TRANSCRIPT

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

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

Ingo Wald, Tech Lead Software-defined and High-Fidelity Visualization, Intel

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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.htmlIris™ 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/20152

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.8/18/20154

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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 orNetwork

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

Software Defined Visualization:

How can we get there?

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

The “OpenSWR” Software Rasterizer

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

Software Rasterizer in Action

Data: Texas Advanced Computing Center

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

Software Rasterizer Performance

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

Performance: OpenSWR vs. GPU

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 145WDual socket 18 core

RAM 128 GB total8*16GB 2133MHz Reg ECC DDR4

BIOS Vendor: Intel CorporationVersion: SE5C610.86B.01.01.0005.101720141054Release Date: 10/17/2014 BIOS Configuration: default

Hard drive INTEL SSDSA2M160G2GC1x160 GB SATA SSD

NVIDIA Co-Processor NVIDIA* GeForce* GTX* Titan X3072 CUDA Cores12GB memory Software Details:CUDA Version 7.0.28OptiX Version 3.8.0NVIDIA 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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

Build Performance for Static Scenes

40 41 4532.3 31.7 35.1

0

50

100

150

Intel® Xeon® E5-2699 v3Processor2 x 18 cores, 2.3 GHz

Intel® Xeon Phi™ 7120Coprocessor61 cores, 1.28 GHz

30

Mill

ion

Tri

angl

es/S

eco

nd

SAH Build (high quality)

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

Build Performance for Dynamic Scenes

112 108 105

160.1140.4

162.1

0

50

100

150

Intel® Xeon® E5-2699 v3Processor2 x 18 cores, 2.3 GHz

Intel® Xeon Phi™ 7120Coprocessor61 cores, 1.28 GHz

31

Mill

ion

Tri

angl

es/S

eco

nd

Morton Build

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

Ray Tracing Performance (incl. Shading)

107.2

129.6 134.98

64.9675.36

82.62

29.472 35.04 38.76

0

20

40

60

80

100

120

140Intel® Xeon® E5-2699 v3Processor2 x 18 cores, 2.3 GHz

Intel® Xeon Phi™ 7120Coprocessor61 cores, 1.28 GHz

NVIDIA® GeForce® GTX™ Titan X Coprocessor12 GB RAM

32

Mill

ion

Ray

s/Se

con

d

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

OSPRay API(what a programmer should know about OSPRay)

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 frameospRenderFrame(fb,renderer, …);

– Get the frame buffer, and do something with itvoid *fb = ospMapFrameBuffer(fb,…);glDrawPixels(…, fb, …);

OSPRay API

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

OSPRay – Capabilities (v0.8.2)

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

OSPRay – Performance

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

OSPRay – Early Results

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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" stagehttps://github.com/TACC/pvOSPRay

Early Integration Results: ParaView*

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

Early Integration Results: VisIt*

Image courtesy Carson Brownlee (TACC)

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.

Questions?

(Oh, BTW: We are hiring!)

8/18/201580

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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 Austria4.3M triangles

Bentley 4.5l Blower (1927)2.3M triangles

Asian Dragon7.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 Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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.htmlIris™ 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/201582

Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *Other names and brands may be claimed as the property of others.Copyright © 2015, Intel Corporat ion. Al l r ights reserv ed. *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