Advanced scientific visualization
This presentation is the property of its rightful owner.
Sponsored Links
1 / 35

Advanced Scientific Visualization PowerPoint PPT Presentation


  • 117 Views
  • Uploaded on
  • Presentation posted in: General

Advanced Scientific Visualization. Paul Navrátil 28 May 2009. Scientific Visualization. “The purpose of computing is insight not numbers.” -- R. W. Hamming (1961). Visualization Allows Us to “See” the Science. Raw Data. Geometric Primitives. Pixels. 01001101011001 11001010010101

Download Presentation

Advanced Scientific Visualization

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Advanced scientific visualization

AdvancedScientific Visualization

Paul Navrátil

28 May 2009


Scientific visualization

Scientific Visualization

“The purpose of computing is insight not numbers.”

-- R. W. Hamming (1961)


Visualization allows us to see the science

Visualization Allows Us to “See” the Science

Raw Data

Geometric Primitives

Pixels

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

Application

Render


But what about large distributed data

But what about large, distributed data?

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010


Or distributed rendering

Or distributed rendering?

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010


Or distributed displays

Or distributed displays?

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010


Or all three

Or all three?

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010


Schedule

Schedule

  • Advanced Scientific Visualization Topics

    • Large Data Visualization Challenges

    • Potential Solutions

    • Demonstrations

  • Lab

    • Remote Visualization on Spur and Ranger

    • Scripting Visualization using Python in VisIt or Paraview


Visualization must scale with hpc

Visualization must scale with HPC

Large data produced by large simulations require large visualization machines and produce large visualization results

Terabytes of Data

AT LEASTTerabytes ofVis

GigapixelImages

Resampling,Application,…

Resolution to CaptureFeature Detail


Visualization scaling challenges

Visualization Scaling Challenges

  • Moving data to the visualization machine

  • Most applications built for shared memory machines, not distributed clusters

  • Image resolution limits in some software cannot capture feature details

  • Displays cannot show entire high-resolution images at their native resolution


Moving data

Moving Data

  • How much time do you have?


Analyzing data

Analyzing Data

  • Visualization programs only beginning to efficiently handle ultrascale data

    • 650 GB dataset -> 3 TB memory footprint

    • Allocate HPC nodes for RAM not cores

    • N-1 idle processors per node!

  • Stability across many distributed nodes

    • Rendering clusters typically number N <= 64

    • Data must be dividable onto N cores Remember this when resampling!


Imaging data

Imaging Data

4096 x 2160 PNG ~ 10 MB

x 360 degrees ~ 3.6 GB

x 30 days ~ 108 GB

x 12 months ~ 1.3 TB

@ 10 fps 3.6 hours

@ 60 fps 36 min

Image: NASA Blue Marble Project


Displaying data

Displaying Data

Dell 30” flat-panel LCD

4 Megapixel display

2560 x 1600 resolution


Displaying data1

Displaying Data

Stallion – currently world’s highest-resolution tiled display

307 Megapixels

38400 x 8000 pixel resolution

Dell 30” LCD


Displaying data2

Displaying Data

NASA Blue Marble

0.5 km2 per pixel

3732 Mpixel(86400 x 43200)

Stallion – 307 Mpixel (38400 x 8000)

Dell 30” LCD – 4 Mpixel (2560 x 1600)


What s the solution

What’s the solution?


Solution by partial sums

Solution by Partial Sums

  • Moving data – integrate vis machine into simulation machine. Move the machine to data!

    • Ranger + Spur: shared file system and interconnect

  • Analyzing data – create larger vis machines and develop more efficient vis apps

    • Smaller memory footprint

    • More stable across many distributed nodes

      Until then, the simulation machine is the vis machine!


Solution by partial sums1

Solution by Partial Sums

  • Imaging data – focus vis effort on interesting features parallelize image creation

    • Feature detection to determine visualization targetsbut can miss “unknown unknowns”

    • Distribute image rendering across cluster

  • Displaying data – high resolution displaysmulti-resolution image navigation

    • Large displays need large spaces

    • Physical navigation of display provides better insights


Old model no remote capability

Old Model (No Remote Capability)

Local

Visualization

Resource

HPC

System

Pixels

Mouse

Data

Archive

Display

Wide-Area

Network

Remote Site

Local Site


New model remote capability

New ModelRemote Capability

Pixels

Large-Scale

Visualization

Resource

HPC

System

Display

Mouse

Data

Archive

Wide-Area

Network

Remote Site

Local Site


Spur ranger topology

Spur / Ranger topology

visqueue

$SCRATCH

spur

$WORK

$HOME

Vis nodesivis[1-7|big]

login3.ranger

normaldevelopment<etc>queues

HPC nodesixxx-xxx

login4.ranger

Login Nodes

Compute Nodes

File System


Parallel visualization

Parallel Visualization

  • Task parallelism – passing results to 1 process for rendering

Timesteps

Processes


Parallel visualization1

Parallel Visualization

Pipeline parallelism

Useful when processes have access to separate resources or when an operation requires many steps.

Timesteps

Processes


Parallel visualization2

Parallel Visualization

Data parallelism

Data set is partitioned among the processes and all processes

execute same operations on the data.

Scales well as long as the data and operations can be decomposed.

Timesteps

Processes


Parallel visualization libraries

Parallel Visualization Libraries

  • Chromium – http://chromium.sourceforge.net

    • Sits between application and native OpenGL

    • Intercepts OpenGL calls, distribute across cluster

    • Can do either sort-first or sort-last (sort-first is simpler, sort-last can be better for large data)

    • Last update 31 Aug 2006, no new GL goodies

  • IceT – http://www.cs.unm.edu/~kmorel/IceT/SAGE – http://www.evl.uic.edu/cavern/sage/CGLX – http://vis.ucsd.edu/~cglx/

    • specifically for large tiled displays

    • Must use IceT / SAGE / CGLX API in code

  • Mesa – http://www.mesa3d.org/

    • Software rendering library

    • Enables OpenGL rendering on machines without GPUs


Open source parallel vis apps

Open-Source Parallel Vis Apps

  • VisIt – https://wci.llnl.gov/codes/visit/

    • Good scaling to hundreds of cores

    • Integrated job launching mechanism for rendering engines

    • Good documentation and user community

    • GUI not as polished

  • ParaView – http://www.paraview.org/

    • Polished GUI, easier to navigate

    • Less stable across hundreds of cores

    • Official documentation must be purchased, though rich knowledge base on web (via Google)


Cuda coding for gpus

CUDA – coding for GPUs

  • C / C++ interface plus GPU-based extensions

  • Can use both for accelerating visualization operations and for general-purpose computing (GPGPU)

  • Special GPU libraries for math, FFT, BLAS

Image: Tom Halfhill, Microprocessor Report


Gpu layout

GPU layout

Image: Tom Halfhill, Microprocessor Report


Gpu considerations

GPU Considerations

  • Parallelism – kernel should be highly SIMD

    • Switching kernels is expensive!

  • Job size – high workload per thread

    • amortize thread initialization and memory transfer costs

  • Memory footprint – task must decompose well

    • local store per GPU core is low (16 KB on G80)

    • card-local RAM is limited (~1GB on G8x)

    • access to system RAM is slow (treat like disk access)

  • GPU N-body study (in GPU Gems 3): http://www.nvidia.com/object/io_1195170003876.html


Summary

Summary

  • Challenges at every stage of visualization when operating on large data

  • Partial solutions exist, though not integrated

  • Problem sizes continue to grow at every stage

  • Vis software community must keep pace with hardware innovations


Obrigado pnav@tacc utexas edu

[email protected]


  • Login