Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “conjugate gradient”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 145 records · Page 8

Enabling Scientific Applications with Performance-Portability and High-Productivity for Multi-GPU Programming with JACC.Multi

This work bridges the gap between multi-GPU computing and high-productivity, performance-portable programming solutions. Our goal is to enhance scientific applications with a productive and portable solution—program once, deploy everywhere—for multi-GPU programming with no cost to programmability. To accomplish this, we implemented JACC.Multi, which is part of the Julia for ACCelerators (JACC) performance-portable framework. JACC. Multi is the only high-level, portable metaprogramming solution that targets multi-GPU environments and is integrated in a readily accessible programming language (e.g., Julia language). With transparent GPU-to-GPU communication, JACC. Multi is optimized for scientific application workloads and is portable for NVIDIA and AMD accelerators. For the evaluation, we use two modern multi-GPU systems: Hudson, which features two NVIDIA H100 Hopper GPUs per node, and Frontier, which features four AMD MI250X GPUs per node, each with two Graphics Compute Dies (GCDs) for a total of eight GCDs per node. Additionally, as part of the evaluation, we use JACC (one GPU), MPI+JACC, and JACC. Multi codes that implement well-known and widely used scientific algorithms/kernels such as the conjugate gradient algorithm and an explicit forward Euler solver that requires GPU-to-GPU communication. Overall, JACC. Multi codes achieve better performance than MPI+JACC codes and significant speedups over JACC (one GPU), with up to 1.9× on Hudson and 6× on Frontier.

Valero Lara, Pedro [ORNL] (ORCID:0000000214794310)↗

A High-Throughput Solver for Marginalized Graph Kernels on GPU

Here, we present the design and optimization of a solver for efficient and high-throughput computation of the marginalized graph kernel on General Purpose GPUs. The graph kernel is computed using the conjugate gradient method to solve a generalized Laplacian of the tensor product between a pair of graphs. To cope with the large gap between the instruction throughput and the memory bandwidth of the GPUs, our solver forms the graph tensor product on-the-fly without storing it in memory. This is achieved by using threads in a warp cooperatively to stream the adjacency and edge label matrices of individual graphs by small square matrix blocks called tiles, which are then staged in registers and the shared memory for later reuse. Warps across a thread block can further share tiles via the shared memory to increase data reuse. We exploit the sparsity of the graphs hierarchically by storing only non-empty tiles using a coordinate format and nonzero elements within each tile using bitmaps. We propose a new partition-based reordering algorithm for aggregating nonzero elements of the graphs into fewer but denser tiles to further exploit sparsity. We carry out extensive theoretical analyses on the graph tensor product primitives for tiles of various density and evaluate their performance on synthetic and real-world datasets. Our solver delivers three to four orders of magnitude speedup over existing CPU-based solvers such as GraKeL and GraphKernels. The capability of the solver enables kernel-based learning tasks at unprecedented scales.

97 MATHEMATICS AND COMPUTING↗

ARC-DPA 1-MeV Neutron Fluence Equivalence Model for GaAs

Here, the legacy data used in the production of the American Society for Testing and Materials (ASTM) E722 standard for gallium arsenide (GaAs) were fit with the athermal recombination corrected-displacements per atom (ARC-DPA) model for the development of a novel 1-MeV neutron equivalent fluence metric. Improving on previous work, the coefficients for the ARC-DPA model were optimized using a conjugate gradient method, and the uncertainties in the observed damage in different benchmark neutron fields were sampled to quantify their contribution to the damage metric. The optimized parameters of −0.474 ± 0.03 for b arcdpa and 0.016 ± 0.002 for c arcdpa provided good agreement and indicated that the solution is not sensitive to the corresponding fluence uncertainties. Compared to the current 1-MeV neutron fluence equivalence standard for displacement damage in GaAs, our results indicate that for a thermal reactor neutron environment, displacement damage has been underestimated by around 25% and that the saturation value for the damage efficiency had been higher than previously modeled.

1-MeV equivalent fluence↗

A Framework for Error-Bounded Approximate Computing, with an Application to Dot Products

