Wael Elwasif ORNL/IU Fusion Frameworks Workshop 1 Integrating Fusion Codes Using CCA – an ORNL LDRD Project Wael R. Elwasif & Lee Berry Computer Science.

Slides:



Advertisements
Similar presentations
Current Progress on the CCA Groundwater Modeling Framework Bruce Palmer, Yilin Fang, Vidhya Gurumoorthi, Computational Sciences and Mathematics Division.
Advertisements

SWIM WEB PORTAL by Dipti Aswath SWIM Meeting ORNL Oct 15-17, 2007.
Scientific Programming MAIN INPUTINITCOMPUTEOUTPUT SOLVER DERIV FUNC2 TABUL FUNC1 STATIC BLASLAPACKMEMLIB.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
C++ Programming: From Problem Analysis to Program Design, Second Edition Chapter 6: User-Defined Functions I.
Chapter 6: User-Defined Functions I
Large-Scale Density Functional Calculations James E. Raynolds, College of Nanoscale Science and Engineering Lenore R. Mullin, College of Computing and.
Introduction To C++ Programming 1.0 Basic C++ Program Structure 2.0 Program Control 3.0 Array And Structures 4.0 Function 5.0 Pointer 6.0 Secure Programming.
UNIT-V The MVC architecture and Struts Framework.
Power Extraction Research Using a Full Fusion Nuclear Environment G. L. Yoder, Jr. Y. K. M. Peng Oak Ridge National Laboratory Oak Ridge, TN Presentation.
UML - Development Process 1 Software Development Process Using UML (2)
Center for Component Technology for Terascale Simulation Software 122 June 2002Workshop on Performance Optimization via High Level Languages and Libraries.
GLAST Science Support CenterAugust 9, 2004 Implementation of the Standard Analysis Environment (SAE) James Peachey (HEASARC/GLAST SSC—GSFC/L3)
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Trilinos Software Engineering Technologies.
Chapter 2 The process Process, Methods, and Tools
CCA Port, Component & Application Build Skeleton Templates “A new script toolkit for generating CCA build skeletons” Torsten Wilde and James Kohl Oak Ridge.
Metadata Creation with the Earth System Modeling Framework Ryan O’Kuinghttons – NESII/CIRES/NOAA Kathy Saint – NESII/CSG July 22, 2014.
The SWIM Fast MHD Campaign Presented by S. C. Jardin Princeton Plasma Physics Laboratory P.O. Box 451 Princeton, NJ Simulation of Wave Interaction.
A Hybrid Decomposition Scheme for Building Scientific Workflows Wei Lu Indiana University.
Service-enabling Legacy Applications for the GENIE Project Sofia Panagiotidi, Jeremy Cohen, John Darlington, Marko Krznarić and Eleftheria Katsiri.
Victor Eijkhout and Erika Fuentes, ICL, University of Tennessee SuperComputing 2003 A Proposed Standard for Numerical Metadata.
CcaEcloud Phase I Wrap-up Phase I Doe SBIR Stefan Muszala, PI DOE Grant No DE-FG02-08ER85152 Tech-X Corporation Boulder, CO Updates: onRamp, FACETS+Babel,
CCA Common Component Architecture CCA Forum Tutorial Working Group Welcome to the Common.
Presented by High Productivity Language and Systems: Next Generation Petascale Programming Wael R. Elwasif, David E. Bernholdt, and Robert J. Harrison.
CCA Common Component Architecture CCA Forum Tutorial Working Group Welcome to the Common.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
The use of modeling frameworks to facilitate interoperability Cecelia DeLuca/NCAR (ESMF) Bill Putman/NASA GSFC (MAPL) David Neckels/NCAR.
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
TESTBED FOR FUTURE INTERNET SERVICES TEFIS at the EU-Canada Future Internet Workshop, March Annika Sällström – Botnia Living Lab at Centre for.
CESM/ESMF Progress Report Mariana Vertenstein NCAR Earth System Laboratory CESM Software Engineering Group (CSEG) NCAR is sponsored by the National Science.
Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting.
The european ITM Task Force data structure F. Imbeaux.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Earth System Modeling Framework Status Cecelia DeLuca NOAA Cooperative Institute for Research in Environmental Sciences University of Colorado, Boulder.
Presented by An Overview of the Common Component Architecture (CCA) The CCA Forum and the Center for Technology for Advanced Scientific Component Software.
NIH Resource for Biomolecular Modeling and Bioinformatics Beckman Institute, UIUC NAMD Development Goals L.V. (Sanjay) Kale Professor.
TRANSP users meeting Agenda 1.TRANSP development in 2010/2011, user’s suggestions to facilitate/accelerate TRANSP submissions. 2.TRANSP work:
Scott Kohn with Tammy Dahlgren, Tom Epperly, and Gary Kumfert Center for Applied Scientific Computing Lawrence Livermore National Laboratory October 2,
Update on the CCA Groundwater Simulation Framework: the BOCCA Experience Bruce Palmer, Yilin Fang, Vidhya Gurumoorthi, James Fort, Tim Scheibe Computational.
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
GDB Meeting - 10 June 2003 ATLAS Offline Software David R. Quarrie Lawrence Berkeley National Laboratory
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
Distributed Components for Integrating Large- Scale High Performance Computing Applications Nanbor Wang, Roopa Pundaleeka and Johan Carlsson
Connections to Other Packages The Cactus Team Albert Einstein Institute
1 1 Office of Science Jean-Luc Vay Accelerator Technology & Applied Physics Division Lawrence Berkeley National Laboratory HEP Software Foundation Workshop,
Summary CDBM IMAGE meeting, 07 IMAGE SUMMARY IMAGE set up to provide a venue for discussion between the different Integrated Modelling (IM) activities.
“NanoElectronics Modeling tool – NEMO5” Jean Michel D. Sellier Purdue University.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
STL CSSE 250 Susan Reeder. What is the STL? Standard Template Library Standard C++ Library is an extensible framework which contains components for Language.
Paul Alexander 2 nd SKADS Workshop October 2007 SKA and SKADS Costing The Future Paul Alexander Andrew Faulkner, Rosie Bolton.
ERMITAGE Meeting (UEA) Sudipta Goswami 17/11/2011.
1 Rocket Science using Charm++ at CSAR Orion Sky Lawlor 2003/10/21.
Presented by The Harness Workbench: Unified and Adaptive Access to Diverse HPC Platforms Christian Engelmann Computer Science Research Group Computer Science.
Center for Component Technology for Terascale Simulation Software (CCTTSS) 110 April 2002CCA Forum, Townsend, TN CCA Status, Code Walkthroughs, and Demonstrations.
David Adams ATLAS ATLAS Distributed Analysis (ADA) David Adams BNL December 5, 2003 ATLAS software workshop CERN.
Toward a Distributed and Parallel High Performance Computing Environment Johan Carlsson and Nanbor Wang Tech-X Corporation Boulder,
Center for Component Technology for Terascale Simulation Software (CCTTSS) 110 April 2002CCA Forum, Townsend, TN This work has been sponsored by the Mathematics,
1/30/2003 Los Alamos National Laboratory1 A Migration Framework for Legacy Scientific Applications  Current tendency: monolithic architectures large,
TEMPLATE DESIGN © H. Che 2, E. D’Azevedo 1, M. Sekachev 3, K. Wong 3 1 Oak Ridge National Laboratory, 2 Chinese University.
“Port Monitor”: progress & open questions Torsten Wilde and James Kohl Oak Ridge National Laboratory CCA Forum Quarterly Meeting Santa Fe, NM ~ October.
CST 1101 Problem Solving Using Computers
Types for Programs and Proofs
Towards a CTA high-level science analysis framework
Spyridon (Spyros) Mastorakis University of California, Los Angeles
Designing Software for Ease of Extension and Contraction
GENERAL VIEW OF KRATOS MULTIPHYSICS
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
Constructing MDA-based Application Using Rational XDE for .NET
Presentation transcript:

