Transcription of A demo using PETSc - UC Denver
1 Distributed Kernel Finite DifferenceA demo using PETScMichael brief demonstration of the core PETSc tools and how localized kernel approximations can be executed in a distributed IS PETSc ?A freely available and supported research code for the parallel solution of nonlinear algebraic equations: via email: from C, C++, Fortran 77/90, Matlab, Julia, and PythonWHAT DOES PETSc DO? PETSc has run implicit problems with over 500 billion unknowns UNIC on BG/P and XT5 PFLOTRAN for flow in porous mediaPETSc has run on over 1,500,000 cores efficiently Gordon Bell Prize Mantle Convection on IBM BG/Q SequoiaPETSc applications have run at 23% of peak (600 Teraflops) Jed Brown on NERSC EdisonWHAT DOES PETSc DO? Eliminate the MPI from MPI programming! Provide wrappers to other useful libraries. Provide high level access to GPU is not a black-box PDE solver. Examples are provided but you have to build your own DOES PETSc PROVIDE?
2 Many (parallel) vector/array operations Numerous (parallel) matrix formats and operations Numerous linear solvers Nonlinear solvers Limited ODE integrators Limited parallel grid/data management Common interface for most DOE solver software ..WHAT DOES PETSc PROVIDE?WHAT DOES PETSc PROVIDE?WHAT DOES PETSc PROVIDE? PETSc STRUCTUREPETSc PROGRAMMING IDEALS Distributed memory, shared-nothing Requires only a standard compiler Access to data on remote machines through MPI Hide within objects the details of the communication User orchestrates communication at a higher abstract level than direct MPI callsPETSc PDE FLOWPETSc NUMERICAL COMPONENTSPETSc LINEAR SOLVE STRUCTUREBUILDING A DISTRIBUTED VECTORLOADING A DISTRIBUTED VECTORCOMMUNICATING VECTOR ENTRIESPREPARING THE DIFFERENTIATION MATRIXM atch data distribution between matrix and vectorPreallocate memoryCompressed Sparse RowPOPULATING THE DIFFERENTIATION MATRIXINTERPOLATION MATRIX ENTRIESFORMING THE DIFFERENTIATION MATRIXCOMPUTING THE DERIVATIVEC onfirm It Is Accurat