visualization toolkit improving rendering and compute on
play

Visualization Toolkit: Improving Rendering and Compute on GPUs - PowerPoint PPT Presentation

Visualization Toolkit: Improving Rendering and Compute on GPUs GTC, San Jose, CA April, 2016 Robert Maynard Kitware, Inc. Founded in 1998 by five former GE Research employees 115 current employees; 41 with PhDs Privately held,


  1. Visualization Toolkit: Improving Rendering and Compute on GPUs GTC, San Jose, CA April, 2016 Robert Maynard

  2. Kitware, Inc. • Founded in 1998 by five former GE Research employees • 115 current employees; 41 with PhDs Privately held, profitable from creation, no debt • • Rapidly Growing: >30% in 2011 • Offices • 2011 Small Business – Clifton Park, NY Administration’s Tibbetts Award – Carrboro, NC • HPCWire Readers and – Santa Fe, NM Editor’s Choice • Inc’s 5000 List since – Lyon, France 2008

  3. Business Model: Open Source • Open-source Software – Normally BSD-licensed – Collaboration platforms • Collaborative Research and Development • Technology Integration • Services, support, and consulting • Training and webinars

  4. Overview of Software Process • Openly developed, reusable frameworks – Open-source frameworks – Developed openly – Cross-platform compatibility – Tested and verified – Contribution model – Supported by Kitware experts • Liberally-licensed to facilitate research

  5. The Visualization Toolkit • Founded in 1993 as example code for “The Visualization Textbook”. • Used in many projects developed all over the world: – ParaView, VisIt – Osirix, 3D Slicer – Mayavi, MOOSE

  6. The Visualization Pipeline • A sequence of algorithms that operate on data objects to generate geometry Filter Mapper Actor Render on Data Data screen Source Filter Mapper Actor Data Data

  7. VTK Update vtkCommonCore • NVIDIA and Kitware collaboration vtkRenderingCore vtkVolume • Major rewrite of VTK’s rendering code OpenGL OpenGL2 OpenGL OpenGL2 – Geometry and Volume rendering – Supports desktop and embedded systems – Take advantage of modern programmable GPU: migration from fixed pipeline to buffers and GLSL – Recast interaction with data pipelines to take full advantage of batching for improved transfer

  8. VTK 7.X • New minimum OpenGL version – OpenGL 3.2, OpenGL ES 3.0 • Large Volume support • Tested on Android and iOS • Single code base for all platforms • Multi-touch interaction supported

  9. Benchmarking: Old vs New • Looking at static scenes – Time to first render – Average time of rotated subsequent renders • Added some new benchmarking tools • Aim to provide systematic comparison

  10. Time to Render For First Frame (K2200) 16 14 12 10 Time (s) 8 VTK 6 6 VTK 7 4 2 0 1 million 5 million 20 million 30 million Triangles

  11. Time to Render Subsequent Frames(K2200) 3.5 3 2.5 Time (s) 2 VTK 6 1.5 VTK 7 1 0.5 0.0025333 0.00711968 0.010502 0.000806384 0 1 million 5 million 20 million 30 million Triangles

  12. Time to Render For First Frame (K2200) 25 20 15 Time (s) VTK 6 10 VTK 7 5 0 10 million 50 million 100 million 500 million 1000 million Voxels

  13. Time to Render Subsequent Frames (K2200) 0.02 0.018 0.016 0.014 0.012 Time (s) 0.01 VTK 6 0.008 VTK 7 0.006 0.004 0.002 0 10 million 50 million 100 million 500 million 1000 million Voxels

  14. TL;DR It Is Fast • Geometry rendering about 100 Gmes faster – IniGal frame/updated input ten Gmes faster – Memory footprint about half for single large geometry Volume rendering twice as fast • – Improved capability to run across systems Capable of rendering much larger systems • Other advanced rendering techniques • – Glyphs, impostors, Gaussian splaRng for data

  15. VTK Point Rendering Work • Hierarchical LOD • View Frustum Culling • Spatial Randomization • Post Render Screen Space Point Filling • 960M renders about 1billion points/second for a 200M point dataset • TTFR ~1sec for 200M points • Goal is 30fps/1Billion Points

  16. VTK Point Cloud Work • Point Cloud Algorithmic Efforts – Modeling – Cleaning – Segmentation – Registration – Geometry – Fitting – Surface reconstruction – Subsampling / LOD

  17. ParaView is an open-source, multi-platform, data analysis and visualization application for analyzing extremely large datasets using distributed memory computing resources

  18. ParaView 5.X Features • New Rendering is the default – OpenGL 3.2, OpenGL ES 3.0 • Supports EGL on HPC machines • Faster Remote Image Transfer – More work still to come

  19. NVIDIA IndeX Plugin • NVIDIA IndeX is a scalable volume renderer NVIDIA IndeX Plugin that provides interactive performance on GPU clusters and supercomputers • ParaView IndeX Plugin is now in beta NVIDIA IndeX • Data: 3D structured grids • Fields: Scalar float, 8, 16, 32bit u-integers • Overlay of opaque ParaView geometries (e.g. streamlines) • Supports client-server mode via MPI • Free plugin, requires commercial IndeX license

  20. Computation On Node 125 PB/s VisualizaGon Node Memory 4.5 PB/s Getting faster on Summit Off Node VisualizaGon Interconnect (Largest Cross-Sectional Bandwidth) 24 TB/s Same bandwidth on Summit Storage Post Hoc 1.4 TB/s VisualizaGon

  21. What is it? SimulaGon SimulaGon A set of tools for in situ Separate MPI analysis and visualizaGon Why use it? Brief answer – one soluGon to reduced relaGve IO performance on the road to Disk Disk exascale Storage Storage More details – provide flexible analysis opGons and beber usage of computaGonal resources to reduce scienGsts’ VisualizaGon VisualizaGon Gme to insight into given In Situ In Transit problems

  22. Simulation Augmented # Create the reader and set the filename. reader = sm.sources.Reader(FileNames=path) Script Export script in view = sm.CreateRenderView() repr = sm.CreateRepresentation(reader, view) input deck. reader.UpdatePipeline() dataInfo = reader.GetDataInformation() pinfo = dataInfo.GetPointDataInformation() arrayInfo = pInfo.GetArrayInformation( "displacement9") Output Processed Data Polygonal Output Rendered Images Series Data with Field Data Live Visualization

  23. Other Catalyst Export Options • Output to Cinema – Static vs Spherical Camera Θ φ

  24. VTK-m A single place for the analysis and visualization community to collaborate, contribute, and leverage massively threaded algorithms

  25. VTK-m Architecture Make it easier for simulation codes to take advantage these parallel visualization and analysis tasks on a wide range of current and next- generation hardware. Filters Post Processing DataModel Worklets In-Situ ExecuGon Arrays Data Parallel Algorithms

  26. is not a replacement for Algorithm SimulaGon

  27. is not a replacement for Algorithm Filter SimulaGon

  28. Reader Filter Algorithm Filter SimulaGon Filter Rendering

  29. Reader Filter Algorithm Filter SimulaGon Filter Rendering

  30. VTK-m Use Case • Convert a traditional visualization pipeline into Catalyst Live GPU pipeline to provide computational monitoring of simulation results Live Per Timestep SimulaGon Format VisualizaGon Format

  31. 33

  32. Thank You! Checkout out: Robert Maynard Kitware @ www.kitware.com VTK @ www.vtk.org robert.maynard@kitware.com VTK-m @ m.vtk.org @robertjmaynard PyFR @ www.pyfr.org Other Presentations: S6633 - Navigating the In-Situ Visualization Landscape S6352 - Adapting the Visualization Toolkit for Many-Core Processors with the VTK-m Library S6329 - Petascale Computational Fluid Dynamics with Python on GPUs Please complete the Presenter Evaluation sent to you by email or through the GTC Mobile App. Your feedback is important!

Recommend


More recommend