The Forthcoming Petascale Systems Era Got Tools?



Similar documents
Mathematical Libraries on JUQUEEN. JSC Training Course

Mathematical Libraries and Application Software on JUROPA and JUQUEEN

GridSolve: : A Seamless Bridge Between the Standard Programming Interfaces and Remote Resources

Cluster, Grid, Cloud Concepts

Introduction. 1.1 Motivation. Chapter 1

International Workshop on Field Programmable Logic and Applications, FPL '99

Unleashing the Performance Potential of GPUs for Atmospheric Dynamic Solvers

Part I Courses Syllabus

MEng, BSc Applied Computer Science

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff

The Assessment of Benchmarks Executed on Bare-Metal and Using Para-Virtualisation

ME6130 An introduction to CFD 1-1

Data Analytics at NERSC. Joaquin Correa NERSC Data and Analytics Services

Experiences of numerical simulations on a PC cluster Antti Vanne December 11, 2002

A New Unstructured Variable-Resolution Finite Element Ice Sheet Stress-Velocity Solver within the MPAS/Trilinos FELIX Dycore of PISCEES

HPC Deployment of OpenFOAM in an Industrial Setting

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

Dr. Raju Namburu Computational Sciences Campaign U.S. Army Research Laboratory. The Nation s Premier Laboratory for Land Forces UNCLASSIFIED

MEng, BSc Computer Science with Artificial Intelligence

Large-Scale Reservoir Simulation and Big Data Visualization

Depth and Excluded Courses

High Performance Computing

Fast Multipole Method for particle interactions: an open source parallel library component

LEHMAN COLLEGE OF THE CITY UNIVERSITY OF NEW YORK DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE CURRICULUM CHANGE

Chapter 13: Program Development and Programming Languages

Software Development around a Millisecond

The scalability impact of a component-based software engineering framework on a growing SAMR toolkit: a case study

The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud.

GiPSi: An Open Source/Open Architecture Software Development Framework for Surgical Simulation

P013 INTRODUCING A NEW GENERATION OF RESERVOIR SIMULATION SOFTWARE

Parallel Programming at the Exascale Era: A Case Study on Parallelizing Matrix Assembly For Unstructured Meshes

Easier - Faster - Better

HPC enabling of OpenFOAM R for CFD applications

Sourcery Overview & Virtual Machine Installation

Building Platform as a Service for Scientific Applications

The Masters in Applied & Environmental Geoscience AEG

Visualization of Adaptive Mesh Refinement Data with VisIt

ACCELERATING COMMERCIAL LINEAR DYNAMIC AND NONLINEAR IMPLICIT FEA SOFTWARE THROUGH HIGH- PERFORMANCE COMPUTING

Very special thanks to Wolfgang Gentzsch and Burak Yenier for making the UberCloud HPC Experiment possible.

1 Bull, 2011 Bull Extreme Computing

Integrated Open-Source Geophysical Processing and Visualization

How To Get A Computer Science Degree At Appalachian State

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Client/Server Computing Distributed Processing, Client/Server, and Clusters

How To Get A Computer Science Degree

Climate Models: Uncertainties due to Clouds. Joel Norris Assistant Professor of Climate and Atmospheric Sciences Scripps Institution of Oceanography

Chapter 1. Dr. Chris Irwin Davis Phone: (972) Office: ECSS CS-4337 Organization of Programming Languages

AN APPROACH FOR SECURE CLOUD COMPUTING FOR FEM SIMULATION

Performance Engineering of the Community Atmosphere Model

CLUSTER ANALYSIS WITH R

Public Domain commercial vendor specific

FDVis: the Interactive Visualization and Steering Environment for the Computational Processes Using the Finite-Difference Method

The Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets

Interactive simulation of an ash cloud of the volcano Grímsvötn

Petascale Software Challenges. William Gropp

The Top Six Advantages of CUDA-Ready Clusters. Ian Lumb Bright Evangelist

Chapter 12. Development Tools for Microcontroller Applications

Sanjeev Kumar. contribute

Cloud JPL Science Data Systems

AMS526: Numerical Analysis I (Numerical Linear Algebra)

DAME Astrophysical DAta Mining Mining & & Exploration Exploration GRID

Master s in Computational Mathematics. Faculty of Mathematics, University of Waterloo

Basin simulation for complex geological settings

