Scala calabilit bility of of Par araview iews Copr oproces - - PowerPoint PPT Presentation

scala calabilit bility of of par araview iew s copr
SMART_READER_LITE
LIVE PREVIEW

Scala calabilit bility of of Par araview iews Copr oproces - - PowerPoint PPT Presentation

Scala calabilit bility of of Par araview iews Copr oproces ocessing ing Capa pabilit bility Nathan Fabian Sandia National Laboratories, Dept. 1461 ndfabia@sandia.gov Sandia National Laboratories is a multi-program laboratory


slide-1
SLIDE 1

CUG 2011 Golden Nuggets of Discovery SAND 2011-3226C

Scala calabilit bility of

  • f Par

araview iew’s Copr

  • proces
  • cessing

ing Capa pabilit bility

Nathan Fabian Sandia National Laboratories, Dept. 1461 ndfabia@sandia.gov

Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy's National Nuclear Security Administration under contract DE-AC04-94AL85000.

slide-2
SLIDE 2

What is ParaView

CUG 2011 Golden Nuggets of Discovery

slide-3
SLIDE 3

Current ParaView Usage

  • Used by academic, government, and

commercial institutions worldwide.

– Downloaded ~3K times/month.

  • Landmarks of SNL usage:

– 6 billion structured cells (2005). – 250 million unstructured cells (2005). – Billions of AMR cells with 100’s of thousands of blocks (2008). – Scaling test over 1 Trillion structured cells (2010).

CUG 2011 Golden Nuggets of Discovery

slide-4
SLIDE 4

ParaView Application Architecture

VTK

Core Visualization Algorithms

ParaView Server

Parallel Abstractions and Controls

Qt Controls Python Wrappings ParaView Client pvpython Coprocessing

CUG 2011 Golden Nuggets of Discovery

slide-5
SLIDE 5

Traditional Visualization Workflow is Breaking Down

Image from Rob Ross, Argonne National Laboratory

!"!!# !"!# !"# # #! #!! #!!! #$%! #$&! #$'! #$(! #$$! )!!! )!#! *+,-./,0123,-2.405-6+,0*77,8809.3,0:;<=3,8>8,7? @A,0-.3,0BC0D,-CB-E.27, 6ED-B+,E,2306208FD,-7BEDF362/ 8=83,E8G0.80E,.8F-,H0I= J62D.7KG08627,0#$$L0M;,F,-G0)!!(N" 120#$%&01<;0D-BHF7,H03A, C6-8307BEDF3,-03B06274FH,0. H68K0H-6+,"

9*;*O )L## )L#P LLL! LL%! LL'! LL(! LL$! QD63C6-, R43-.83.-0#(SQ R43-.83.-0#(TU R43-.83.-0'LJTU Q.++6B0#%V"# R43-.83.-0*'V#!!! OA,,3.A0#%V"&

Solver ¡ Disk ¡ Storage ¡ Visualiza2on ¡

Full ¡Mesh ¡

CUG 2011 Golden Nuggets of Discovery

slide-6
SLIDE 6

CUG 2011 Golden Nuggets of Discovery

Cielo Tips, updated February 22, 2011 “…remember that the sweet-spot for I/O process count is maximal at 16 K, but it drops off substantially with larger numbers of procs issuing parallel I/O transfer requests.”

slide-7
SLIDE 7

Simulation ParaView Coprocessing

What is the ParaView Coprocessing Library?

CUG 2011 Golden Nuggets of Discovery

slide-8
SLIDE 8

Simulation ParaView Coprocessing

Rendered Images Output Processed Data

What is the ParaView Coprocessing Library?

CUG 2011 Golden Nuggets of Discovery

slide-9
SLIDE 9

Simulation ParaView Coprocessing

Polygonal Output with Field Data Rendered Images Output Processed Data

What is the ParaView Coprocessing Library?

CUG 2011 Golden Nuggets of Discovery

slide-10
SLIDE 10

Simulation ParaView Coprocessing

Statistics Polygonal Output with Field Data Rendered Images Output Processed Data

What is the ParaView Coprocessing Library?

Series Data

CUG 2011 Golden Nuggets of Discovery

slide-11
SLIDE 11

