17 research outputs found

    Toward Performance-Portable PETSc for GPU-based Exascale Systems

    Full text link
    The Portable Extensible Toolkit for Scientific computation (PETSc) library delivers scalable solvers for nonlinear time-dependent differential and algebraic equations and for numerical optimization.The PETSc design for performance portability addresses fundamental GPU accelerator challenges and stresses flexibility and extensibility by separating the programming model used by the application from that used by the library, and it enables application developers to use their preferred programming model, such as Kokkos, RAJA, SYCL, HIP, CUDA, or OpenCL, on upcoming exascale systems. A blueprint for using GPUs from PETSc-based codes is provided, and case studies emphasize the flexibility and high performance achieved on current GPU-based systems.Comment: 15 pages, 10 figures, 2 table

    Long tail distributions near the many-body localization transition

    No full text

    A Microkernel Design for Component-based Parallel Numerical Software Systems

    No full text
    What is the minimal software infrastructure and what type of conventions are needed to simplify development of sophisticated parallel numerical application codes using a variety of software components that are not necessarily available as source code? We propose an opaque object-based model where the objects are dynamically loadable from the file system or network. The microkernel required to manage such a system needs to include, at most ffl a few basic services, namely, -- a mechanism for loading objects at run time via dynamic link libraries, and -- consistent schemes for error handling and memory management; and ffl selected methods that all objects share, to deal with -- object life (destruction, reference counting, relationships), and -- object observation (viewing, profiling, tracing). We are experimenting with these ideas in the context of extensible numerical software within the ALICE (Advanced Large-scale Integrated Computational Environment) project, where we are build..

    Parallel components for PDEs and optimization: Some issues and experiences

    No full text
    High-performance simulations in computational science often involve the combined software contributions of multidisciplinary teams of scientists, engineers, mathematicians, and computer scientists. One goal of component-based software engineering in large-scale scientific simulations is to help manage such complexity by enabling better interoperability among codes developed by different groups. This paper discusses recent work on building component interfaces and implementations in parallel numerical toolkits for mesh manipulations, discretization, linear algebra, and optimization. We consider several motivating applications involving partial differential equations and unconstrained minimization to demonstrate this approach and evaluate performance

    petsc: Portable, Extensible Toolkit for Scientific Computation

    No full text
    Version of Firedrake in the Firedrake paper. This release is specifically created to document the version of Firedrake used in a particular set of experiments. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to http://www.firedrakeproject.org/publications.htm
    corecore