SlideShare a Scribd company logo
INTEL®
HPC
DEVELOPER
CONFERENCE
Software-Defined Visualization:
Getting the most out of
ParaView w/ OSPRay
▶ Intel HPC Developer Conference
November, 2016
Paul A. Navrátil, Ph.D.
TACC
David E DeMarle
Kitware
Software-Defined Visualization
Performant Visualization across Hardware Platforms
3
Agenda
▶ Part I-A: Visualization Rendering – A Brief Overview
▶ Hardware configurations and considerations
▶ Rasterization summary
▶ Ray tracing summary
▶ Part I-B: Obtaining SDVis Components (sdvis.org)
▶ OpenSWR – openswr.org
▶ OSPRay – ospray.github.io
▶ ParaView– tacc.github.io/pvOSPRay
▶ Part II: Demonstrations – ParaView + OSPRay
▶ Wavelet data source
▶ Meningioma
▶ FIU ground core sample
▶ Remote Visualization to TACC
4
Part II : Hands On
5
❏ What you need
❏ SSIS Intel_Connect pwd “saltlake16”
paraview (download 5.2 RC4)
data:
www.paraview.org/Wiki/
Intel_HPC_Dev_Con_ParaView_and_OSPRay_Tutorial
USB’s (please return them)
local SMB fileshare:
“afp://172.17.4.105” or “smb://172.17.4.105”.
Workflow Overview – HPC vs. Vis
6
Typical HPC Workflow
Initial Conditions
01001101011001
11001010010101
00101010100110
11101101011011
00110010111010
α
β
γ
Parameters
Simulation
Timestep 1
01001101011001
11001010010101
00101010100110
11101101011011
00110010111010
Timestep n
01001101011001
11001010010101
00101010100110
11101101011011
00110010111010
Results
7
Typical Visualization Workflow
Timestep 1
01001101011001
11001010010101
00101010100110
11101101011011
00110010111010
Timestep n
01001101011001
11001010010101
00101010100110
11101101011011
00110010111010
Visualization Algorithms
Geometry
Rendering
Images Display
Iterate! 8
Original Community Solution:
Move All Interaction to Client for Vis
File
Size
100
Gbps
10
Gbps
1 Gbps
300
Mbps
54
Mbps
1 GB < 1 sec 1 sec 10 sec 35 sec 2.5 min
1 TB
~100
sec
~17 min
~3
hours
~10
hours
~43
hours
1 PB ~1 day
~12
days
~121
days
>1 year
~5
years
Files too large to move out of data center
where they were generated 9
Visualization Rendering Methods
10
Vis Algorithm Renderer
Scientific Visualization Process
▶ the primary goal of visualization is insight
▶ a picture really is worth 1,000 words or
(potentially) tera-/peta-/exa-bytes of data
▶ as dataset sizes increase so does the need for
scientific visualization
01001101011001
11001010010101
00101010100110
11101101011011
00110010111010
Raw Data Geometry Pixels
11
Rasterization and Ray-Tracing
▶ Rasterization – project 3D data onto 2D image plane, step
across image plane to determine color
▶ Often accelerated by purpose-built hardware
▶ Performance complexity a function of total geometry
▶ Shading typically not physically-based
▶ Ray Tracing – sample 3D data through 2D image plane,
simulating light ray travel
▶ Efficient with modern many core, wide vector CPUs
▶ Performance complexity a function of visible data
(acceleration structure build a function of total data)
▶ Physically-based shading “easy” (performance varies)
12
Rasterization Pipeline
Modeling
Transformatio
ns
Rasterization Display
Trivial
Rejection
Illumination
Viewing
Transformatio
ns
Clipping Projection
Starts with data or models that are
described in (x,y,z) coordinates. The
data usually defines solids or
boundaries in terms of their skins.
Transform from data coordinates to
something called world space.
Object Space
World Space
(tessellated)
13
Rasterization Pipeline
Modeling
Transformatio
ns
Rasterization Display
Trivial
Rejection
Illumination
Viewing
Transformatio
ns
Clipping Projection
Attempt to eliminate any objects that
can not possibly be seen. Check
endpoints of a triangle, line segment or
point and store a flag for inside or
outside. Perform a logical and of the
endpoints to determine whether the
entity is wholly in or out of the view.
14
Rasterization Pipeline
Modeling
Transformatio
ns
Rasterization Display
Trivial
Rejection
Illumination
Viewing
Transformatio
ns
Clipping Projection
Compute normals at the endpoints for
lighting calculation:
Ambient Diffuse Specula
r
15
Rasterization Pipeline
Modeling
Transformatio
ns
Rasterization Display
Trivial
Rejection
Illumination
Viewing
Transformatio
ns
Clipping Projection
Change coordinate systems such
that the eye sits at the origin and
the viewing plane is defined. This is
called eye space.
-X
Y
Z
Right Handed
Viewing
System
16
Rasterization Pipeline
Modeling
Transformatio
ns
Rasterization Display
Trivial
Rejection
Illumination
Viewing
Transformatio
ns
Clipping Projection
Eliminate any triangles or points that
are not within the view frustum
(outside the scene) so that we don’t
have to draw them.
-X
Y
Right Handed
Viewing
System
Z
17
Rasterization Pipeline
Modeling
Transformatio
ns
Rasterization Display
Trivial
Rejection
Illumination
Viewing
Transformatio
ns
Clipping Projection
Project 3D objects to 2D Viewing
plane. This is a projection from eye
space to screen space.
-X
Y
Z
Right Handed
Viewing
System
18
Rasterization Pipeline
Modeling
Transformatio
ns
Rasterization Display
Trivial
Rejection
Illumination
Viewing
Transformatio
ns
Clipping Projection
Convert the object into pixels
using some sort of interpolation
(usually linear).
19
Rasterization Pipeline
Modeling
Transformatio
ns
Rasterization Display
Trivial
Rejection
Illumination
Viewing
Transformatio
ns
Clipping Projection
Starts with data or models that are
described in (x,y,z) coordinates. The
data usually defines solids or
boundaries in terms of their skins.
Transform from data coordinates to
something called world space
20
OpenGL Pipeline
Vertex operations
such as lighting,
clipping, projection
and viewport
mapping
Series of
framebuffer
addresses and
values.
Series of
conditional tests
such and
modifications
such as blending
and z-buffering
21
Recursive Ray Tracing Example
A
C
B
D
A
CB
D
ray tree
E
E
…
22
Recursive Ray Tracing Example
A
C
B
D
A
B C
D
ray tree
primary
ray
secondary
rays
23
Acceleration Structures
▶ First ray tracers tested every object for intersection
Created acceleration structures to reduce object tests
▶ Focus object tests on those that are likely to be hit
▶ Bound a complex object with a simpler one
if simple test fails, no need for complex test
▶ Partition space to group objects,
only test objects when a ray enters their partition
▶ Acceleration structure creates groups of scene data
▶ These groups determine which data are accessed together
▶ Nearby objects accessed together only if they occupy the same part of the
acceleration structure
24
Bounding Volume Hierarchy
A
C
E
B
D
A
B C
D E
• Subdivides object
space
• Bounded regions
can overlap
• Must test all
regions per level to
find nearest
intersectionboxes for B and C overlap
C and E are nearby in the scene but occupy
different parts of acceleration structure
25
K-D Tree
▶ Subdivides scene
space
▶ Objects may be
duplicated or split
to fit
▶ Structure can be
unbalanced and
deep
A
C
E
B
D
A
C
ED
B,
C
C overlaps C duplicated in tree
26
Why Ray Tracing?
Jeffrey Howard, Intel Corporation
• Images compare “easy” rasterization with “easy” ray tracing
• Advanced rasterization can simulate some ray tracing effects, but ray tracing
produces higher quality and is generally easier to implement
intereflection
caustic
soft shadows anti-aliasing
27
Realistic Optic Effects
Motion Blur Depth of Field
R. Cook, T. Porter, L. Carpenter T. Kim
28
Accurate Simulation of Light Travel
Copyright Audi AG
29
Better Lighting for Visualization
C. Gribble and S. Parker
local shading ambient occlusion
shadows diffuse interreflections
30
Better Lighting for Visualization
C. Gribble and S. Parker
31
Richtmyer-Meshkov Instability
Carson Brownlee, Aaron Knoll, Paul Navrátil, TACC
Ingo Wald, Carsten Benthin, Sven Woop, Intel
OpenGL version – flat lighting, constant shadows, limited depth perception 32
Richtmyer-Meshkov Instability
Carson Brownlee, Aaron Knoll, Paul Navrátil, TACC
Ingo Wald, Carsten Benthin, Sven Woop, Intel
Embree RT version – rich lighting, ambient occlusion,
improved depth perception 33
Richtmyer-Meshkov Instability
Carson Brownlee, Aaron Knoll, Paul Navrátil, TACC
Ingo Wald, Carsten Benthin, Sven Woop, Intel
Embree RT version with ‘glass’ planes –
integrated, realistic material behavior 34
South Florida Ground Core Sample
Sade Garcia, Michael Sukop (Florida International University),
Kevin Cunningham (US Geological Survey),
Carson Brownlee, Aaron Knoll (TACC)
OpenGL version – flat lighting, constant shadows, limited depth perception
35
South Florida Ground Core Sample
Sade Garcia, Michael Sukop (Florida International University),
Kevin Cunningham (US Geological Survey),
Carson Brownlee, Aaron Knoll (TACC)
Embree RT version – rich lighting, ambient occlusion, improved depth perception
36
South Florida Ground Core Sample
Sade Garcia, Michael Sukop (Florida International University),
Kevin Cunningham (US Geological Survey),
Carson Brownlee, Aaron Knoll (TACC)
Embree RT version – rich lighting, ambient occlusion, improved depth perception
37
Implicit Surface Intersection
▶ Ray tracing can intersect surfaces directly without explicit tessellation
▶ Example: molecular data from materials simulations
▶ “ball and stick” surfaces + potential field volumes
20× – 100× memory savings
and faster image generation! 38
A. KnollA. Knoll
Simulation of N-Acetyl-L-tryptophanamide through a
Cellular Membrane
Alfredo Cardenas, Ron Elber (ICES UT Austin)
Aaron Knoll, Anne Bowen (TACC), Ingo Wald (Intel)
39
tryptophan locations clearly expressed
Simulation of N-Acetyl-L-tryptophanamide through a
Cellular Membrane
Alfredo Cardenas, Ron Elber (ICES UT Austin)
Aaron Knoll, Anne Bowen (TACC), Ingo Wald (Intel)
40
Software-Defined Visualization Libraries
41
SDVis Rasterization
▶ Mesa 3D Graphics Library – mesa3d.org
▶ Open-source general OpenGL implementation
▶ Often included in Linux distros
▶ Convenient, if not always performant, default for CPU
▶ OpenSWR – openswr.org
▶ Open-source OpenGL implementation tuned for Intel CPUs
▶ Performant rendering using wide-vector instructions
▶ OpenGL coverage for visualization and more
(integrated into Mesa3D 12.0)
42
SDVis Ray Tracing
▶ GLuRay – tacc.github.io/GLuRay/
▶ Provides basic ray tracing via OpenGL intercept
▶ Fallback to rasterized OpenGL (OpenSWR, Mesa, HW)
▶ Supported in part by NSF award ACI-1339863
▶ GraviT – tacc.github.io/GraviT/
▶ Provides efficient memory management and work scheduling
for distributed-memory ray tracing
▶ Uses GLuRay for basic interface, advanced interface for
improved performance and feature support
▶ Designed to generalize for use in simulation codes
▶ Supported in part by NSF award ACI-1339863
43
SDVis Ray Tracing
▶ Manta – mantawiki.sci.utah.edu
▶ Open-source, generally performant ray tracer
▶ ParaView plug-in available
▶ OSPRay – ospray.github.io
▶ Open-source ray tracer tuned for Intel hardware
▶ ParaView plug-in available (tacc.github.io/pvOSPRay/)
▶ OptiX – developer.nvidia.com/optix
▶ Closed-source ray tracer tuned for NVIDIA hardware
▶ Supports CPU execution (though less performant)
▶ IndeX – nvidia-arc.com/products/index.html
▶ Closed-source DVR tuned for NVIDIA hardware
▶ Requires license to operate
44
Part II : Hands On
45
❏ What you need
paraview (download 5.2 RC4)
data:
www.paraview.org/Wiki/
Intel_HPC_Dev_Con_ParaView_and_OSPRay_Tutorial
USB’s (please return them)
local SMB fileshare:
“afp://172.17.4.105” or “smb://172.17.4.105”.
Part II : Hands On
46
▶ What is ParaView?
An application and architecture for display and
analysis of massive* scientific datasets.
Client/Server architecture lets it runs on variety of
platforms from netbooks to the largest machines in the
world
Open Source, commercially friendly BSD license
Large user/developer base
Commercial support available through Kitware
▶ http://www.paraview.org/download/
▶ http://www.paraview.org/Wiki/The_ParaView_Tutorial
Presented Monday @ SC
1.1 Trillion Cells on 1/19’th of DOE Trinity & OpenSWR
ParaView
History
Started in 2000 as collaborative effort between Los
Alamos National Laboratories and Kitware Inc. (lead by
James Ahrens).
ParaView 0.6 released October 2002.
September 2005: collaborative effort between
Sandia National Laboratories, Kitware Inc. and CSimSoft
to rewrite user interface to be more user friendly and
develop quantitative analysis framework.
3.0 May 2007, Qt, Python, 2d Plots
5.0 October 2015 - SWR, TACC pvOSPRay plugin
5.1 May 2016 - integrated OSPRay for surfaces
5.2 November 2016 - add OSPRay volumes
47
▶ Based on VTK
Visualization Pipeline
OSPRay integrated into VTK, so any VTK app can use
https://blog.kitware.com/ray-traced-rendering-revisited/
48
User Interface
Menu Bar
Toolbars and Shortcuts
Pipeline Browser
Properties Panel
Apply Button
Search Field
Show Advanced
48
▶ http://www.paraview.org/Wiki/The_ParaView_Tutorial
Presented Monday @ SC
File->Open “disk_out_ref.ex2”
Filters->Contour
Click on disk_out_ref.ex2 to make it active again
Filters->Extract Surface
Filters->Clip SHOW
HIDE
OSPRay Rendering
Wavelet : procedurally generated volumetric data
Sources->Wavelet
Outline, Surface, Solid Color -> “RTData”, Volume
View Section at bottom of Properties -> Enable OSPRay
Volume->Wireframe, zoom in compare
50
Not colormapped?
Too thin? Thick?
OSPRay OpenGL
Part II : Hands On
51
Filters->Contour
isosurfaces
Turn on Shadows
Notes:
* scene and self shadowing
* speckle shadow bug with
line/cylinders and point/spheres
* “LightKit” 6 lights in scene,
mostly above and from camera
better controls soon
Part II : Hands On
52
Volumes Cast Shadows w/ OSPRay
Level Of Detail - not at all helpful
53
Unlike rasterization framerate doesn’t really
depend on how many primitives in scene. Also
switching back and forth is slower than with GL.
Glyph Mode : Uniform Spatial -> All Points
Glyph Type : 2D Vertex -> Sphere
Disable ParaView’s LOD
Edit->Settings
(OSX: ParaView->Preferences)
-> Render View
-> LOD Threshold to max
Implicit Spheres and Cylinders
54
Filters->Glyph
Traditional: Glyph Type = Sphere Ray traced implicit : 2D Glyph, Vertex
Part II : Hands On
55
▶ Scaled Implicits, finer control than “Point Size”
Filters-> Python Calculator : expression = RTData/max(RTData)
uncheck “Interpolate Scalars before mapping”
check “OSPRay Use Scale Array on”
change from “OSPRay Scale Array = RTData” to “= result”
Hit “OSPRay Scale, Edit” to change value->Radius transfer function “
Part II : Hands On
Real Data: Meningioma
longitudinal study
Load MRBrainTumor1,2
isocontour
slice
extract VOI, volume render
56
Part II : Hands On
Real Data:
FIU
57
Part II : Hands On
▶ Demonstration : remote visualization
▶ https://portal.tacc.utexas.edu/user-guides/maverick#visa
pps-paraview
▶ possibly File->Connect (internal) or TACC startup with
desktop forwarding
▶ Run parallel job
▶ Explain secondary rays problem, GraviT, Intel’s MPI DMP
volumes
58
TACC Remote Visualization
59
Why Visualize Remotely?
- Avoid moving data (especially TB or PB!)
- Access many nodes for enhanced analysis power
Hundreds to thousands of compute nodes available
- Visualize together with simulation computation
- in situ / co-processing
- computational steering
TACC Remote Visualization
60
Two Connection Models:
- TACC Visualization Portal
https://vis.tacc.utexas.edu/
- SLURM Job on Login Node
ssh stampede.tacc.utexas.edu OR
ssh login-knl1.stampede.tacc.utexas.edu
sbatch -A <acct> /share/doc/slurm/job.vnc <opts>
- Both use VNC remote desktop
TACC Visualization Portal
61
- Which machine
- Project to be billed
- Session Type
- VNC
- Rstudio
- iPython / Jupyter Notebook
- VNC desktop resolution
- Number of compute nodes
- Number of processes per node
- Click < Start Job >
- Before first run, must set
VNC Password
(different from login, 6-8 char)
Need TACC or XSEDE login credentials
62
63
Enter VNC
password here
TACC Visualization Portal
64
- VNC job blocks on this xterm
(black background)
Close it to end job
- Closing the web browser DOES
NOT end the VNC job
- Allows you to reconnect
without losing work
- If not expressly ended, job
will run until time limit
reached
65
Select Jobs tab
for running jobs
Click Terminate
Session to end
job
VNC SLURM Job
66
After connecting to login node:
vncpasswd # only needed before first execution
touch vncserver.out # only needed if file does not exist
sbatch -A <acct> /share/doc/slurm/job.vnc <opts>
for example:
sbatch -A A-ccvis /share/doc/slurm/job.vnc -geometry 19020x1080
monitor job status by following output file:
tail -f vncserver.out
VNC SLURM Job
67
When job runs, displays VNC port connection info:
Created reverse ports on Stampede KNL logins
Your VNC server is now running!
To connect via VNC client: SSH tunnel port 36602 to
login-knl1.stampede.tacc.utexas.edu:36602
Then connect to localhost::36602
To tunnel port from localhost (for secure connection):
ssh -f -N -L 36602:login-knl1.stampede.tacc.utexas.edu:36602 
login-knl1.stampede.tacc.utexas.edu
Then connect VNC viewer to localhost:<VNC port>
vncviewer localhost:36602
FIU Dataset Demo
68
Groundwater flow through karst limestone core sample
data courtesy of Florida International University and
U.S. Geological Survey
Data available at /work/00401/pnav/data/fiu_nhdr
We will visualize:
the karst substrate (rho, ~0.9 GB)
the fluid flow (u, ~1.4 GB)
69
Load nhdr data
70
Create stream tracer
71
Enable ambient occlusion (AO)
72
Create contour
73
Create clip plane
74
▶ What’s next?
▶ In-situ optimizations
▶ Progressive Refinement, Path Tracer, Lights, Materials
▶ Secondary Rays in DMP
▶ Want to know more?
▶ The ParaView Tutorial, Monday at SC16
▶ Come see us at the TACC, Kitware and Intel booths
▶ Sunday talk by Paul
▶ Sunday talk by Dave
Thank you!
INTEL®
HPC DEVELOPER
CONFERENCE