Simulation ParaView Coprocessing

# Create the reader and set the filename. reader = servermanager.sources.Reader(FileNames=path) view = servermanager.CreateRenderView() repr = servermanager.CreateRepresentation(reader, view) reader.UpdatePipeline() dataInfo = reader.GetDataInformation() pDinfo = dataInfo.GetPointDataInformation() arrayInfo = pDInfo.GetArrayInformation("displacement9") if arrayInfo: # get the range for the magnitude of displacement9 range = arrayInfo.GetComponentRange(-1) lut = servermanager.rendering.PVLookupTable() lut.RGBPoints = [range[0], 0.0, 0.0, 1.0, range[1], 1.0, 0.0, 0.0] lut.VectorMode = "Magnitude" repr.LookupTable = lut repr.ColorArrayName = "displacement9" repr.ColorAttributeType = "POINT_DATA"

Statistics Polygonal Output with Field Data Script Export Augmented script in input deck. Rendered Images Output Processed Data

What is the ParaView Coprocessing Library?

Series Data

CUG 2011 Golden Nuggets of Discovery

slide-12
SLIDE 12

What is the ParaView Coprocessing Library?

CUG 2011 Golden Nuggets of Discovery

slide-13
SLIDE 13

Solid Scaling Performance

0.02 0.04 0.06 0.08 0.1 10000 20000 30000 40000 Slice Time (sec) Cores 0.1 0.2 0.3 0.4 0.5 10000 20000 30000 40000 Decimate Time (sec) Cores

CUG 2011 Golden Nuggets of Discovery

slide-14
SLIDE 14

Coprocessing Library

Solver ¡ ParaView ¡ Server ¡

Coprocessing ¡ API ¡ Adaptor ¡

INITIALIZE() ADDPIPELINE(in pipeline) REQUESTDATADESCRIPTION(in time, out fields) COPROCESS(in vtkDataSet) FINALIZE()

function calls function calls

CUG 2011 Golden Nuggets of Discovery

slide-15
SLIDE 15

CTH

CUG 2011 Golden Nuggets of Discovery

Example of 2D AMR image courtesy Wikimedia commons Fragment detection in a simulation of an exploding pipe

slide-16
SLIDE 16

Water tight surfaces

CUG 2011 Golden Nuggets of Discovery

slide-17
SLIDE 17

Memory Limits

CUG 2011 Golden Nuggets of Discovery

image courtesy Wikimedia commons

  • CTH often runs using most

available memory

  • Very little room for ParaView
  • Solution:
  • Wrap existing VTK array
  • Maps VTK index to CTH

index

  • Shallow copy the data
slide-18
SLIDE 18

ParaView Streaming

CUG 2011 Golden Nuggets of Discovery

http://www.kitware.com/products/html/MultiResolutionStreamingInVTKAndParaView.html

slide-19
SLIDE 19

Semi-Strong Scaling

CUG 2011 Golden Nuggets of Discovery

50 100 150 200 250 500 1000 1500 2000 2500 3000 3500 4000 4500 Blocks per Core Cores Refinement Depth 4 Refinement Depth 5 Refinement Depth 6

slide-20
SLIDE 20

Low end Scaling

CUG 2011 Golden Nuggets of Discovery

5 10 15 20 25 30 500 1000 1500 2000 2500 3000 3500 4000 4500 Seconds Cores Refinement Depth 4 Refinement Depth 5 Refinement Depth 6 50 100 150 200 250 500 1000 1500 2000 2500 3000 3500 4000 4500 Blocks per Core Cores Refinement Depth 4 Refinement Depth 5 Refinement Depth 6

Redsky

slide-21
SLIDE 21

High end Scaling

CUG 2011 Golden Nuggets of Discovery

50 100 150 200 250 300 350 400 5000 10000 15000 20000 25000 30000 35000 Blocks per Core Cores Refinement Depth 6 Refinement Depth 7 10 20 30 40 50 60 70 80 90 5000 10000 15000 20000 25000 30000 35000 Seconds Cores Refinement Depth 6 Refinement Depth 7

Cielo

slide-22
SLIDE 22

Live Data to Vis nodes

CUG 2011 Golden Nuggets of Discovery