Approximate computing techniques, which trade off the computation accuracy of an algorithm for better performance and energy efficiency, have been successful in reducing computation and power costs in several domains. However, error sensitive applications in high-performance computing are unable to benefit from existing approximate computing strategies that are not developed with guaranteed error bounds. While approximate computing techniques can be developed for individual high-performance computing applications by domain specialists, this often requires additional theoretical analysis and potentially extensive software modification. Hence, the development of low-level error-bounded approximate computing strategies that can be introduced into any high-performance computing application without requiring additional analysis or significant software alterations is desirable. In this paper, we provide a contribution in this direction by proposing a general framework for designing error-bounded approximate computing strategies and apply it to the dot product kernel to develop \bf qdot---an error-bounded approximate dot product kernel. Following the introduction of qdot, here we perform a theoretical analysis that yields a deterministic bound on the relative approximation error introduced by qdot. Empirical tests are performed to illustrate the tightness of the derived error bound and to demonstrate the effectiveness of qdot on a synthetic dataset, as well as two scientific benchmarks---the conjugate gradient (CG) and power methods. In some instances, using qdot for the dot products in CG can result in many components being quantized to half precision without increasing the iteration count required for convergence to the same solution as CG using a double precision dot product.

97 MATHEMATICS AND COMPUTING↗

Fast and Scalable FFT-Based GPU-Accelerated Algorithms for Block-Triangular Toeplitz Matrices with Application to Linear Inverse Problems Governed by Autonomous Dynamical Systems

In this work, we present an efficient and scalable algorithm for performing matrix-vector multiplications (matvecs) for block Toeplitz matrices. Such matrices, which are shift-invariant with respect to their blocks, arise in the context of solving inverse problems governed by autonomous systems, and time-invariant systems in particular. In this article, we consider inverse problems that infer unknown parameters from observational data of a linear time-invariant dynamical system given in the form of partial differential equations (PDEs). Matrix-free Newton-conjugate-gradient methods are often the gold standard for solving these inverse problems, but they require numerous actions of the Hessian on a vector. Matrix-free adjoint-based Hessian matvecs require solution of a pair of linearized forward/adjoint PDE solves per Hessian action, which may be prohibitive for large-scale inverse problems. Time invariance of the forward PDE problem leads to a block Toeplitz structure of the discretized parameter-to-observable (p2o) map defining the mapping from inputs (parameters) to outputs (observables) of the PDEs. This block Toeplitz structure enables us to exploit two key properties: (1) compact storage of the p2o map and its adjoint, and (2) efficient fast Fourier transform–based Hessian matvecs. The proposed algorithm is mapped onto large multi-GPU clusters and achieves more than 80% of peak bandwidth on NVIDIA A100 GPUs. Excellent weak scaling is shown for up to 48 A100 GPUs. For the targeted problems, the implementation executes Hessian matvecs within fractions of a second, which is orders of magnitude faster than can be achieved by conventional matrix-free Hessian matvecs via forward/adjoint PDE solves.

97 MATHEMATICS AND COMPUTING↗

Replicated Computational Results (RCR) Report for “Adaptive Precision Block-Jacobi for High Performance Preconditioning in the Ginkgo Linear Algebra Software”

The article by Flegar et al. titled “Adaptive Precision Block-Jacobi for High Performance Preconditioning in the Ginkgo Linear Algebra Software” presents a novel, practical implementation of an adaptive precision block-Jacobi preconditioner. Performance results using state-of-the-art GPU architectures for the block-Jacobi preconditioner generation and application demonstrate the practical usability of the method, compared to a traditional full-precision block-Jacobi preconditioner. A production-ready implementation is provided in the Ginkgo numerical linear algebra library. In this report, the Ginkgo library is reinstalled and performance results are generated to perform a comparison to the original results when using Ginkgo’s Conjugate Gradient solver with either the full or the adaptive precision block-Jacobi preconditioner for a suite of test problems on an NVIDIA GPU accelerator. After completing this process, the published results are deemed reproducible.

97 MATHEMATICS AND COMPUTING↗

PERKS: a Locality-Optimized Execution Model for Iterative Memory-bound GPU Applications

Iterative memory-bound solvers commonly occur in HPC codes. Typical GPU implementations have a loop on the host side that invokes the GPU kernel as much as time/algorithm steps there are. The termination of each kernel implicitly acts the barrier required after advancing the solution every time step. We propose an execution model for running memory-bound iterative GPU kernels: PERsistent KernelS (PERKS). In this model, the time loop is moved inside persistent kernel, and device-wide barriers are used for synchronization. We then reduce the traffic to device memory by caching subset of the output in each time step in the unused registers and shared memory. PERKS can be generalized to any iterative solver: they largely independent of the solver's implementation. We explain the design principle of PERKS and demonstrate effectiveness of PERKS for a wide range of iterative 2D/3D stencil benchmarks (geomean speedup of 2.12x for 2D stencils and 1.24x for 3D stencils over state-of-art libraries), and a Krylov subspace conjugate gradient solver (geomean speedup of 4.86x in smaller SpMV datasets from SuiteSparse and 1.43x in larger SpMV datasets over a state-of-art library). All PERKS-based implementations available at: https://github.com/neozhang307/PERKS.

