Scala calabilit bility of of Par araview iew’s 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 managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed CUG 2011 Martin Corporation, for the U.S. Department of Golden Nuggets of Discovery Energy's National Nuclear Security Administration SAND 2011-3226C under contract DE-AC04-94AL85000.
What is ParaView CUG 2011 Golden Nuggets of Discovery
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
ParaView Application Architecture ParaView Client pvpython Coprocessing Qt Controls Python Wrappings ParaView Server Parallel Abstractions and Controls VTK Core Visualization Algorithms CUG 2011 Golden Nuggets of Discovery
Traditional Visualization Workflow is Breaking Down #!!! OA,,3.A0#%V"& Q.++6B0#%V"# #!! *+,-./,0123,-2.405-6+,0*77,8809.3,0:;<=3,8>8,7? R43-.83.-0'LJTU Solver ¡ R43-.83.-0#(TU R43-.83.-0*'V#!!! R43-.83.-0#(SQ #! QD63C6-, Full ¡Mesh ¡ LL(! LL$! LL'! LL%! Disk ¡ # LLL! Storage ¡ )L#P )L## !"# Visualiza2on ¡ @A,0-.3,0BC0D,-CB-E.27, 6ED-B+,E,2306208FD,-7BEDF362/ 9*;*O !"!# 120#$%&01<;0D-BHF7,H03A, 8=83,E8G0.80E,.8F-,H0I= C6-8307BEDF3,-03B06274FH,0. J62D.7KG08627,0#$$L0M;,F,-G0)!!(N" H68K0H-6+," !"!!# #$%! #$&! #$'! #$(! #$$! )!!! )!#! CUG 2011 Image from Rob Ross, Golden Nuggets of Discovery Argonne National Laboratory
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.” CUG 2011 Golden Nuggets of Discovery
What is the ParaView Coprocessing Library? Simulation ParaView Coprocessing CUG 2011 Golden Nuggets of Discovery
What is the ParaView Coprocessing Library? Simulation ParaView Coprocessing Output Processed Data Rendered Images CUG 2011 Golden Nuggets of Discovery
What is the ParaView Coprocessing Library? Simulation ParaView Coprocessing Output Processed Data Polygonal Output with Field Data Rendered Images CUG 2011 Golden Nuggets of Discovery
What is the ParaView Coprocessing Library? Simulation ParaView Coprocessing Output Processed Data Polygonal Output with Field Data Statistics Series Data Rendered Images CUG 2011 Golden Nuggets of Discovery
What is the ParaView Coprocessing Library? # Create the reader and set the filename. Simulation reader = servermanager.sources.Reader(FileNames=path) view = servermanager.CreateRenderView() repr = servermanager.CreateRepresentation(reader, view) Augmented reader.UpdatePipeline() dataInfo = reader.GetDataInformation() script in input pDinfo = dataInfo.GetPointDataInformation() Script Export arrayInfo = pDInfo.GetArrayInformation("displacement9") deck. if arrayInfo: # get the range for the magnitude of displacement9 range = arrayInfo.GetComponentRange(-1) ParaView 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" Coprocessing repr.LookupTable = lut repr.ColorArrayName = "displacement9" repr.ColorAttributeType = "POINT_DATA" Output Processed Data Polygonal Output with Field Data Statistics Series Data Rendered Images CUG 2011 Golden Nuggets of Discovery
What is the ParaView Coprocessing Library? CUG 2011 Golden Nuggets of Discovery
Solid Scaling Performance 0.1 0.5 Decimate Time (sec) Slice Time (sec) 0.08 0.4 0.06 0.3 0.04 0.2 0.02 0.1 0 0 0 10000 20000 30000 40000 0 10000 20000 30000 40000 Cores Cores CUG 2011 Golden Nuggets of Discovery
Coprocessing Library ParaView ¡ Solver ¡ Server ¡ Coprocessing ¡ function function calls Adaptor ¡ calls API ¡ I NITIALIZE () A DD P IPELINE (in pipeline ) R EQUEST D ATA D ESCRIPTION (in time , out fields ) C O P ROCESS (in vtkDataSet ) F INALIZE () CUG 2011 Golden Nuggets of Discovery
CTH Example of 2D AMR image courtesy Wikimedia commons Fragment detection in a simulation of an exploding pipe CUG 2011 Golden Nuggets of Discovery
Water tight surfaces CUG 2011 Golden Nuggets of Discovery
Memory Limits • CTH often runs using most available memory • Very little room for ParaView image courtesy • Solution: Wikimedia commons • Wrap existing VTK array • Maps VTK index to CTH index • Shallow copy the data CUG 2011 Golden Nuggets of Discovery
ParaView Streaming http://www.kitware.com/products/html/MultiResolutionStreamingInVTKAndParaView.html CUG 2011 Golden Nuggets of Discovery
Semi-Strong Scaling 250 Refinement Depth 4 Refinement Depth 5 Refinement Depth 6 200 Blocks per Core 150 100 50 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 Cores CUG 2011 Golden Nuggets of Discovery
Low end Scaling 250 30 Refinement Depth 4 Refinement Depth 4 Refinement Depth 5 Refinement Depth 5 Refinement Depth 6 Refinement Depth 6 25 200 Blocks per Core 20 150 Seconds 15 100 10 50 5 0 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 0 500 1000 1500 2000 2500 3000 3500 4000 4500 Cores Cores Redsky CUG 2011 Golden Nuggets of Discovery
High end Scaling 400 90 Refinement Depth 6 Refinement Depth 6 Refinement Depth 7 Refinement Depth 7 350 80 70 300 Blocks per Core 60 250 Seconds 50 200 40 150 30 100 20 50 10 0 0 5000 10000 15000 20000 25000 30000 35000 0 5000 10000 15000 20000 25000 30000 35000 Cores Cores Cielo CUG 2011 Golden Nuggets of Discovery
Live Data to Vis nodes CUG 2011 Golden Nuggets of Discovery
Recommend
More recommend