130 likes | 288 Views
Sierra Toolkit update. Alan Williams Sierra Toolkit Team Simulation Modeling Science Org 1543 Review & Approval: SAND2013-9539C.
E N D
Sierra Toolkit update Alan Williams Sierra Toolkit Team Simulation Modeling Science Org 1543 Review & Approval: SAND2013-9539C 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’sNational Nuclear Security Administration under contract DE-AC04-94AL85000.
Sierra Toolkit update • FY12,13: Early adoption & vetting of STK Mesh • Low Mach was re-written on STK (Nalu) • Drove design/performance at scale • FY12 L2 milestone • FY14: Sierra Apps continuing transition to STK • Gas Dynamics (Conchas) • Not yet complete but well underway • Solid Mechanics (Presto/Adagio) next • Focus will be on performance • Fire, Thermal Mechanics (Fuego/Aria) to follow
STK components getting attention now • STK Mesh • STK IO • STK Search • STK Fields
STK Mesh – version2 • High level design • provides sub-setting capability (parts) • provides connectivity • Much of Fy13 was spent on mesh upgrade activity • Entity as an index, to be used to index into Fields • Revised connectivity API, storage • Optional upward connectivity to save memory • E.g. edge-based nalu problems do not need Edge->Element connectivity • Node->Element connectivity is mandatory, allows any type of upward connectivity to be computed if it is not stored
STK Mesh Upgrade - Performance Tests (from Stefan): edgeDrivenCavity elemDrivenCavity 3d_20x20x20.g 3d_40x40x40.g
STK Mesh Optional Upward Connectivity • Test to quantify memory savings when some upward connectivity is not stored • NaluedgeOpenJet weak scaling • 91,240 elements per proc • Connectivity changes:
STK Mesh Optional Upward Connectivity Graph shows Ratio of Optional Connectivity to Full Connectivity (Run-time, total memory high-water, connectivity memory high-water)
STK IO • High level design • Separated out dependency on STK Mesh • STK_Mesh_IO = ‘glue code’ between STK Mesh/IO • STK_IO • no dependency on Mesh • Separated out dependency on Scheduler • Becoming fully functional… • Supports results, restart, history files • Use by STK-based Conchas, Nalu
STK Search • High level design • Abstraction using Boost geometry library • Uses client implemented AABB • On a path to support multiple coarse-grained (AABB overlap) searches • Seek to consolidate all Sierra search function • Use by Transfer, Sierra/GD periodic BCs, Sierra/SM contact • Becoming fully functional… • Use by STK-based Conchas
STK Fields • High level design • no dependency on Mesh, “external Fields” • Flat MD arrays • Multiple implementations w/ different data layouts • Prep for MPI+X • Kokkos arrays • Work to start ~December 2013 • Prototyping first using mini-apps
STK Manual • Continuously updated • Initial release part of Sierra v4.30 release • For review… • Internal http://sierra-trac.sandia.gov/trac/sierra/wiki/Modules/Components/STT/API • External (as part of Sierra release)
Sierra Toolkit update • STK refresh in Trilinos • Expect after External Fields work • Will be STK2, no expectation of backward compatibility