The DOE ACTS CollectionHow can it be used?UC Berkeley - CS267 - March 31, 2004Tony DrummondLawrence Berkeley National [email protected]@lbl.gov02/27/2004The DOE ACTS Collection (http://acts.nersc.gov) 2 CS267 - University of California, BerkeleyMotivation- Why do we need software libraries?Tuned and machineDependent modulesApplicationData LayoutControlI/OAlgorithmic ImplementationsLarge Scientific Codes: A Common Programming Practice02/27/2004The DOE ACTS Collection (http://acts.nersc.gov) 3 CS267 - University of California, BerkeleyTuned and machineDependent modulesApplicationData LayoutControlI/OAlgorithmic ImplementationsNew Architecture or S/W• Extensive tuning• May require new programmingparadigms• Difficult to maintained!New Architecture:• Extensive re-rewritingNew or extended Physics:• Extensive re-rewriting orincrease overheadNew Architecture:• May or may not need re-rewritingNew Developments:• Difficult to compareNew Architecture:• Minimal to Extensive rewritingMotivation- Why do we need software libraries?02/27/2004The DOE ACTS Collection (http://acts.nersc.gov) 4 CS267 - University of California, BerkeleyUSER's APPLICATION CODE (Main Control)Tuned and machineDependent modulesApplicationData LayoutI/OAlgorithmic ImplementationsAVAILABLELIBRARIES & PACKAGESAVAILABLELIBRARIES & PACKAGESAVAILABLELIBRARIES Motivation- Why do we need software libraries?An Alternative Approach02/27/2004The DOE ACTS Collection (http://acts.nersc.gov) 5 CS267 - University of California, BerkeleyShortcomings?"We need to move away from a coding style suitedfor serial machines, where every macrostep of analgorithm needs to be thought about and explicitlycoded, to a higher-level style, where the compilerand library tools take care of the details. And theremarkable thing is, if we adopt this higher-levelapproach right now, even on today's machines, wewill see immediate benefits in our productivity."W. H. Press and S. A. Teukolsky, 1997Numerical Recipes: Does This Paradigm Have a future?02/27/2004The DOE ACTS Collection (http://acts.nersc.gov) 6 CS267 - University of California, BerkeleyACTS ToolsExtensible implementation of the expression template technique (C++ technique for passing expressions asfunction arguments).PETETools for the automatic generation of optimized numerical software for modern computer architectures andcompilers.ATLAS and PHiPACLibraryDevelopmentSet of tools for analyzing the performance of C, C++, Fortran and Java programs.TAUTools and run-time support for building easy-to-use external interfaces to existing numerical codes.SILOONFramework for coupling parallel applications within a component-like model.PAWSServices for the creation of computational Grids and tools with which applications can be developed to accessthe Grid.GlobusFramework that enables programmers to incorporate fault-tolerance, interactive visualization andcomputational steering into existing parallel programsCUMULVSCode ExecutionObject-Oriented tools for solving computational fluid dynamics and combustion problems in complexgeometries.OvertureLibrary for writing parallel programs that use large arrays distributed across processing nodes and that offersa shared-memory view of distributed arrays.Global ArraysCodeDevelopmentGeneral-purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations.SuperLULibrary of high performance dense linear algebra routines for distributed-memory message-passing.ScaLAPACKSolvers for the solution of systems of ordinary differential equations, nonlinear algebraic equations, anddifferential-algebraic equations.SUNDIALSObject-oriented nonlinear optimization package.OPT++Tools for the solution of PDEs that require solving large-scale, sparse linear and nonlinear systems ofequations.PETScAlgorithms for the iterative solution of large sparse linear systems, intuitive grid-centric interfaces, anddynamic configuration of parameters.HypreAlgorithms for the iterative solution of large sparse linear systems.AztecLarge-scale optimization software, including nonlinear least squares, unconstrained minimization, boundconstrained optimization, and general nonlinear optimization.TAONumericalFunctionalitiesToolCategoryMODEsPDEsTVUAzAzbAxΣ===λ02/27/2004The DOE ACTS Collection (http://acts.nersc.gov) 7 CS267 - University of California, BerkeleySoftware SelectionCALL BLACS_GET( -1, 0, ICTXT ) CALL BLACS_GRIDINIT( ICTXT, 'Row-major', NPROW, NPCOL ): CALL BLACS_GRIDINFO( ICTXT, NPROW, NPCOL, MYROW, MYCOL ):: CALL PDGESV( N, NRHS, A, IA, JA, DESCA, IPIV, B, IB, JB, DESCB, $ INFO )• -ksp_type [cg,gmres,bcgs,tfqmr,…]• -pc_type [lu,ilu,jacobi,sor,asm,…]More advanced:• -ksp_max_it <max_iters>• -ksp_gmres_restart <restart>• -pc_asm_overlap <overlap>• -pc_asm_type [basic,restrict,interpolate,none]Data Layoutstructured composite blockstrc unstruc CSRLinear SolversGMG FAC Hybrid, ... AMGe ILU, ...Linear System InterfacesLanguage CallsCommand linesProblem Domain02/27/2004The DOE ACTS Collection (http://acts.nersc.gov) 8 CS267 - University of California, BerkeleyACTS Numerical Tools: Functionality02/27/2004The DOE ACTS Collection (http://acts.nersc.gov) 9 CS267 - University of California, BerkeleyACTS Numerical Tools: Functionality02/27/2004The DOE ACTS Collection (http://acts.nersc.gov) 10 CS267 - University of California, BerkeleyACTS Numerical Tools: Functionality02/27/2004The DOE ACTS Collection (http://acts.nersc.gov) 11 CS267 - University of California, BerkeleyStructure of PETScComputation and Communication KernelsMPI, MPI-IO, BLAS, LAPACKProfiling InterfacePETSc PDE Application CodesObject-OrientedMatrices, Vectors, IndicesGridManagementLinear SolversPreconditioners + Krylov MethodsNonlinear Solvers,Unconstrained MinimizationODE IntegratorsVisualizationInterface02/27/2004The DOE ACTS Collection (http://acts.nersc.gov) 12 CS267 - University of California, Berkeley PETSc Numerical ComponentsCompressedSparse Row(AIJ)Blocked CompressedSparse Row(BAIJ)BlockDiagonal(BDIAG)Dense OtherIndices Block Indices Stride OtherIndex SetsVectorsLine Search Trust RegionNewton-based MethodsOtherNonlinear SolversAdditiveSchwartzBlockJacobiJacobi ILU ICCLU(Sequential only)OthersPreconditionersEulerBackwardEulerPseudo TimeSteppingOtherTime SteppersGMRES CG CGS Bi-CG-STAB TFQMR Richardson Chebychev OtherKrylov Subspace MethodsMatricesDistributed ArraysMatrix-free02/27/2004The DOE ACTS Collection
View Full Document