Wael Elwasif ORNL/IU Fusion Frameworks Workshop 1 Integrating Fusion Codes Using CCA – an ORNL LDRD Project Wael R. Elwasif & Lee Berry Computer Science & Fusion Energy Division Mathematics Division Oak Ridge National Laboratory

Wael ElwasifORNL/IU Fusion Frameworks Workshop2 Project Goals Gain experience in using CCA components for integrated plasma simulation. Explore code integration issues: Interface Development. Data Coupling. Have model sufficiently complex to understand weaknesses/strengths of CCA. But have it fit within a two year, ~1.5 FTE/year effort.

Wael ElwasifORNL/IU Fusion Frameworks Workshop3 Project Members - Fusion Lee Berry Overall coordination, driver development, integration, design. Wayne Houlberg NTCC-like routines for calculations metrics from eqdsk files, advancing ion densities, and advancing electron and ion energy. Fred Jaeger Implementations of AORSA and routines for brining in equilibrium, plasma profiles into the form needed for AORSA

Wael ElwasifORNL/IU Fusion Frameworks Workshop4 Project Members – Computer Science & Mathematics Wael Elwasif: Build system, CVS, implementation strategies assistance, component infrastructure. James Kohl: State component, Visualization development. David Bernhardt: CS coordination. Ed D’Azevedo: Development of iterative AORSA algorithm.

Wael ElwasifORNL/IU Fusion Frameworks Workshop5 Prototype Components Physics Equilibrium – based on EFIT (F95). RF Heating – based on AORSA (F95). Transport (F95). Driver Overall time stepping and coordination (Python). State Repository (C++). Data couplers and transforms (F95).

Wael ElwasifORNL/IU Fusion Frameworks Workshop6 The Physics Solving a model problem (nothing new vis-à-vis fusion). Couple together codes for: Equilibrium – using EQDSK files. Transport – code from Wayne Houlberg. RF - AORSA2D (All Orders Spectral Algorithm) – code from Fred Jaeger.