More Related Content

PDF
Auro tripathy - Localizing with CNNs
PDF
Codetecon #KRK 3 - Object detection with Deep Learning
PPTX
Recent Progress on Object Detection_20170331
PDF
Recent Object Detection Research & Person Detection
PPTX
Deep learning for object detection
PPTX
Object Detection using Deep Neural Networks
PDF
Recent Progress on Single-Image Super-Resolution
PDF
#6 PyData Warsaw: Deep learning for image segmentation
Auro tripathy - Localizing with CNNs
Codetecon #KRK 3 - Object detection with Deep Learning
Recent Progress on Object Detection_20170331
Recent Object Detection Research & Person Detection
Deep learning for object detection
Object Detection using Deep Neural Networks
Recent Progress on Single-Image Super-Resolution
#6 PyData Warsaw: Deep learning for image segmentation

What's hot (20)

PDF
SSD: Single Shot MultiBox Detector (UPC Reading Group)
PDF
[unofficial] Pyramid Scene Parsing Network (CVPR 2017)
PDF
#10 pydata warsaw object detection with dn ns
PDF
Deep Learning for Computer Vision: Image Retrieval (UPC 2016)
PDF
Mask-RCNN for Instance Segmentation
PDF
Region-oriented Convolutional Networks for Object Retrieval
PDF
Object Detection (D2L5 Insight@DCU Machine Learning Workshop 2017)
PDF
Objects as points (CenterNet) review [CDM]
PPTX
150807 Fast R-CNN
PPTX
Object Detection Methods using Deep Learning
PDF
Deep Learning for Computer Vision: Object Detection (UPC 2016)
PDF
A Brief History of Object Detection / Tommi Kerola
PPTX
150424 Scalable Object Detection using Deep Neural Networks
PDF
DNR - Auto deep lab paper review ppt
PPTX
You only look once: Unified, real-time object detection (UPC Reading Group)
PDF
Learning visual representation without human label
PDF
crfasrnn_presentation
PDF
"Semantic Segmentation for Scene Understanding: Algorithms and Implementation...
PDF
Object Detection Using R-CNN Deep Learning Framework
PPT
“zero-shot” super-resolution using deep internal learning [CVPR2018]
SSD: Single Shot MultiBox Detector (UPC Reading Group)
[unofficial] Pyramid Scene Parsing Network (CVPR 2017)
#10 pydata warsaw object detection with dn ns
Deep Learning for Computer Vision: Image Retrieval (UPC 2016)
Mask-RCNN for Instance Segmentation
Region-oriented Convolutional Networks for Object Retrieval
Object Detection (D2L5 Insight@DCU Machine Learning Workshop 2017)
Objects as points (CenterNet) review [CDM]
150807 Fast R-CNN
Object Detection Methods using Deep Learning
Deep Learning for Computer Vision: Object Detection (UPC 2016)
A Brief History of Object Detection / Tommi Kerola
150424 Scalable Object Detection using Deep Neural Networks
DNR - Auto deep lab paper review ppt
You only look once: Unified, real-time object detection (UPC Reading Group)
Learning visual representation without human label
crfasrnn_presentation
"Semantic Segmentation for Scene Understanding: Algorithms and Implementation...
Object Detection Using R-CNN Deep Learning Framework
“zero-shot” super-resolution using deep internal learning [CVPR2018]
Ad