Software and Performance Engineering of the Community Atmosphere Model

Introduction to grid technologies, parallel and cloud computing. Alaa Osama Allam Saida Saad Mohamed Mohamed Ibrahim Gaber

EARTH SYSTEM SCIENCE ORGANIZATION Ministry of Earth Sciences, Government of India

HPC Wales Skills Academy Course Catalogue 2015

CURRICULUM GUIDE

Core Curriculum to the Course:

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

Fall 2012 Q530. Programming for Cognitive Science

Tool Support for Inspecting the Code Quality of HPC Applications

Mission Need Statement for the Next Generation High Performance Production Computing System Project (NERSC-8)

OpenFOAM Optimization Tools

A Grid-Aware Web Interface with Advanced Service Trading for Linear Algebra Calculations

Introduction to CFD Analysis

Transcription:

Era Got Tools? Tony Drummond Computational Research Division Lawrence Berkeley National Laboratory Salishan April 21, 2005

Where are the applications? Accelerator Science Astrophysics Biology Chemistry Earth Sciences Materials Science Nanoscience Plasma Science : Commonalities: Major advancements in in Science Increasing http://acts.nersc.gov/matapps demands for computational power Rely on available computational systems, languages, and software tools

Increasing Computational Demand (Area: Atmospheric Research) Physics limits the the model s resolution, higher resolution will will require computer systems of of higher capacities TFLOPS PFLOPS

Multidisciplinary Research (Area: Climate Research) Duffy et. al., Lawrence Livermore National Laboratory Atmospheric Atmospheric general general circulation circulation model model Dynamics Dynamics Sub-grid Sub-grid scale scale parameterized parameterized physics physics processes processes Turbulence, Turbulence, solar/infrared solar/infrared radiation radiation transport, transport, clouds. clouds. Oceanic Oceanic general general circulation circulation model model Dynamics Dynamics (mostly) (mostly) Sea Sea ice ice model model Viscous Viscous elastic elastic plastic plastic dynamics dynamics Thermodynamics Thermodynamics Mathew E. Maltruda and Julie L. McClean Land Land Model Model Energy Energy and and moisture moisture budgets budgets Biology Biology Chemistry Chemistry Tracer Tracer advection, advection, possibly possibly stiff stiff rate rate equations. equations. Ocean Ocean Biology Biology

Some Computational Challenges In Climate Research Climate Models: Higher resolutions are computational demanding No-trivial load-balancing Coupling different physics, times and spatial domains (multiscaling) needs very flexible, high performance and robust tools AGCM/ACM 2.5 long x 2 lat, 30 layers 25-chemical species AGCM/ACM 2.5 long x 2 lat, 30 layers 2-chemical species

Key Lesson Learned on the Road to PetaFlop Computing.. (Software Development) "We need to move away from a coding style suited for serial machines, where every macrostep of an algorithm needs to be thought about and explicitly coded, to a higher-level style, where the compiler and library tools take care of the details. And the remarkable thing is, if we adopt this higher-level approach right now, even on today's machines, we will see immediate benefits in our productivity." W. H. Press and S. A. Teukolsky, 1997 Numerical Recipes: Does This Paradigm Have a future?

Changes in algorithms sometimes lead to several years advancement in computations. Needs Flexibility! Its performance is influenced by system parameters and in steps in the algorithm. Critical points: portability and scalability. Key Lesson Learned on the Road to PetaFlop Computing.. (Software Development) Algorithmic Implementations Application Data Layout Control Tuned and machine Dependent modules I/O New Architecture requires extensive tuning, may even require new programming paradigms. This is Difficult to maintain and not very portable.

Key Lesson Learned on the Road to PetaFlop Computing.. (Software Development) USER's APPLICATION CODE (Main Control) Compilers + Expert Drivers + Support AVAILABLE Application Data Layout LIBRARIES & PACKAGES AVAILABLE Algorithmic Implementations LIBRARIES & PACKAGES AVAILABLE I/O LIBRARIES Tuned and machine Dependent modules

Lesson = High Quality Software Reusability Scientific or engineering context Domain expertise Simulation codes Data Analysis codes General Purpose Libraries Algorithms Data Structures Code Optimization Programming Languages O/S - Compilers Hardware - Middleware - Firmware

