Co-‑visualiza+on ¡of ¡full ¡data ¡and ¡in ¡situ ¡data ¡ extracts ¡from ¡unstructured ¡grid ¡CFD ¡ ¡ @ ¡160K ¡cores ¡ M. ¡Rasquin 1 , ¡P. ¡Marion 2 , ¡V. ¡Vishwanath 3 , ¡B. ¡MaJhews 1,4 , ¡ ¡ R. ¡Loy 3 , ¡A. ¡Bauer 2 , ¡M. ¡Zhou 4 , ¡O. ¡Sahni 4 , ¡ ¡ J. ¡Fu 4 , ¡N. ¡Liu 4 , ¡C. ¡Carothers 4 , ¡M. ¡Shephard 4 , ¡ ¡ M. ¡Hereld 3 , ¡M. ¡Papka 3 , ¡K. ¡Kumaran 3 , ¡ ¡ B. ¡Geveci 2 , ¡K. ¡Jansen 1,4 ¡ ¡ 1 ¡University ¡of ¡Colorado, ¡Boulder, ¡CO ¡ 2 ¡Kitware ¡Inc., ¡Cli<on ¡Park, ¡NY ¡ 3 ¡ Argonne ¡NaDonal ¡Laboratory, ¡Argonne, ¡IL ¡ 4 ¡Rensselaer ¡Polytechnic ¡InsDtute, ¡Troy, ¡NY ¡
Mo+va+on ¡-‑ ¡Outline ¡ • Massively ¡parallel ¡solvers ¡create ¡data ¡at ¡ever ¡ increasing ¡rates ¡ • Our ¡ability ¡to ¡write, ¡store, ¡and ¡process ¡the ¡data ¡has ¡ not ¡kept ¡pace ¡ • Co-‑visualiza+on ¡seeks ¡to ¡resolve ¡this ¡dilemma ¡ • Key ¡components ¡must ¡be ¡carefully ¡combined ¡ • Solver: ¡PHASTA ¡CFD ¡solver ¡ • Visualiza+on ¡tools: ¡Paraview ¡Coprocessing ¡library, ¡ pvserver, ¡and ¡client ¡GUI ¡ • I/O ¡Accelera+on: ¡GLEAN ¡ ¡ • Hardware: ¡Argonne ¡ALCF ¡(Intrepid/Eureka) ¡ ¡ 2
Live ¡data ¡visualiza+on ¡strategies ¡ • Classical ¡Co-‑Vis ¡(CCV): ¡ ¡ ¡ ¡ ¡Simula+on ¡data ¡is ¡sent ¡to ¡pvserver ¡unfiltered, ¡ ¡ ¡ ¡pvserver ¡applies ¡filters ¡and ¡renders ¡on ¡vis ¡cluster ¡ ¡ • In-‑situ ¡data ¡extracts ¡(ISDE): ¡ ¡ ¡Filters ¡process ¡simula+on ¡data ¡on ¡supercomputer, ¡ ¡ ¡ ¡send ¡extracts ¡to ¡pvserver ¡for ¡rendering ¡on ¡vis ¡cluster ¡ • Data ¡transfer ¡between ¡supercomputer ¡and ¡vis ¡cluster: ¡ -‑ ¡VTK ¡Sockets: ¡CCVS ¡or ¡ISDES ¡ -‑ ¡GLEAN: ¡CCVG ¡or ¡ISDEG ¡ 3
PHASTA ¡CFD ¡solver ¡ • Parallel ¡Hierarchic ¡Adap+ve ¡Stabilized ¡Transient ¡ Analysis ¡ • Models ¡compressible ¡or ¡incompressible, ¡Laminar ¡or ¡ ¡ ¡ ¡ ¡turbulent, ¡steady ¡or ¡unsteady ¡flows ¡ • 3D ¡finite ¡elements ¡discre+za+on ¡in ¡space ¡and ¡fully ¡ implicit ¡in ¡+me ¡ • Used ¡to ¡model ¡air ¡flow ¡over ¡airplane ¡wing, ¡blood ¡ flow, ¡two ¡phase ¡flow, ¡etc ¡ • Scaled ¡to ¡288K ¡cores ¡(JUGENE ¡-‑ ¡SC09) ¡ 4
Analysis ¡challenges ¡posed ¡by ¡PHASTA ¡scien+sts ¡ • A ¡ “ window ¡to ¡the ¡simula+on ” ¡to ¡understand ¡state ¡ and ¡progress ¡ • Extract ¡con+nuous ¡and ¡reconfigurable ¡insight ¡from ¡ massively ¡parallel ¡simula+ons ¡ • Enable ¡interac+ve ¡simula+on ¡/ ¡simula+on ¡steering ¡ • Reduce ¡the ¡data ¡being ¡wriJen ¡to ¡storage ¡ 5
What ¡is ¡the ¡ParaView ¡Coprocessing ¡Library? ¡ # ¡Create ¡the ¡reader ¡and ¡set ¡the ¡filename. ¡ ¡ reader ¡= ¡servermanager.sources.Reader(FileNames=path) ¡ Augmented view ¡= ¡servermanager.CreateRenderView() ¡ repr ¡= ¡servermanager.CreateRepresenta+on(reader, ¡view) ¡ reader.UpdatePipeline() ¡ script in dataInfo ¡= ¡reader.GetDataInforma+on() ¡ Script Export pDinfo ¡= ¡dataInfo.GetPointDataInforma+on() ¡ input deck PHASTA Simulation arrayInfo ¡= ¡pDInfo.GetArrayInforma+on("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" ¡ ParaView ¡ ¡repr.ColorAJributeType ¡= ¡"POINT_DATA" ¡ Coprocessing Output Processed Data Statistics Series Data Polygonal Output with Field Data Rendered Images 6
Run-‑Time ¡visualiza+on ¡with ¡PHASTA ¡ Supercompu)ng ¡Facility ¡ Home ¡Ins)tu)on ¡ Home ¡Ins)tu)on ¡ Worksta+on ¡ Compute ¡resource ¡ Vis ¡Cluster ¡ VTK ¡sockets ¡ VNC ¡ or ¡GLEAN ¡ ParaView ¡ PHASTA ¡+ ¡ ParaView ¡ client ¡ Coprocessors ¡ server ¡ • PHASTA ¡simula+on ¡running ¡on ¡160K ¡cores ¡of ¡Intrepid ¡BG/P ¡ • ParaView ¡server ¡running ¡on ¡up ¡to ¡100 ¡Eureka ¡nodes ¡(800 ¡cores) ¡ • ParaView ¡client ¡running ¡on ¡Eureka ¡head ¡node ¡and ¡accessible ¡via ¡VNC ¡ ¡ • VTK ¡sockets ¡or ¡GLEAN ¡for ¡data ¡transfer ¡between ¡Intrepid ¡and ¡Eureka ¡ 7
Procedure ¡ • Start ¡simula+on ¡+ ¡coprocessor ¡on ¡supercomputer ¡ 8
Procedure ¡ • Start ¡ParaView ¡server ¡(pvserver) ¡on ¡vis ¡cluster ¡ 9
Procedure ¡ • Launch ¡ParaView ¡client, ¡connect ¡to ¡pvserver ¡ 10
Procedure ¡ • Create ¡Live ¡Data ¡Source ¡filter ¡ • pvserver ¡now ¡communicates ¡with ¡the ¡coprocessor ¡ 11
Procedure ¡ • Create ¡Live ¡Data ¡Source ¡filter ¡ • pvserver ¡now ¡communicates ¡with ¡the ¡coprocessor ¡ 12
Procedure ¡ • Create ¡Live ¡Data ¡Source ¡filter ¡ • pvserver ¡now ¡communicates ¡with ¡the ¡coprocessor ¡ Allows interactivity 13
Resources ¡-‑ ¡ALCF ¡ 14
Problem ¡Descrip+on ¡ tip • CFD simulation with PHASTA • Active flow control applied to a NACA wing profile 30º 9º • Finite ¡wing ¡ ¡ • Angle ¡of ¡aJack ¡ α = ¡9 0 ¡ • Swept ¡angle ¡30 0 ¡ • Re ¡= ¡100,000 ¡ • Synthe+c ¡jet ¡with ¡blowing ¡ ¡ ¡ coefficient ¡C b ¡= ¡1.2 ¡and ¡ f act ¡ = ¡1,750Hz ¡ 15
Problem ¡Descrip+on ¡ Flow control applied to a NACA wing profile (3.3 Billion elements) Cut plane through a synthetic jet Isosurface of vertical velocity colored by and velocity magnitude velocity magnitude near the slit of a synthetic jet 16
Covis ¡Demonstra+on ¡ Terminal VNC viewer 17
Data ¡Reduc+on ¡ Compute ¡resource ¡ Vis ¡cluster ¡ ¡ Filter ¡ Filter ¡ ¡ PHASTA ¡ Aggreg. ¡ Transfer ¡ Render ¡ (ISDE) ¡ (CCV) ¡ N sim ¡ N sim ¡ N agg ¡ m sockets ¡ n pvserver ¡ • N sim ¡≥ ¡N agg ¡≥ ¡ ¡m sockets ¡≥ ¡n pvserver ¡ • N sim ¡= ¡160K; ¡N agg ¡ ¡ = ¡m sockets ; ¡npvserver ¡ ∈ ¡[5 ¡-‑ ¡800] ¡ Laptop ¡ ¡ • if ¡N agg ¡increases, ¡-‑ ¡reduc+on ¡in ¡layers ¡of ¡aggrega+on ¡ GUI ¡ client ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡-‑ ¡but ¡more ¡and ¡more ¡smaller ¡packets ¡ 1 • Possible ¡issue: ¡-‑ ¡aggrega+on ¡can ¡overflow ¡core ¡memory ¡ ¡ ¡ ¡ ¡ ¡-‑ ¡limita+on ¡in ¡the ¡number ¡of ¡sockets ¡open ¡ 18
Scenario ¡1: ¡In ¡Situ ¡Data ¡Extract ¡ Compute ¡resource ¡ Vis ¡cluster ¡ ¡ PHASTA ¡ Filter ¡ Aggreg. ¡ Transfer ¡ Render ¡ N sim ¡ N sim ¡ N agg ¡ m sockets ¡ n pvserver ¡ • Computa+on ¡monitoring ¡or ¡steering ¡ • Mainly ¡interested ¡in ¡streaming ¡a ¡live ¡filter ¡pipeline’s ¡evolu+on ¡ ¡ Laptop ¡ ¡ in ¡+me ¡(not ¡replaying ¡different ¡filters ¡on ¡a ¡given ¡+me ¡window) ¡ GUI ¡ client ¡ • Size ¡of ¡the ¡data ¡extract ¡limited ¡(data ¡compression ¡realized) ¡ 1 • In ¡Situ ¡Data ¡Extract ¡likely ¡to ¡provide ¡the ¡lowest ¡tax ¡on ¡the ¡solver ¡ 19
Demonstra+on ¡– ¡In ¡Situ ¡Data ¡Extract ¡ 20
Demonstra+on ¡– ¡In ¡Situ ¡Data ¡Extract ¡ 21
Scenario ¡2: ¡Classical ¡CoVis ¡ Compute ¡resource ¡ Vis ¡cluster ¡ ¡ PHASTA ¡ Aggreg. ¡ Transfer ¡ Filter ¡ Render ¡ N sim ¡ N agg ¡ m sockets ¡ n pvserver ¡ • Deep ¡analysis ¡of ¡a ¡simula+on ¡in ¡given ¡+me ¡window ¡ • Capacity ¡to ¡roll ¡forward ¡and ¡backward ¡in ¡+me, ¡changing ¡filters ¡ Laptop ¡ ¡ • Uncertainty ¡on ¡the ¡filters ¡needed ¡ GUI ¡ client ¡ • Size ¡of ¡the ¡data ¡extract ¡significant ¡compared ¡to ¡the ¡size ¡of ¡the ¡ solu+on ¡itself ¡ 1 • Poorly ¡scalable ¡filter ¡(par+cle ¡tracer) ¡ 22
Recommend
More recommend