Zhang, Lingqi↗

Extending SEER for Extreme Heterogeneity

Heterogeneous and multi-device nodes are increasingly common in high-performance computing and data centers, yet existing programming models often lack simple, transparent, and portable support for these diverse architectures. The main contribution of this work is the development of novel SEER capabilities to address this challenge by providing a descriptive programming model that allows applications to seamlessly leverage heterogeneous nodes across various device types. SEER uses efficient memory management and can select the proper device[s] depending on the computational cost of the applications. This is completely transparent to the programmer, thereby providing a highly productive programming environment. Integrating extreme heterogeneity into the SEER library as shown with the use of NVIDIA and AMD GPUs simultaneously allows it to expand and exploit the performance possibilities. Our analysis based on the well-known Conjugate Gradient algorithm reports accelerations above 1.5 × on computationally demanding steps of such an algorithm by using both architectures simultaneously.

Teranishi, Keita [ORNL] (ORCID:0000000166472690)↗

Computation of graph hitting time moments; Chapel code implementation.

The project that developed this is unclassified, with the mandate to produce open source code. This code computes the hitting time moments of a graph using a linear algebra configuration. The goal of this work is to explore the performance capabilities of the Chapel programming language. Toward that end, we generate random adjacency matrices which represent a random graph. The code can also read in an adjacency matrix from a file. The main computation is the Conjugate Gradient method.SAND2020-12651 M. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

Barrett, Richard↗

HyKKT

HyKKT (pronounced as "hiked") is a package for solving systems of linear equations of Karush-Kuhn-Tucker (KKT) form, which typically arise in optimization problems, such as optimal power flow analysis. HyKKT uses Cholesky instead of LDL^T factorization and solves the general KKT system to a desired numerical precision via block reduction and conjugate gradient on the Schur complement. Such implementation is more suitable for implementation on graphic processing units (GPUs).

Regev, Shaked↗

LATTE: Los Alamos TravelTime package based on Eikonal equation

This Fortran code focuses on traveltime computation and tomography based on eikonal equation. Specifically, the package provides three major functionalities: (1) forward modeling of traveltime from single-point or ensemble source based on factorized eikonal equation, (2) adjoint-state first-arrival traveltime tomography based on picked first arrival traveltime using steepest descent, conjugate gradient, or limited-memory BFGS inversion scheme, and (3) adjoint-state joint transmission-reflection tomography based on picked first-arrival and reflection traveltimes. The package applies to forward modeling and tomography based on traveltime in 2D and 3D isotropic regular-grid models. We name this package LATTE – Los Alamos TravelTime package based on Eikonal equation. * The code is for accompanying a journal paper under preparation. The paper will be submitted via LA-UR separately later.

Gao, Kai↗

pnnl/LAP

A software framework to study, from the performance and energy perspective, the efficacy of GPU-resident parallel Conjugate Gradient (CG) linear solver with different preconditioner options, including Gauss-Seidel, Jacobi, and incomplete Cholesky. We also propose a novel GPU-based preconditioner, in which the triangular solves are approximated by an iterative process

Swirydowicz, Kasia↗

NeuroFEM

SAND2025-00525O NeuroFEM is a software tool that demonstrates a neuromorphic algorithm for solving finite element problems. It sets up a 2D finite element problem for the Poisson equation on a disk, constructs synaptic matrices, and simulates neural dynamics to solve the resulting sparse linear system. The software illustrates how the algorithm converges to the solution and plots the results, showcasing a neuromorphic counterpart to traditional methods like Conjugate Gradient or GMRES. This tool is designed to highlight the potential of neuromorphic algorithms for solving sparse linear systems, which are prevalent in various computational applications. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

SciDAC↗

NCCS High Performance GMRES Mixed Precision

HPG-MxP is a software package that performs a fixed number of multigrid preconditioned (using a Gauss-Seidel smoother) Generalized minimal residual (PGMRES) iterations in order to solve a possibly nonsymmetric large sparse linear system of equations. It is designed to be a benchmark to measure a computer's performance for sparse linear algebra workloads typical in scientific computing while allowing the use of mixed precision methods. The solution is required to have convergence characteristics and accuracy similar to double precision GMRES. It is based on the High Performance Conjugate Gradient Benchmark (HPCG) which restricts all implementations to use only the IEEE double precision format (FP64). The original implementation (https://github.com/hpg-mxp/hpg-mxp) was written by Ichitaro Yamazaki, Jennifer Loe, Christian Glusa, Sivasankaran Rajamanickam, Piotr Luszczek, and Jack Dongarra. Please refer to that repository for documentation on the original implementation. This version is maintained by the National Center for Computational Sciences at Oak Ridge National Laboratory. It is highly scalable and optimized for Oak Ridge Leadership Computing Facility (OLCF) systems, particularly Frontier.

