advanced scientific visualization

35
Advanced Scientific Visualization Paul Navrátil 28 May 2009

Upload: zared

Post on 24-Jan-2016

59 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Advanced Scientific Visualization

AdvancedScientific Visualization

Paul Navrátil

28 May 2009

Page 2: Advanced Scientific Visualization

Scientific Visualization

“The purpose of computing is insight not numbers.”

-- R. W. Hamming (1961)

“The purpose of computing is insight not numbers.”

-- R. W. Hamming (1961)

Page 3: Advanced Scientific Visualization
Page 4: Advanced Scientific Visualization
Page 5: Advanced Scientific Visualization
Page 6: Advanced Scientific Visualization

Visualization Allows Us to “See” the Science

ApplicationApplication RenderRender

Geometric PrimitivesGeometric Primitives PixelsPixelsRaw DataRaw Data

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

Page 7: Advanced Scientific Visualization

But what about large, distributed data?

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

Page 8: Advanced Scientific Visualization

Or distributed rendering?

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

Page 9: Advanced Scientific Visualization

Or distributed displays?

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

Page 10: Advanced Scientific Visualization

Or all three?

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

0100110101100111001010010101001010101001101110110101101100110010111010

Page 11: Advanced Scientific Visualization

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

Page 12: Advanced Scientific Visualization

Visualization must scale with HPC

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

Terabytes of Data

Terabytes of Data

AT LEASTTerabytes of

Vis

AT LEASTTerabytes of

VisGigapixelImages

GigapixelImages

Resampling,Application,

Resolution to Capture

Feature Detail

Page 13: Advanced Scientific Visualization

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

Page 14: Advanced Scientific Visualization

Moving Data

• How much time do you have?

File Size 10 Gbps 54 Mbps

1 GB 1 sec 2.5 min

1 TB ~17 min ~43 hours

1 PB ~12 days ~5 years

Page 15: Advanced Scientific Visualization

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!

Page 16: Advanced Scientific Visualization

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 minImage: NASA Blue Marble Project

Page 17: Advanced Scientific Visualization

Displaying Data

Dell 30” flat-panel LCD

4 Megapixel display

2560 x 1600 resolution

Page 18: Advanced Scientific Visualization

Displaying Data

Stallion – currently world’s highest-resolution tiled display

307 Megapixels38400 x 8000 pixel resolution

Dell 30” LCD

Page 19: Advanced Scientific Visualization

Displaying Data

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

Stallion – 307 Mpixel (38400 x 8000)

NASA Blue Marble0.5 km2 per pixel

3732 Mpixel(86400 x 43200)

Page 20: Advanced Scientific Visualization

What’s the solution?

Page 21: Advanced Scientific Visualization

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!

Page 22: Advanced Scientific Visualization

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

Page 23: Advanced Scientific Visualization

Old Model (No Remote Capability)

LocalVisualization

Resource

LocalVisualization

Resource

HPCSystem

HPCSystem

DataArchive

DataArchive

Pix

els

Pix

els

Mou

se

Mou

se

DisplayDisplay

Remote SiteRemote SiteWide-AreaNetwork

Wide-AreaNetwork Local SiteLocal Site

Page 24: Advanced Scientific Visualization

New ModelRemote Capability

Large-ScaleVisualization

Resource

Large-ScaleVisualization

Resource

HPCSystem

HPCSystem

DataArchive

DataArchive

DisplayDisplay

Remote SiteRemote SiteWide-AreaNetwork

Wide-AreaNetwork Local SiteLocal Site

PixelsPixels

MouseMouse

Page 25: Advanced Scientific Visualization

Spur / Ranger topology

spurspur

login3.rangerlogin3.ranger

Login NodesLogin Nodes

login4.rangerlogin4.ranger

Compute NodesCompute Nodes

Vis nodesivis[1-7|big]

Vis nodesivis[1-7|big]

HPC nodesixxx-xxx

HPC nodesixxx-xxx

visqueuevis

queue

normaldevelopment

<etc>queues

normaldevelopment

<etc>queues

File SystemFile System

$HOME

$HOME

$WORK

$WORK

$SCRATCH

$SCRATCH

Page 26: Advanced Scientific Visualization

Parallel Visualization– Task parallelism – passing results to 1 process for

rendering

1 2 3 4 5

1 Read file 1 Isosurface 1 Cut Plane 1

2 Read file 2 Streamlines 2 Render

3 Read file 3 Triangulate 3 Decimate 3 Glyph 3

Timesteps

Pro

cess

es

Page 27: Advanced Scientific Visualization

Parallel Visualization

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

1 2 3 4 5

1 Read file 1 Read file 2 Read File 3

2 Isosurface 1 Isosurface 2 Isosurface 3

3 Render 1 Render 2 Render 3

Timesteps

Pro

cess

es

Page 28: Advanced Scientific Visualization

Parallel VisualizationData 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.

1 2 3

1 Read partition 1

Isosurface partition 1

Render partition 1

2 Read partition 2

Isosurface partition 2

Render partition 2

3 Read partition 3

Isosurface partition 2

Render partition 3

TimestepsP

roce

sses

Page 29: Advanced Scientific Visualization

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

Page 30: Advanced Scientific Visualization

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)

Page 31: Advanced Scientific Visualization

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

Page 32: Advanced Scientific Visualization

GPU layout

Image: Tom Halfhill, Microprocessor Report

Page 33: Advanced Scientific Visualization

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

Page 34: Advanced Scientific Visualization

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

Page 35: Advanced Scientific Visualization

Obrigado!

[email protected]