Funded by by DOE/ASCR Lesson = High Quality Software Reusability Library Development Numerical Tools Code Development Run Time Support http://acts.nersc.gov General Purpose Libraries Algorithms Data Structures Code Optimization Programming Languages O/S - Compilers Hardware - Middleware - Firmware

Category Numerical Ax = b Az = λz A = UΣV PDEs ODEs M Code Development Code Execution Library Development T Tool AztecOO Hypre PETSc OPT++ SUNDIALS ScaLAPACK SuperLU TAO Global Arrays Overture CUMULVS Globus TAU ATLAS Functionalities Algorithms for the iterative solution of large sparse linear systems. Algorithms for the iterative solution of large sparse linear systems, intuitive grid-centric interfaces, and dynamic configuration of parameters. Tools for the solution of PDEs that require solving large-scale, sparse linear and nonlinear systems of equations. Object-oriented nonlinear optimization package. Solvers for the solution of systems of ordinary differential equations, nonlinear algebraic equations, and differential-algebraic equations. Library of high performance dense linear algebra routines for distributed-memory messagepassing. General-purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations. Large-scale optimization software, including nonlinear least squares, unconstrained minimization, bound constrained optimization, and general nonlinear optimization. Library for writing parallel programs that use large arrays distributed across processing nodes and that offers a shared-memory view of distributed arrays. Object-Oriented tools for solving computational fluid dynamics and combustion problems in complex geometries. Framework that enables programmers to incorporate fault-tolerance, interactive visualization and computational steering into existing parallel programs Services for the creation of computational Grids and tools with which applications can be developed to access the Grid. Set of tools for analyzing the performance of C, C++, Fortran and Java programs. Tools for the automatic generation of optimized numerical software for modern computer architectures and compilers.

Software Reusability What have we gained? What are the goals? min[time_to_first_solution] min[time_to_solution] (prototype) (production) Outlive Complexity Increasingly sophisticated models Model coupling Interdisciplinary Sustained Performance Increasingly complex algorithms Increasingly diverse architectures Increasingly demanding applications min[software-development-cost] max[software_life] and max[resource_utilization] (Software Evolution) (Long-term deliverables)

Minimum Requirements for Reusable High Quality Software Tools Robustness Scalable ExtensibleC Maintained across platforms Interoperable Compiler independent User Friendly Precision Interfaces Independent Well documented Error Handling Periodic Tests Check and Evaluations Pointing Long-term support Training (hands-on code!) Community support (developers, users, computer vendors, mailing lists, and user groups) Interacts with commercial software products

Minimum Requirements for Reusable High Quality Software Tools Robust Scalable (across large Petascale systems) Extensible Interoperable User Friendly Interfaces Well documented Periodic Tests and Evaluations Long-term support Training (hands-on code!) Community support (developers, users, computer vendors, mailing lists, and user groups) Interacts with commercial software products

Minimum Requirements for Reusable High Quality Software Tools Robust Scalable Extensible (New Algorithms, New Techniques) Interoperable User Friendly Interfaces Well documented Periodic Tests and Evaluations Long-term support Training (hands-on code!) Community support (developers, users, computer vendors, mailing lists, and user groups) Interacts with commercial software products

Minimum Requirements for Reusable High Quality Software Tools Robust Scalable Extensible Interoperable Frameworks/PSE User Friendly Interfaces Tool-to-Tool Well documented Component Technology Periodic Tests and Evaluations More Flexible Long-term support Retains better Training (hands-on code!) Robustness, Scalability, Community support (developers, and Extensibility users, computer vendors, mailing lists, and Long user term groups) pay-offs Interacts with commercial http://www.cca-forum.org software products

Minimum Requirements for Reusable High Quality Software Tools Robust Scalable Extensible Interoperable User Friendly Interfaces Well documented Periodic Tests and Evaluations Long-term support Training (hands-on code!) Community support (developers, users, computer vendors, mailing lists, and user groups) Interacts with commercial software products