Kashi, Aditya [Oak Ridge National Laboratory (ORNL↗

Advancing attenuation estimation through integration of the Hessian in multiparameter viscoacoustic full-waveform inversion

Accurate seismic attenuation models of subsurface structures not only enhance subsequent migration processes by improving fidelity, resolution, and facilitating amplitude-compliant angle gather generation but also provide valuable constraints on subsurface physical properties. Leveraging full-wavefield information, multiparameter viscoacoustic full-waveform inversion ( Q-FWI) simultaneously estimates seismic velocity and attenuation ( Q) models. However, a major challenge in Q-FWI is the contamination of crosstalk artifacts, where inaccuracies in the velocity model are mistakenly mapped to the inverted attenuation model. While incorporating the Hessian is expected to mitigate these artifacts, the explicit implementation is prohibitively expensive due to its formidable computational cost. In this study, we formulate and develop a Q-FWI algorithm via the Newton-conjugate gradient (CG) framework, where the search direction at each iteration is determined through an internal CG loop. In particular, the Hessian is integrated into each CG step in a matrix-free fashion using the second-order adjoint-state method. We find through synthetic experiments that our Newton-CG Q-FWI significantly mitigates crosstalk artifacts compared with the limited-memory Broyden-Fletcher-Goldfarb-Shanno method and the CG method, albeit with a notable computational cost. In the discussion of several key implementation details, we also determine the significance of the approximate Gauss-Newton Hessian, the second-order adjoint-state method, and the two-stage inversion strategy.

Geochemistry & Geophysics↗

ORNL_AISD_NiPt

This dataset describes the nickel-platinum (NiPt) solid solution binary alloy, where the two constituent elements nickel (Ni) and platinum (Pt) are randomly placed on the face centered cubic (FCC) crystal structure, with the lattice constant of 3.840 angstroms. The dataset comprises data for three different sizes of the crystal structure: 256 atoms, 864 atoms, and 2,048 atoms, each of which contains 1900 configurations. For each size of the crystal structure, the data set was generated for concentrations ranging from 0at% of Pt to 100at% of Pt in the NiPt binary system, with increasing the concentration of Pt in the system every 5at%. For each one of the chemical compositions, 100 random configurations were generated, each with a different random seed. Each of the output files contains the mass, type, atomic coordinates, energy per atom, and forces in x, y, and z directions respectively. For each atomic configuration, the output was collected every 150 steps during the minimization stage and every 1000 steps during the replica exchange stage. Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) [1], which is a molecular dynamics code, was used to generate data for NiPt alloy. The simulation used the interatomic potential for NiPt binary system MEAM_LAMMPS_KimSeolJi_2017_PtNi__MO_020840179467_001 [3] from the OpenKIM library (Open Knowledgebase of Interatomic Models) [2]. This potential was developed based on the second nearest-neighbor modified embedded-atom method (2NN MEAM). The simulation process begins with the generation of the random NiPt structure and follows with the short minimization and replica exchange simulation. The minimization procedure adjusts atomic coordinates and performs energy minimization, which typically leads to a local potential energy minimum. The method used for the minimization was the conjugate gradient algorithm. A short replica exchange (parallel tempering) simulation involves four replicas (ensembles) of a system and follows the minimization stage. Multiple snapshots of the configuration were collected during the minimization and replica exchange stages. NiPt alloy is interesting due to its magnetic and charge transfer properties [4]. The data is provided in three compressed zipped folders: atoms256.zip, atoms864.zip, atoms2048.zip Each zipped folder contains the data that describes crystals of size 256 atoms, 864 atoms, and 2,048 atoms respectively. Each one of the three zipped folders contains the data structured in the following way: -Ni_ground_state.cfg --> atomic configuration for the pure nickel -Pt_ground_state.cfg --> atomic configuration for the pure platinum -Pt#_filtered --> folders containing atomic configurations for #at% concentration of platinum. The folder contains 100 atomic configurations, each saved in a subfolder. Each subfolder named config* is associated with a specific atomic configuration. Each of these subfolders contains files with .cfg format, corresponding to outputs for each atomic configuration The total number of atomic configurations contained in atoms256.zip is 65,046. The total number of atomic configurations contained in atoms864.zip is 63,936. The total number of atomic configurations contained in atoms2048.zip is 61,997. The total number of atomic configurations spanned by the entire dataset is 190,979. References [1] https://www.lammps.org/ [2] https://openkim.org/ [3] https://openkim.org/id/MEAM_LAMMPS_KimSeolJi_2017_PtNi__MO_020840179467_001 [4] El-Gendy, Ahmed A. and Hampel, Silke and Büccchner, Bernd and Klingeler, Rüdiger, Tuneable magnetic properties of carbon-shielded NiPt-nanoalloys, RSC Adv., volume 6, issue 57, pages 52427-52433, 2016, The Royal Society of Chemistry, doi:10.1039/C6RA05910D

36 MATERIALS SCIENCE↗

ORNL_AISD_NiPt_108atoms

This dataset describes the nickel-platinum (NiPt) solid solution binary alloy, where the two constituent elements nickel (Ni) and platinum (Pt) are randomly placed on the face centered cubic (FCC) crystal structure, with the lattice constant of 3.840 angstroms. The dataset comprises data for crystal structures with 108 atoms with 1,900 configurations. The data set was generated for concentrations ranging from 0at% of Pt to 100at% of Pt in the NiPt binary system, with increasing the concentration of Pt in the system every 5at%. For each one of the chemical compositions, 100 random configurations were generated, each with a different random seed. Each of the output files contains the mass, type, atomic coordinates, energy per atom, and forces in x, y, and z directions respectively. For each atomic configuration, the output was collected every 150 steps during the minimization stage and every 1000 steps during the replica exchange stage. Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) [1], which is a molecular dynamics code, was used to generate data for NiPt alloy. The simulation used the interatomic potential for NiPt binary system 'MEAM_LAMMPS_KimSeolJi_2017_PtNi__MO_020840179467_001' [3] from the OpenKIM library (Open Knowledgebase of Interatomic Models) [2]. This potential was developed based on the second nearest-neighbor modified embedded-atom method (2NN MEAM). The simulation process begins with the generation of the random NiPt structure and follows with the short minimization and replica exchange simulation. The minimization procedure adjusts atomic coordinates and performs energy minimization, which typically leads to a local potential energy minimum. The method used for the minimization was the conjugate gradient algorithm. A short replica exchange (parallel tempering) simulation involves four replicas (ensembles) of a system and follows the minimization stage. Multiple snapshots of the configuration were collected during the minimization and replica exchange stages. NiPt alloy is interesting due to its magnetic and charge transfer properties [4]. The data is provided in a compressed zipped folders atoms108.zip. The zipped folder contains the data structured in the following way: - Ni_ground_state.cfg --> atomic configuration for the pure nickel - Pt_ground_state.cfg --> atomic configuration for the pure platinum - Pt#_filtered --> folders containing atomic configurations for #at% concentration of platinum. The folder contains 100 atomic configurations, each saved in a subfolder - Each subfolder named config* is associated with a specific atomic configuration. Each of these subfolders contains files with .cfg format, corresponding to outputs for each atomic configuration The total number of atomic configurations contained in atoms108.zip is 66,132. This dataset is an extension to the dataset ORNL_AISD_NiPt [5] that has been previously released with crystal structures of 256 atoms, 864 atoms, and 2,048 atoms, with the same methodology for data collection. References [1] https://www.lammps.org/ [2] https://openkim.org/ [3] https://openkim.org/id/MEAM_LAMMPS_KimSeolJi_2017_PtNi__MO_020840179467_001 [4] El-Gendy, Ahmed A. and Hampel, Silke and Büchner, Bernd and Klingeler, Rüdiger, Tuneable magnetic properties of carbon-shielded NiPt-nanoalloys, RSC Adv., volume 6, issue 57, pages 52427-52433, 2016, The Royal Society of Chemistry, doi:10.1039/C6RA05910D [5] M. Karabin, M. Lupo Pasini, and M. Eisenbach. ORNL_AISD_NiPt. United States: N. p., 2023. Web. doi:10.13139/OLCF/1958172.

36 MATERIALS SCIENCE↗

Numerical Experiments and Identification of Areas for Further Consideration (B639388 Subcontract Quarter II Report)

The second quarter of the project was spent carrying out numerical experiments on a variety of test matrices, using a combination of precisions, with the intent to study the numerical properties (namely, accuracy and convergence behavior) of the Conjugate Gradient (CG) method. We summarize our findings in the remainder of the document. Other activities include attending biweekly xSDK meetings. We are also currently collaborating with Steven Thomas (NREL) on the numerical stability analysis of “low-synch” Gram-Schmidt routines, for potential application within high-performance GMRES variants. This work is in progress. The subsequent quarter will be spent delving into the numerical analysis in order to provide theoretical explanation for the behavior observed in our experiments.

97 MATHEMATICS AND COMPUTING↗