Similar to Software Defined Visualization (SDVis): Get the Most Out of ParaView* with OSPRay (20)

PDF
SDVIs and In-Situ Visualization on TACC's Stampede
PDF
Introduction to Software Defined Visualization (SDVis)
PDF
PhD defense talk (portfolio of my expertise)
PDF
Realtime 3D Visualization without GPU
PDF
Hill Stephen Rendering Tools Splinter Cell Conviction
PDF
reviewpaper
PDF
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
PDF
Screen space reflections on Epsilon Engine
PDF
Rendering Techniques in Virtual Reality.pdf
PDF
Raycaching: Amortized Isosurface Rendering for Virtual Reality
PDF
Raycaching: Amortized Isosurface Rendering for Virtual Reality
PPTX
Introduce to 3d rendering engine
PPT
Visibility Optimization for Games
PPT
Visibility Optimization for Games
PDF
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
PDF
Epic_GDC2011_Samaritan
PDF
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
PPTX
TARDEC Presentation 2
PPTX
Rendering Algorithms.pptx
PDF
Petascale Visualization: Approaches and Initial Results
SDVIs and In-Situ Visualization on TACC's Stampede
Introduction to Software Defined Visualization (SDVis)
PhD defense talk (portfolio of my expertise)
Realtime 3D Visualization without GPU
Hill Stephen Rendering Tools Splinter Cell Conviction
reviewpaper
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
Screen space reflections on Epsilon Engine
Rendering Techniques in Virtual Reality.pdf
Raycaching: Amortized Isosurface Rendering for Virtual Reality
Raycaching: Amortized Isosurface Rendering for Virtual Reality
Introduce to 3d rendering engine
Visibility Optimization for Games
Visibility Optimization for Games
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
Epic_GDC2011_Samaritan
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
TARDEC Presentation 2
Rendering Algorithms.pptx
Petascale Visualization: Approaches and Initial Results
Ad

