English
Related papers

Related papers: A Generic Library for Stencil Computations

200 papers

GPUs have significantly accelerated first-order methods for large-scale optimization, especially in continuous optimization. However, this success has not transferred cleanly to problems with discrete variables, combinatorial structure, and…

Machine Learning · Computer Science 2026-05-22 Jiachang Liu , Andrea Lodi

We describe a new C++ library for multiprecision arithmetic for numbers in the order of 100--500 bits, i.e., representable with just a few limbs. The library is written in "optimizing-compiler-friendly" C++, with an emphasis on the use of…

Cryptography and Security · Computer Science 2018-04-20 Niek J. Bouman

We propose a language and compiler to productively build high-performance {\it software systolic arrays} that run on GPUs. Based on a rigorous mathematical foundation (uniform recurrence equations and space-time transform), our language has…

Programming Languages · Computer Science 2020-11-02 Hongbo Rong , Xiaochen Hao , Yun Liang , Lidong Xu , Hong H Jiang , Pradeep Dubey

The past decade has witnessed a dramatic acceleration of lattice quantum chromodynamics calculations in nuclear and particle physics. This has been due to both significant progress in accelerating the iterative linear solvers using…

High Energy Physics - Lattice · Physics 2016-12-26 M. A. Clark , Bálint Joó , Alexei Strelchenko , Michael Cheng , Arjun Gambhir , Richard Brower

Probabilistic Programming Languages (PPLs) are a powerful tool in machine learning, allowing highly expressive generative models to be expressed succinctly. They couple complex inference algorithms, implemented by the language, with an…

Programming Languages · Computer Science 2020-10-19 Alexander Collins , Vinod Grover

Stencil algorithms have been receiving considerable interest in HPC research for decades. The techniques used to approach multi-core stencil performance modeling and engineering span basic runtime measurements, elaborate performance models,…

Performance · Computer Science 2020-06-25 Julian Hornich , Julian Hammer , Georg Hager , Thomas Gruber , Gerhard Wellein

Automatic code generation is frequently used to create implementations of algorithms specifically tuned to particular hardware and application parameters. The code generation process involves the selection of adequate code transformations,…

Performance · Computer Science 2024-08-08 Dominik Ernst , Georg Hager , Markus Holzer , Matthias Knorr , Gerhard Wellein

Dijkstra observed that verifying correctness of a program is difficult and conjectured that derivation of a program hand-in-hand with its proof of correctness was the answer. We illustrate this goal-oriented approach by applying it to the…

Mathematical Software · Computer Science 2017-10-13 Devangi N. Parikh , Maggie E. Myers , Robert A. van de Geijn

The performance of CPU-based and GPU-based systems is often low for PDE codes, where large, sparse, and often structured systems of linear equations must be solved. Iterative solvers are limited by data movement, both between caches and…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-10-09 Kamil Rocki , Dirk Van Essendelft , Ilya Sharapov , Robert Schreiber , Michael Morrison , Vladimir Kibardin , Andrey Portnoy , Jean Francois Dietiker , Madhava Syamlal , Michael James

Block iterative methods are extremely important as smoothers for multigrid methods, as preconditioners for Krylov methods, and as solvers for diagonally dominant linear systems. Developing robust and efficient algorithms suitable for…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-07-16 Manuel Birke , Bobby Philip , Zhen Wang , Mark Berrill

High-quality ordinary differential equation (ODE) solver libraries have a long history, going back to the 1970s. Over the past several years we have implemented, on top of the PETSc linear and nonlinear solver package, a new…

Numerical Analysis · Mathematics 2018-06-06 Shrirang Abhyankar , Jed Brown , Emil M. Constantinescu , Debojyoti Ghosh , Barry F. Smith , Hong Zhang

latfield2 is a C++ library designed to simplify writing parallel codes for solving partial differen- tial equations, developed for application to classical field theories in particle physics and cosmology. It is a significant rewrite of the…

Computational Physics · Physics 2016-01-20 David Daverio , Mark Hindmarsh , Neil Bevis

Currently, the most energy-efficient hardware platforms for floating point-intensive calculations (also known as High Performance Computing, or HPC) are graphical processing units (GPUs). However, porting existing scientific codes to GPUs…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-28 Michele Martone , Julia Lawall

Stencil computations consume a major part of runtime in many scientific simulation codes. As prototypes for this class of algorithms we consider the iterative Jacobi and Gauss-Seidel smoothers and aim at highly efficient parallel…

Performance · Computer Science 2012-03-01 Jan Treibig , Gerhard Wellein , Georg Hager

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…

To address the challenge of performance portability, and facilitate the implementation of electronic structure solvers, we developed the Basic Matrix Library (BML) and Parallel, Rapid O(N) and Graph-based Recursive Electronic Structure…

We describe a set of lower-level abstractions to improve performance on modern large scale heterogeneous systems. These provide portable access to system- and hardware-dependent features, automatically apply dynamic optimizations at run…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-08-07 Erik Schnetter

Good process-to-compute-node mappings can be decisive for well performing HPC applications. A special, important class of process-to-node mapping problems is the problem of mapping processes that communicate in a sparse stencil pattern to…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-05-21 Sascha Hunold , Konrad von Kirchbach , Markus Lehr , Christian Schulz , Jesper Larsson Träff

We introduce a code generator that converts unoptimized C++ code operating on sparse data into vectorized and parallel CPU or GPU kernels. Our approach unrolls the computation into a massive expression graph, performs redundant expression…

Programming Languages · Computer Science 2022-03-15 Philipp Herholz , Xuan Tang , Teseo Schneider , Shoaib Kamil , Daniele Panozzo , Olga Sorkine-Hornung

Matrix Distributed Processing (MDP) is a C++ library for fast development of efficient parallel algorithms. It constitues the core of FermiQCD. MDP enables programmers to focus on algorithms, while parallelization is dealt with…

High Energy Physics - Lattice · Physics 2007-05-23 Massimo Di Pierro
‹ Prev 1 3 4 5 6 7 10 Next ›