1 SciDAC TOPS PETSc Work SciDAC TOPS Developers Satish Balay Chris Buschelman Matt Knepley Barry Smith.

Slides:



Advertisements
Similar presentations
Workshop finale dei Progetti Grid del PON "Ricerca" Avviso Febbraio 2009 Catania Abstract In the contest of the S.Co.P.E. italian.
Advertisements

Zhen Lu CPACT University of Newcastle MDC Technology Reduced Hessian Sequential Quadratic Programming(SQP)
Advanced Computational Software Scientific Libraries: Part 2 Blue Waters Undergraduate Petascale Education Program May 29 – June
1 Numerical Solvers for BVPs By Dong Xu State Key Lab of CAD&CG, ZJU.
MULTISCALE COMPUTATIONAL METHODS Achi Brandt The Weizmann Institute of Science UCLA
1 A Common Application Platform (CAP) for SURAgrid -Mahantesh Halappanavar, John-Paul Robinson, Enis Afgane, Mary Fran Yafchalk and Purushotham Bangalore.
Parallelizing stencil computations Based on slides from David Culler, Jim Demmel, Bob Lucas, Horst Simon, Kathy Yelick, et al., UCB CS267.
Problem Uncertainty quantification (UQ) is an important scientific driver for pushing to the exascale, potentially enabling rigorous and accurate predictive.
1cs542g-term Notes  Assignment 1 will be out later today (look on the web)
1cs542g-term Notes  Assignment 1 is out (questions?)
CS267 L12 Sources of Parallelism(3).1 Demmel Sp 1999 CS 267 Applications of Parallel Computers Lecture 12: Sources of Parallelism and Locality (Part 3)
Landscape Erosion Kirsten Meeker
PETSc Portable, Extensible Toolkit for Scientific computing.
Multiscale Methods of Data Assimilation Achi Brandt The Weizmann Institute of Science UCLA INRODUCTION EXAMPLE FOR INVERSE PROBLEMS.
CS267 L24 Solving PDEs.1 Demmel Sp 1999 CS 267 Applications of Parallel Computers Lecture 24: Solving Linear Systems arising from PDEs - I James Demmel.
Monica Garika Chandana Guduru. METHODS TO SOLVE LINEAR SYSTEMS Direct methods Gaussian elimination method LU method for factorization Simplex method of.
1 Parallel Simulations of Underground Flow in Porous and Fractured Media H. Mustapha 1,2, A. Beaudoin 1, J. Erhel 1 and J.R. De Dreuzy IRISA – INRIA.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
Experiences with Parallel Numerical Software Interoperability William Gropp and Lois McInnes In collaboration with Satish Balay, Steve Benson, Kris Buschelman,
CS 591x – Cluster Computing and Programming Parallel Computers Parallel Libraries.
Page 1 Trilinos Software Engineering Technologies and Integration Numerical Algorithm Interoperability and Vertical Integration –Abstract Numerical Algorithms.
1 Using the PETSc Parallel Software library in Developing MPP Software for Calculating Exact Cumulative Reaction Probabilities for Large Systems (M. Minkoff.
Fast Low-Frequency Impedance Extraction using a Volumetric 3D Integral Formulation A.MAFFUCCI, A. TAMBURRINO, S. VENTRE, F. VILLONE EURATOM/ENEA/CREATE.
Large-Scale Stability Analysis Algorithms Andy Salinger, Roger Pawlowski, Ed Wilkes Louis Romero, Rich Lehoucq, John Shadid Sandia National Labs Albuquerque,
ANS 1998 Winter Meeting DOE 2000 Numerics Capabilities 1 Barry Smith Argonne National Laboratory DOE 2000 Numerics Capability
Using the PETSc Linear Solvers Lois Curfman McInnes in collaboration with Satish Balay, Bill Gropp, and Barry Smith Mathematics and Computer Science Division.
After step 2, processors know who owns the data in their assumed partitions— now the assumed partition defines the rendezvous points Scalable Conceptual.
ML: Multilevel Preconditioning Package Trilinos User’s Group Meeting Wednesday, October 15, 2003 Jonathan Hu Sandia is a multiprogram laboratory operated.
Efficient Integration of Large Stiff Systems of ODEs Using Exponential Integrators M. Tokman, M. Tokman, University of California, Merced 2 hrs 1.5 hrs.
Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting.
CMRS Review, PPPL, 5 June 2003 &. 4 projects in high energy and nuclear physics 5 projects in fusion energy science 14 projects in biological and environmental.
Computational Aspects of Multi-scale Modeling Ahmed Sameh, Ananth Grama Computing Research Institute Purdue University.
1 1 What does Performance Across the Software Stack mean?  High level view: Providing performance for physics simulations meaningful to applications 
1 1  Capabilities: Scalable algebraic solvers for PDEs Freely available and supported research code Usable from C, C++, Fortran 77/90, Python, MATLAB.
Parallel Solution of the Poisson Problem Using MPI
MESQUITE: Mesh Optimization Toolkit Brian Miller, LLNL
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
Implementing Hypre- AMG in NIMROD via PETSc S. Vadlamani- Tech X S. Kruger- Tech X T. Manteuffel- CU APPM S. McCormick- CU APPM Funding: DE-FG02-07ER84730.
Connections to Other Packages The Cactus Team Albert Einstein Institute
Introduction to Scientific Computing II Overview Michael Bader.
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA
Lecture 21 MA471 Fall 03. Recall Jacobi Smoothing We recall that the relaxed Jacobi scheme: Smooths out the highest frequency modes fastest.
1 1  Capabilities: Serial (C), shared-memory (OpenMP or Pthreads), distributed-memory (hybrid MPI+ OpenM + CUDA). All have Fortran interface. Sparse LU.
MULTISCALE COMPUTATIONAL METHODS Achi Brandt The Weizmann Institute of Science UCLA
On the Use of Finite Difference Matrix-Vector Products in Newton-Krylov Solvers for Implicit Climate Dynamics with Spectral Elements ImpactObjectives 
TR&D 2: NUMERICAL TOOLS FOR MODELING IN CELL BIOLOGY Software development: Jim Schaff Fei Gao Frank Morgan Math & Physics: Boris Slepchenko Diana Resasco.
Generic Compressed Matrix Insertion P ETER G OTTSCHLING – S MART S OFT /TUD D AG L INDBO – K UNGLIGA T EKNISKA H ÖGSKOLAN SmartSoft – TU Dresden
Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program laboratory.
Report from LBNL TOPS Meeting TOPS/ – 2Investigators  Staff Members:  Parry Husbands  Sherry Li  Osni Marques  Esmond G. Ng 
Algebraic Solvers in FASTMath Argonne Training Program on Extreme-Scale Computing August 2015.
Center for Extended MHD Modeling (PI: S. Jardin, PPPL) –Two extensively developed fully 3-D nonlinear MHD codes, NIMROD and M3D formed the basis for further.
Center for Component Technology for Terascale Simulation Software (CCTTSS) 110 April 2002CCA Forum, Townsend, TN CCA Status, Code Walkthroughs, and Demonstrations.
Parallel Programming & Cluster Computing Linear Algebra Henry Neeman, University of Oklahoma Paul Gray, University of Northern Iowa SC08 Education Program’s.
Quality of Service for Numerical Components Lori Freitag Diachin, Paul Hovland, Kate Keahey, Lois McInnes, Boyana Norris, Padma Raghavan.
ANSYS, Inc. Proprietary © 2004 ANSYS, Inc. Chapter 5 Distributed Memory Parallel Computing v9.0.
1 Programming and problem solving in C, Maxima, and Excel.
High Performance Computing Seminar II Parallel mesh partitioning with ParMETIS Parallel iterative solvers with Hypre M.Sc. Caroline Mendonça Costa.
A survey of Exascale Linear Algebra Libraries for Data Assimilation
Xing Cai University of Oslo
Shrirang Abhyankar IEEE PES HPC Working Group Meeting
Unstructured Grids at Sandia National Labs
Parallel Matrix Multiplication and other Full Matrix Algorithms
Meros: Software for Block Preconditioning the Navier-Stokes Equations
HPC Modeling of the Power Grid
Trilinos Software Engineering Technologies and Integration
GPU Implementations for Finite Element Methods
Parallel Matrix Multiplication and other Full Matrix Algorithms
Salient application properties Expectations TOPS has of users
Ph.D. Thesis Numerical Solution of PDEs and Their Object-oriented Parallel Implementations Xing Cai October 26, 1998.
Presentation transcript:

1 SciDAC TOPS PETSc Work SciDAC TOPS Developers Satish Balay Chris Buschelman Matt Knepley Barry Smith Hong Zhang Other PETSc Team Members Lois Curfman McInnes, Bill Gropp, Dinesh Kaushik

2 PETSc Portable, Extensible, Software for the scalable solution of nonlinear PDEs Focusing on algebraic solvers –Preconditioners, multigrid, Krylov methods, Newton, FAS, time integrators

3 Activities Derivative calculations – ADIC/ADIFOR –Matrix-free preconditioners –FAS (future) Accessing other software –HYPRE preconditioner usage –RAMG,SAMG –SuperLU –ESI SIDL/Babel/CCA – PETSc 3.0 plans SIDL/Babel MPI

4 Derivatives Automatic tools ADIC/ADIFOR are great but require manual processing (painful when developing code) Would like to have a variety of derivatives “for free” (or nearly) –Matrix element based Newton which requires explicit sparse Jacobian –Matrix-free Newton –SOR preconditioners and FAS require one equation at at time

5 To Fully Automate Code comments to indicate what needs to be processed Predefined calling sequences Libraries that can use generated code Make system automatically generates required derivative code

6.. /* Process adiC: FFL */ int FFL (DALocalInfo *info,Field **x, Field **f,void *ptr) { AppCtx *user = (AppCtx*)ptr;.. DMMGSetSNESLocal(dmmg,FFL,0,ad_FFL,admf_FFL); typedef struct { PassiveReal lidvelocity,prandtl,grashof; PetscTruth draw_contours; } AppCtx; typedef struct { double u,v,omega,temp; } Field;

7 > make BOPT=g_c++ ex19 Running adiC on function FFL Extracting structure Field Extracting structure AppCtx Extracting function FFL adiC -a -d gradient -i /sandbox/bsmith/petsc/bmake/adic.init ex19.c.tmp ADIC 1.1 beta 4 08/07/00 18:06:31 This software was created in the course of academic and/or research endeavors by Argonne National Laboratory. See the disclaimer in the g++ -fPIC -o ex19.o -c -Dad_GRAD_MAX=36 -I/sandbox/bsmith/petsc/include/adic -g -I/sandbox/bsmith/petsc..

8 Matrix-free Multiply Differencing (well understood) AD int mf_FFL(DALocalInfo *info,mf_Field **x, mf_Field **f,void *ptr) { typedef struct { double value;double grad[1]; } mfDERIV_TYPE; typedef struct { mfDERIV_TYPE u, v, omega, temp; }

9 Matrix-free Multigrid Preconditioners Krylov smoothing with –no preconditioner –(point block) Jacobi preconditioner –(point block) SOR preconditioning

10 Matrix-free Jacobi/SOR If function is provided an “(block) equation at a time” matrix-free multiply can be done an equation at a time – can be computed by providing a seed of –For SOR Similar computations with differencing

11 FAS – Full Approximation Scheme (Nonlinear Multigrid) Smoothing uses Newton to solve a single (block) equation at a time –Need the same “(block) equation at a time” and its derivative as for matrix-free Newton!

12 We are developing a common software infrastructure and user interface for many Newton methods and FAS which can use AD or differencing for derivatives.

13 Activities Derivative calculations – ADIC/ADIFOR –Matrix-free preconditioners –FAS (future) Accessing other software –HYPRE preconditioner usage –RAMG, SAMG –SuperLU –ESI SIDL/Babel/CCA – PETSc 3.0 plans SIDL/Babel MPI

14 Philosophy on Solvers Use any solver without changing the application code Add to application code to take advantage of special solver features (optimizations) –but additions cannot break other solvers PCILUSetDropTolerance(pc,1.e-5); PCSPAISetEpsilon(pc,1.e-2);

15 HYPRE-PETSc Matrix Element based preconditioners No vector copies Currently a matrix copy (plan to remove) -pc_type hypre -pc_hypre_type -pc_hypre_pilut_tol 1.e-4 -pc_hypre_parasails_thresh.1 -pc_hypre_parasails_filter.2

16 RAMG, SAMG – PETSc Sequential Preconditioners AMG – written by John Ruge, Klaus Stueben, and Rolf Hempel. A classic scalar PDE AMG code. SAMG – written by Klaus Stueben. A complete rewrite that supports systems of PDEs (interface coming soon). –PETSc interfaces provided by Domenico Lahaye

17 SuperLU_Dist MPI parallel LU factorization and solve written by Sherry Li and Jim Demmel Henry Tufo – Paul Fischer XYT fast direct parallel solver for “small problems”, i.e. the coarse grid problem in multigrid -mat_aij_superlu_dist -mat_aij_superlu_dist_colperm

18 ESI Equation Solver Interface A C++ “standard” of abstract classes for setting up and solving linear systems At least three implementations –Trilinos (Sandia, NM) –ISIS (Sandia, CA) –PETSc

19 PETSc ESI Goal Allow PETSc to use matrices and solvers written by others in ESI Allow anyone to use PETSc matrices and solvers from ESI –Achieved by using two sets of wrappers PETSc objects “look like” ESI objects ESI objects “look like” PETSc objects

20 -is_type esi –is_esi_type Petra_ESI_IndexSpace -vec_type esi -vec_esi_type Petra_ESI_Vector -mat_type esi –mat_esi_type Petra_ESI_CSR_Matrix PETSc using Trilinos objects ESI using PETSc objects esi::Vector *v = new esi::petsc::Vector (petscvector) esi::Operator *o = new esi::petsc::Matrix (petscmatrix)

21 Activities Derivative calculations – ADIC/ADIFOR –Matrix-free preconditioners –FAS (future) Accessing other software –HYPRE preconditioner usage –RAMG, SAMG –SuperLU –ESI SIDL/Babel/CCA – PETSc 3.0 plans SIDL/Babel MPI

22 SIDL/Babel (LLNL) Scientific Interface Definition Language Babel – generates language stubs for –C, C++, Fortran 77, Python, Java, … Provides –Object model –Exception (error) model Immature, but very exciting development

23 PETSc 3.0 SIDL/Babel for inter-language, object model and exception model Multiple precisions –Single for preconditioners? Vector and matrix sizes mutable –Adaptive mesh refinement Not a rewrite, just a rewrap!

24 Activities Derivative calculations – ADIC/ADIFOR –Matrix-free preconditioners –FAS (future) Accessing other software –HYPRE preconditioner usage –RAMG, SAMG –SuperLU –ESI SIDL/Babel/CCA – PETSc 3.0 plans SIDL/Babel MPI

25 Conclusions Many new tools and solvers Accessible via –PETSc 2.0 interface –ESI –(coming) SIDL/Babel/CCA We are happy to support users, especially those interested in nontrivial problems