More from Intel® Software (20)

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

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Approach and Philosophy of On baking technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Unlocking AI with Model Context Protocol (MCP)
Approach and Philosophy of On baking technology
Mobile App Security Testing_ A Comprehensive Guide.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Empathic Computing: Creating Shared Understanding
NewMind AI Monthly Chronicles - July 2025
Big Data Technologies - Introduction.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Encapsulation theory and applications.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MYSQL Presentation for SQL database connectivity
Spectral efficient network and resource selection model in 5G networks
Encapsulation_ Review paper, used for researhc scholars
Dropbox Q2 2025 Financial Results & Investor Presentation
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
CIFDAQ's Market Insight: SEC Turns Pro Crypto

Software Defined Visualization (SDVis): Get the Most Out of ParaView* with OSPRay

  • 2. Software-Defined Visualization: Getting the most out of ParaView w/ OSPRay ▶ Intel HPC Developer Conference November, 2016 Paul A. Navrátil, Ph.D. TACC David E DeMarle Kitware
  • 4. Agenda ▶ Part I-A: Visualization Rendering – A Brief Overview ▶ Hardware configurations and considerations ▶ Rasterization summary ▶ Ray tracing summary ▶ Part I-B: Obtaining SDVis Components (sdvis.org) ▶ OpenSWR – openswr.org ▶ OSPRay – ospray.github.io ▶ ParaView– tacc.github.io/pvOSPRay ▶ Part II: Demonstrations – ParaView + OSPRay ▶ Wavelet data source ▶ Meningioma ▶ FIU ground core sample ▶ Remote Visualization to TACC 4
  • 5. Part II : Hands On 5 ❏ What you need ❏ SSIS Intel_Connect pwd “saltlake16” paraview (download 5.2 RC4) data: www.paraview.org/Wiki/ Intel_HPC_Dev_Con_ParaView_and_OSPRay_Tutorial USB’s (please return them) local SMB fileshare: “afp://172.17.4.105” or “smb://172.17.4.105”.
  • 6. Workflow Overview – HPC vs. Vis 6
  • 7. Typical HPC Workflow Initial Conditions 01001101011001 11001010010101 00101010100110 11101101011011 00110010111010 α β γ Parameters Simulation Timestep 1 01001101011001 11001010010101 00101010100110 11101101011011 00110010111010 Timestep n 01001101011001 11001010010101 00101010100110 11101101011011 00110010111010 Results 7
  • 8. Typical Visualization Workflow Timestep 1 01001101011001 11001010010101 00101010100110 11101101011011 00110010111010 Timestep n 01001101011001 11001010010101 00101010100110 11101101011011 00110010111010 Visualization Algorithms Geometry Rendering Images Display Iterate! 8
  • 9. Original Community Solution: Move All Interaction to Client for Vis File Size 100 Gbps 10 Gbps 1 Gbps 300 Mbps 54 Mbps 1 GB < 1 sec 1 sec 10 sec 35 sec 2.5 min 1 TB ~100 sec ~17 min ~3 hours ~10 hours ~43 hours 1 PB ~1 day ~12 days ~121 days >1 year ~5 years Files too large to move out of data center where they were generated 9
  • 11. Vis Algorithm Renderer Scientific Visualization Process ▶ the primary goal of visualization is insight ▶ a picture really is worth 1,000 words or (potentially) tera-/peta-/exa-bytes of data ▶ as dataset sizes increase so does the need for scientific visualization 01001101011001 11001010010101 00101010100110 11101101011011 00110010111010 Raw Data Geometry Pixels 11
  • 12. Rasterization and Ray-Tracing ▶ Rasterization – project 3D data onto 2D image plane, step across image plane to determine color ▶ Often accelerated by purpose-built hardware ▶ Performance complexity a function of total geometry ▶ Shading typically not physically-based ▶ Ray Tracing – sample 3D data through 2D image plane, simulating light ray travel ▶ Efficient with modern many core, wide vector CPUs ▶ Performance complexity a function of visible data (acceleration structure build a function of total data) ▶ Physically-based shading “easy” (performance varies) 12
  • 13. Rasterization Pipeline Modeling Transformatio ns Rasterization Display Trivial Rejection Illumination Viewing Transformatio ns Clipping Projection Starts with data or models that are described in (x,y,z) coordinates. The data usually defines solids or boundaries in terms of their skins. Transform from data coordinates to something called world space. Object Space World Space (tessellated) 13
  • 14. Rasterization Pipeline Modeling Transformatio ns Rasterization Display Trivial Rejection Illumination Viewing Transformatio ns Clipping Projection Attempt to eliminate any objects that can not possibly be seen. Check endpoints of a triangle, line segment or point and store a flag for inside or outside. Perform a logical and of the endpoints to determine whether the entity is wholly in or out of the view. 14
  • 15. Rasterization Pipeline Modeling Transformatio ns Rasterization Display Trivial Rejection Illumination Viewing Transformatio ns Clipping Projection Compute normals at the endpoints for lighting calculation: Ambient Diffuse Specula r 15
  • 16. Rasterization Pipeline Modeling Transformatio ns Rasterization Display Trivial Rejection Illumination Viewing Transformatio ns Clipping Projection Change coordinate systems such that the eye sits at the origin and the viewing plane is defined. This is called eye space. -X Y Z Right Handed Viewing System 16
  • 17. Rasterization Pipeline Modeling Transformatio ns Rasterization Display Trivial Rejection Illumination Viewing Transformatio ns Clipping Projection Eliminate any triangles or points that are not within the view frustum (outside the scene) so that we don’t have to draw them. -X Y Right Handed Viewing System Z 17
  • 18. Rasterization Pipeline Modeling Transformatio ns Rasterization Display Trivial Rejection Illumination Viewing Transformatio ns Clipping Projection Project 3D objects to 2D Viewing plane. This is a projection from eye space to screen space. -X Y Z Right Handed Viewing System 18
  • 19. Rasterization Pipeline Modeling Transformatio ns Rasterization Display Trivial Rejection Illumination Viewing Transformatio ns Clipping Projection Convert the object into pixels using some sort of interpolation (usually linear). 19
  • 20. Rasterization Pipeline Modeling Transformatio ns Rasterization Display Trivial Rejection Illumination Viewing Transformatio ns Clipping Projection Starts with data or models that are described in (x,y,z) coordinates. The data usually defines solids or boundaries in terms of their skins. Transform from data coordinates to something called world space 20
  • 21. OpenGL Pipeline Vertex operations such as lighting, clipping, projection and viewport mapping Series of framebuffer addresses and values. Series of conditional tests such and modifications such as blending and z-buffering 21
  • 22. Recursive Ray Tracing Example A C B D A CB D ray tree E E … 22
  • 23. Recursive Ray Tracing Example A C B D A B C D ray tree primary ray secondary rays 23
  • 24. Acceleration Structures ▶ First ray tracers tested every object for intersection Created acceleration structures to reduce object tests ▶ Focus object tests on those that are likely to be hit ▶ Bound a complex object with a simpler one if simple test fails, no need for complex test ▶ Partition space to group objects, only test objects when a ray enters their partition ▶ Acceleration structure creates groups of scene data ▶ These groups determine which data are accessed together ▶ Nearby objects accessed together only if they occupy the same part of the acceleration structure 24
  • 25. Bounding Volume Hierarchy A C E B D A B C D E • Subdivides object space • Bounded regions can overlap • Must test all regions per level to find nearest intersectionboxes for B and C overlap C and E are nearby in the scene but occupy different parts of acceleration structure 25
  • 26. K-D Tree ▶ Subdivides scene space ▶ Objects may be duplicated or split to fit ▶ Structure can be unbalanced and deep A C E B D A C ED B, C C overlaps C duplicated in tree 26
  • 27. Why Ray Tracing? Jeffrey Howard, Intel Corporation • Images compare “easy” rasterization with “easy” ray tracing • Advanced rasterization can simulate some ray tracing effects, but ray tracing produces higher quality and is generally easier to implement intereflection caustic soft shadows anti-aliasing 27
  • 28. Realistic Optic Effects Motion Blur Depth of Field R. Cook, T. Porter, L. Carpenter T. Kim 28
  • 29. Accurate Simulation of Light Travel Copyright Audi AG 29
  • 30. Better Lighting for Visualization C. Gribble and S. Parker local shading ambient occlusion shadows diffuse interreflections 30
  • 31. Better Lighting for Visualization C. Gribble and S. Parker 31
  • 32. Richtmyer-Meshkov Instability Carson Brownlee, Aaron Knoll, Paul Navrátil, TACC Ingo Wald, Carsten Benthin, Sven Woop, Intel OpenGL version – flat lighting, constant shadows, limited depth perception 32
  • 33. Richtmyer-Meshkov Instability Carson Brownlee, Aaron Knoll, Paul Navrátil, TACC Ingo Wald, Carsten Benthin, Sven Woop, Intel Embree RT version – rich lighting, ambient occlusion, improved depth perception 33
  • 34. Richtmyer-Meshkov Instability Carson Brownlee, Aaron Knoll, Paul Navrátil, TACC Ingo Wald, Carsten Benthin, Sven Woop, Intel Embree RT version with ‘glass’ planes – integrated, realistic material behavior 34
  • 35. South Florida Ground Core Sample Sade Garcia, Michael Sukop (Florida International University), Kevin Cunningham (US Geological Survey), Carson Brownlee, Aaron Knoll (TACC) OpenGL version – flat lighting, constant shadows, limited depth perception 35
  • 36. South Florida Ground Core Sample Sade Garcia, Michael Sukop (Florida International University), Kevin Cunningham (US Geological Survey), Carson Brownlee, Aaron Knoll (TACC) Embree RT version – rich lighting, ambient occlusion, improved depth perception 36
  • 37. South Florida Ground Core Sample Sade Garcia, Michael Sukop (Florida International University), Kevin Cunningham (US Geological Survey), Carson Brownlee, Aaron Knoll (TACC) Embree RT version – rich lighting, ambient occlusion, improved depth perception 37
  • 38. Implicit Surface Intersection ▶ Ray tracing can intersect surfaces directly without explicit tessellation ▶ Example: molecular data from materials simulations ▶ “ball and stick” surfaces + potential field volumes 20× – 100× memory savings and faster image generation! 38 A. KnollA. Knoll
  • 39. Simulation of N-Acetyl-L-tryptophanamide through a Cellular Membrane Alfredo Cardenas, Ron Elber (ICES UT Austin) Aaron Knoll, Anne Bowen (TACC), Ingo Wald (Intel) 39
  • 40. tryptophan locations clearly expressed Simulation of N-Acetyl-L-tryptophanamide through a Cellular Membrane Alfredo Cardenas, Ron Elber (ICES UT Austin) Aaron Knoll, Anne Bowen (TACC), Ingo Wald (Intel) 40
  • 42. SDVis Rasterization ▶ Mesa 3D Graphics Library – mesa3d.org ▶ Open-source general OpenGL implementation ▶ Often included in Linux distros ▶ Convenient, if not always performant, default for CPU ▶ OpenSWR – openswr.org ▶ Open-source OpenGL implementation tuned for Intel CPUs ▶ Performant rendering using wide-vector instructions ▶ OpenGL coverage for visualization and more (integrated into Mesa3D 12.0) 42
  • 43. SDVis Ray Tracing ▶ GLuRay – tacc.github.io/GLuRay/ ▶ Provides basic ray tracing via OpenGL intercept ▶ Fallback to rasterized OpenGL (OpenSWR, Mesa, HW) ▶ Supported in part by NSF award ACI-1339863 ▶ GraviT – tacc.github.io/GraviT/ ▶ Provides efficient memory management and work scheduling for distributed-memory ray tracing ▶ Uses GLuRay for basic interface, advanced interface for improved performance and feature support ▶ Designed to generalize for use in simulation codes ▶ Supported in part by NSF award ACI-1339863 43
  • 44. SDVis Ray Tracing ▶ Manta – mantawiki.sci.utah.edu ▶ Open-source, generally performant ray tracer ▶ ParaView plug-in available ▶ OSPRay – ospray.github.io ▶ Open-source ray tracer tuned for Intel hardware ▶ ParaView plug-in available (tacc.github.io/pvOSPRay/) ▶ OptiX – developer.nvidia.com/optix ▶ Closed-source ray tracer tuned for NVIDIA hardware ▶ Supports CPU execution (though less performant) ▶ IndeX – nvidia-arc.com/products/index.html ▶ Closed-source DVR tuned for NVIDIA hardware ▶ Requires license to operate 44
  • 45. Part II : Hands On 45 ❏ What you need paraview (download 5.2 RC4) data: www.paraview.org/Wiki/ Intel_HPC_Dev_Con_ParaView_and_OSPRay_Tutorial USB’s (please return them) local SMB fileshare: “afp://172.17.4.105” or “smb://172.17.4.105”.
  • 46. Part II : Hands On 46 ▶ What is ParaView? An application and architecture for display and analysis of massive* scientific datasets. Client/Server architecture lets it runs on variety of platforms from netbooks to the largest machines in the world Open Source, commercially friendly BSD license Large user/developer base Commercial support available through Kitware ▶ http://www.paraview.org/download/ ▶ http://www.paraview.org/Wiki/The_ParaView_Tutorial Presented Monday @ SC 1.1 Trillion Cells on 1/19’th of DOE Trinity & OpenSWR
  • 47. ParaView History Started in 2000 as collaborative effort between Los Alamos National Laboratories and Kitware Inc. (lead by James Ahrens). ParaView 0.6 released October 2002. September 2005: collaborative effort between Sandia National Laboratories, Kitware Inc. and CSimSoft to rewrite user interface to be more user friendly and develop quantitative analysis framework. 3.0 May 2007, Qt, Python, 2d Plots 5.0 October 2015 - SWR, TACC pvOSPRay plugin 5.1 May 2016 - integrated OSPRay for surfaces 5.2 November 2016 - add OSPRay volumes 47 ▶ Based on VTK Visualization Pipeline OSPRay integrated into VTK, so any VTK app can use https://blog.kitware.com/ray-traced-rendering-revisited/
  • 48. 48 User Interface Menu Bar Toolbars and Shortcuts Pipeline Browser Properties Panel Apply Button Search Field Show Advanced 48 ▶ http://www.paraview.org/Wiki/The_ParaView_Tutorial Presented Monday @ SC
  • 49. File->Open “disk_out_ref.ex2” Filters->Contour Click on disk_out_ref.ex2 to make it active again Filters->Extract Surface Filters->Clip SHOW HIDE
  • 50. OSPRay Rendering Wavelet : procedurally generated volumetric data Sources->Wavelet Outline, Surface, Solid Color -> “RTData”, Volume View Section at bottom of Properties -> Enable OSPRay Volume->Wireframe, zoom in compare 50 Not colormapped? Too thin? Thick? OSPRay OpenGL
  • 51. Part II : Hands On 51 Filters->Contour isosurfaces Turn on Shadows Notes: * scene and self shadowing * speckle shadow bug with line/cylinders and point/spheres * “LightKit” 6 lights in scene, mostly above and from camera better controls soon
  • 52. Part II : Hands On 52 Volumes Cast Shadows w/ OSPRay
  • 53. Level Of Detail - not at all helpful 53 Unlike rasterization framerate doesn’t really depend on how many primitives in scene. Also switching back and forth is slower than with GL. Glyph Mode : Uniform Spatial -> All Points Glyph Type : 2D Vertex -> Sphere Disable ParaView’s LOD Edit->Settings (OSX: ParaView->Preferences) -> Render View -> LOD Threshold to max
  • 54. Implicit Spheres and Cylinders 54 Filters->Glyph Traditional: Glyph Type = Sphere Ray traced implicit : 2D Glyph, Vertex
  • 55. Part II : Hands On 55 ▶ Scaled Implicits, finer control than “Point Size” Filters-> Python Calculator : expression = RTData/max(RTData) uncheck “Interpolate Scalars before mapping” check “OSPRay Use Scale Array on” change from “OSPRay Scale Array = RTData” to “= result” Hit “OSPRay Scale, Edit” to change value->Radius transfer function “
  • 56. Part II : Hands On Real Data: Meningioma longitudinal study Load MRBrainTumor1,2 isocontour slice extract VOI, volume render 56
  • 57. Part II : Hands On Real Data: FIU 57
  • 58. Part II : Hands On ▶ Demonstration : remote visualization ▶ https://portal.tacc.utexas.edu/user-guides/maverick#visa pps-paraview ▶ possibly File->Connect (internal) or TACC startup with desktop forwarding ▶ Run parallel job ▶ Explain secondary rays problem, GraviT, Intel’s MPI DMP volumes 58
  • 59. TACC Remote Visualization 59 Why Visualize Remotely? - Avoid moving data (especially TB or PB!) - Access many nodes for enhanced analysis power Hundreds to thousands of compute nodes available - Visualize together with simulation computation - in situ / co-processing - computational steering
  • 60. TACC Remote Visualization 60 Two Connection Models: - TACC Visualization Portal https://vis.tacc.utexas.edu/ - SLURM Job on Login Node ssh stampede.tacc.utexas.edu OR ssh login-knl1.stampede.tacc.utexas.edu sbatch -A <acct> /share/doc/slurm/job.vnc <opts> - Both use VNC remote desktop
  • 61. TACC Visualization Portal 61 - Which machine - Project to be billed - Session Type - VNC - Rstudio - iPython / Jupyter Notebook - VNC desktop resolution - Number of compute nodes - Number of processes per node - Click < Start Job > - Before first run, must set VNC Password (different from login, 6-8 char) Need TACC or XSEDE login credentials
  • 62. 62
  • 64. TACC Visualization Portal 64 - VNC job blocks on this xterm (black background) Close it to end job - Closing the web browser DOES NOT end the VNC job - Allows you to reconnect without losing work - If not expressly ended, job will run until time limit reached
  • 65. 65 Select Jobs tab for running jobs Click Terminate Session to end job
  • 66. VNC SLURM Job 66 After connecting to login node: vncpasswd # only needed before first execution touch vncserver.out # only needed if file does not exist sbatch -A <acct> /share/doc/slurm/job.vnc <opts> for example: sbatch -A A-ccvis /share/doc/slurm/job.vnc -geometry 19020x1080 monitor job status by following output file: tail -f vncserver.out
  • 67. VNC SLURM Job 67 When job runs, displays VNC port connection info: Created reverse ports on Stampede KNL logins Your VNC server is now running! To connect via VNC client: SSH tunnel port 36602 to login-knl1.stampede.tacc.utexas.edu:36602 Then connect to localhost::36602 To tunnel port from localhost (for secure connection): ssh -f -N -L 36602:login-knl1.stampede.tacc.utexas.edu:36602 login-knl1.stampede.tacc.utexas.edu Then connect VNC viewer to localhost:<VNC port> vncviewer localhost:36602
  • 68. FIU Dataset Demo 68 Groundwater flow through karst limestone core sample data courtesy of Florida International University and U.S. Geological Survey Data available at /work/00401/pnav/data/fiu_nhdr We will visualize: the karst substrate (rho, ~0.9 GB) the fluid flow (u, ~1.4 GB)
  • 74. 74 ▶ What’s next? ▶ In-situ optimizations ▶ Progressive Refinement, Path Tracer, Lights, Materials ▶ Secondary Rays in DMP ▶ Want to know more? ▶ The ParaView Tutorial, Monday at SC16 ▶ Come see us at the TACC, Kitware and Intel booths ▶ Sunday talk by Paul ▶ Sunday talk by Dave Thank you!