Wael ElwasifORNL/IU Fusion Frameworks Workshop7 Code Status Pre-integration Stand alone codes. File-based control and input/output. Code-specific pre-processing (e.g. Coordinate translation and re-griding). Implemented in F95, with some language-specific features (e.g. optional arguments).

Wael ElwasifORNL/IU Fusion Frameworks Workshop8 Implementation Strategy Getting everybody to know what CCA is, and how to use available tools (especially Babel/SIDL). Initial interface specification (keeping it intentionally high level). Getting a working component application (that doesn’t do much). Repeat: Refine interfaces and update implementation. Add new capabilities (e.g. remove dependency on input files).

Wael ElwasifORNL/IU Fusion Frameworks Workshop9 Prototype Components: Physics Driver Physics Data Transform State

Wael ElwasifORNL/IU Fusion Frameworks Workshop10 The Physics: Transport interface Xport extends gov.cca.Port { int init( in string DATA_PATH, out string init_xp_message, out int i_flag, … … … ); /// Advance density equation int pushN( in double time, in double dt, in array k_nbc_i, … … … ); /// Advance temperature equation int pushT( in double time, in double dt, in double tebc, … … … ); } DATA_PATH set by driver. Interface evolved over project duration. Implementation wrapped existing F95 module (with one-to-one correspondence). Mapping between SIDL arrays and native F95 arrays was the most “challenging” aspect.

Wael ElwasifORNL/IU Fusion Frameworks Workshop11 The Physics: RF & Equilibrium interface RF extends gov.cca.Port { /// Get RF heating parameters int getRF( in string DATA_PATH, in double time, in double power, out string rf_message, in int k_grid ); } DATA_PATH set by driver. RF: Implementation wrapped re-factored AORSA2d core). Equilibrium: Uses EQDSK file. Updates the equilibrium part of the state interface Eql extends gov.cca.Port { /// Get equilibrium parameters int getEql( in string DATA_PATH, in string file_name, in double eq_time, out string eq_message ); }

Wael ElwasifORNL/IU Fusion Frameworks Workshop12 Prototype Components: State Driver Physics Data Transform State

Wael ElwasifORNL/IU Fusion Frameworks Workshop13 The PlasmaState Component interface EQState extends gov.cca.Port{ int initEQ( in int nx_xy, in int ny_xy, … … … ); } // End interface EQState interface RFState extends gov.cca.Port { int initRF( in int n_rgrid, in int n_zgrid, … … … ); } interface XPState extends gov.cca.Port { int initXport( in int n_r, in int n_I ); } One component implements state repository for Transport, Equilibrium, and RF. In-memory data repository. Allow centralization of data archiving, checkpointing, and restart. No data transform within the state component. Data exchange between physics components happens through the state, or the driver (no direct coupling).

Wael ElwasifORNL/IU Fusion Frameworks Workshop14 Prototype Components: Data Couplers Driver Physics Data Transform State

Wael ElwasifORNL/IU Fusion Frameworks Workshop15 The Need for Data Couplers Data consumers adapt “raw” data to their specific requirements (coordinate transforms, and re-gridding). Separate this preprocessing stage into stand alone components. NOT VERY SCALABLE. Future goal: Evolve towards generalized (centralized) data transforms with controllable mathematical properties.

Wael ElwasifORNL/IU Fusion Frameworks Workshop16 Prototype Components: Driver Driver Physics Data Transform State

Wael ElwasifORNL/IU Fusion Frameworks Workshop17 The Driver Component The “brains” of the overall simulation. RAD using Python enables speedy experimentation, parameter tuning, and quick on-line visualization. Can be quite complex. Using Python allows easy access to high level matrix operations via the numeric python module – whenever it makes sense.

Wael ElwasifORNL/IU Fusion Frameworks Workshop18 Coupled Simulation: It actually Works!!!

Wael ElwasifORNL/IU Fusion Frameworks Workshop19 Implementation Issues: THE BUILD Adopted from CCA template used in CCA tutorial. Was adequate for the scale and scope of this project Scaling to accommodate more components with varying “native” build systems is still an issue. Needed tweaking when deployed to different Linux platforms (compilers, location of “legacy” libraries). Legacy libraries build system changed as well.

Wael ElwasifORNL/IU Fusion Frameworks Workshop20 Implementation Issues: CVS Initially used only for the components. Extended to include a snapshot of the legacy codes. Legacy codes re-factored (change into libraries, streamline file access). Question: How to manage continuous parallel development of legacy codes and integration?

Wael ElwasifORNL/IU Fusion Frameworks Workshop21 Lessons Learned “Throwing over the fence” does NOT work. Interface development was “easy”: We control everything. The build system is VERY important. Language interoperability using Babel makes things possible, but not necessarily easy. Incorporating independently developed F95 codes into a single application has its own pitfalls (e.g. compiler flags for code correctness). Integration exercises codes in unforeseen ways (bugs found in established codes).

Wael ElwasifORNL/IU Fusion Frameworks Workshop22 Future Plans Next four months. Implement iterative RF module with time varying densities. Use HDF5 as back-end for the state component. Run on the Altix at ORNL.