CALL BLACS_GET( -1, 0, ICTXT ) CALL BLACS_GRIDINIT( ICTXT, 'Row-major', NPROW, NPCOL ) : CALL BLACS_GRIDINFO(ICTXT, NPR O W, NP C O L, MY R O W, M Y C O L ) : : CALL PDGESV( N, NRHS, A, IA, JA, DESCA, IPIV, B, IB, JB, DESCB, $ INFO ) User Interfaces Library Calls -ksp_type [cg,g m res,bcgs,tfq mr, ] -pc_type [lu,ilu,jacobi,sor,as m, ] Command lines M ore advanced: -ksp_max_it <max_iters> -ksp_g m res_restart <restart> -pc_asm_overlap <overlap> Linear System Interfaces Linear Solvers GMG FAC Hybrid,... AMGe ILU,... Problem Domain Data Layout structured composite blockstrc unstruc CSR

User Interfaces PyACTS matlab*p NetSolve Star-P User View_field(T1) Ax = b A = UΣV T Az = λz High Level Interfaces OPT++ PAWS Globus CUMULVS TAU AZTEC Hypre PETSc Chombo Global Arrays ScaLAPACK SuperLU TAO PVODE Overture

Minimum Requirements for Reusable High Quality Software Tools Robust Scalable Extensible Interoperable User Friendly Interfaces Well documented Periodic Tests and Evaluations Long-term support Versions Training (hands-on (tools, code!) Sanity-check (robustness) systems, Community O/S, support (developers, Interoperability users, (maintained) computer vendors, compilers) mailing lists, and Consistent user groups) Documentation Interacts with commercial software products

Minimum Requirements for Reusable High Quality Software Tools Robust Scalable Extensible Interoperable User Friendly Interfaces Well documented Periodic Tests and Evaluations Portability and Fast Adaptability (The Evolution) Long-term support Training (hands-on code!) Community support (developers, users, computer vendors, mailing lists, commercial software development and user groups)

Tool Evolution Example: ScaLAPACK Global Local LAPACK ScaLAPACK New Algorithmic Implementations PBLAS BLACS BLAS platform specific MPI/PVM/... New Design Consideration

Minimum Requirements for Reusable High Quality Software Tools Robust Scalable Extensible Interoperable User Friendly Interfaces Well documented Periodic Tests and Evaluations Portability and Fast Adaptability Long-term support Training (hands-on code) and High level support Community support (developers, users, users, computer vendors, mailing mailing lists, lists, commercial software development and anduser groups)

Petaflop Systems Biology Physics Advanced CompuTational Software Collection (ACTS) Project User Community Numerical Simulations Challenge Codes Computing Systems Collaboratories Computer Sciences Medicine Engineering Mathematics Chemistry Bioinformatics Pool of Software Tools ACTS Scientific Computing Centers Workshops and Training Computer Vendors Testing and Acceptance Phase Interoperability

Minimum Requirements for Reusable High Quality Software Tools Robust Scalable Extensible Interoperable User Friendly Interfaces Well documented Periodic Tests and Evaluations Portability and Fast Adaptability Long-term support Training (hands-on code) and High level support Community support (developers, users, computer vendors, mailing lists, commercial software development and user groups)

Open Challenges DISTRIBUTED INTEGRATION Distributed Coupling Software Distribution and Ischeduling) multi-physics, multi-resolutions, multi-domains

GetData PutData DISTRIBUTED INTEGRATION A single-controller free approach Avoid Intrusive lines of of codes. Provide interfaces to to formulate data (flux, variables, fields, etc..).) translations between applications. Variable Synchronization. Scalability!

Distributed Coupling Distributed Coupling Software Distribution and Installation Improve interactions between Tool- Compilers-Hardware Automatic Tuning, Profiling, Optimization (performance and scheduling) 1 512 400 300 200 100 Number of nodes

Open Challenges Distributed Coupling Improve interactions between Tool- Compilers-Hardware Software Distribution and Installation Automatic Tuning and Profiling (TAU, IPM, etc) Automatic Code Generators (ATLAS-like) Debugging tools Tools and Language Interoperability

Open Challenges Distributed Coupling Improve interactions between Tool- Compilers-Hardware Software Availability Installation and Configuration Adaptability

Got Tools? There are several software development efforts enabling scientific and engineering applications meet the computational challenges at at the Petaflops and beyond levels. We need to to ensure that they meet the aforementioned tool requirements. Good Trend: High-level tool interfaces that hide software complexity from end users but won t compromise performance. SOFTWARE REUSE!

Some References ACTS Information Center: http://acts.nersc.gov Two Upcoming Journal Issues dedicated to ACTS ACM TOMS IJHPCA Sixth ACTS Collection Workshop, August 23-26, 2005