Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “direct solver”

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 19 records

Batched sparse direct solver design and evaluation in SuperLU_DIST

Over the course of interactions with various application teams, the need for batched sparse linear algebra functions has emerged in order to make more efficient use of the GPUs for many small and sparse linear algebra problems. In this paper, we present our recent work on a batched sparse direct solver for GPUs. The sparse LU factorization is computed by the levels of the elimination tree, leveraging the batched dense operations at each level and a new batched Scatter GPU kernel. The sparse triangular solve is computed by the level sets of the directed acyclic graph (DAG) of the triangular matrix. Batched operations overcome the large overhead associated with launching many small kernels. For medium sized matrix batches with not-so-small bandwidth, using an NVIDIA A100 GPU, our new batched sparse direct solver is orders of magnitude faster than a batched banded solver and uses less than one-tenth of the memory.

Boukaram, Wajih↗

The use of direct solvers for compressible flow computations

The feasibility of using a vectorized direct solver for the compressible Euler and Navier-Stokes equations is examined for both single-grid and multi-grid strategies. A procedure is developed for comparing the computational effort required for the direct method with that of the vertical line Gauss-Seidel iteration scheme in order to provide a criteria for choosing between the two techniques. The direct method is shown to have a relatively wide range of application on a vector processor with large memory. Results for both inviscid and viscous test problems in two-dimensions are examined.

Riggins, David↗

Newly Released Capabilities in the Distributed-Memory SuperLU Sparse Direct Solver

We present the new features available in the recent release of SuperLU_DIST, Version 8.1.1. SuperLU_DIST is a distributed-memory parallel sparse direct solver. The new features include (1) a 3D communication-avoiding algorithm framework that trades off inter-process communication for selective memory duplication, (2) multi-GPU support for both NVIDIA GPUs and AMD GPUs, and (3) mixed-precision routines that perform single-precision LU factorization and double-precision iterative refinement. Apart from the algorithm improvements, we also modernized the software build system to use CMake and Spack package installation tools to simplify the installation procedure. Throughout the article, we describe in detail the pertinent performance-sensitive parameters associated with each new algorithmic feature, show how they are exposed to the users, and give general guidance of how to set these parameters. We illustrate that the solver’s performance both in time and memory can be greatly improved after systematic tuning of the parameters, depending on the input sparse matrix and underlying hardware.

97 MATHEMATICS AND COMPUTING↗

Calculations of transonic flows with shocks using Newton's method and direct solver. II - Solution of Euler equations

Transonic flows with shocks are simulated using steady Euler equations and by simultaneously solving the resulting nonlinear algebraic equations using Newton's method. At each iteration, a direct solver computes the corrections and the process is repeated until convergence is achieved. The corrections and errors are reduced quadratically with the present method, allowing solutions of machine accuracy to be obtained in a few steps. Nonunique inviscid solutions and nonunique solutions of the Navier Stokes equations for quasi-one-dimensional flows in nozzles are presented. Calculations are also presented for steady two-dimensional inviscid flows around a cylinder in the transonic regime.

Hafez, M.↗

A High-Order Direct Solver for Helmholtz Equations with Neumann Boundary Conditions

In this study, a compact finite-difference discretization is first developed for Helmholtz equations on rectangular domains. Special treatments are then introduced for Neumann and Neumann-Dirichlet boundary conditions to achieve accuracy and separability. Finally, a Fast Fourier Transform (FFT) based technique is used to yield a fast direct solver. Analytical and experimental results show this newly proposed solver is comparable to the conventional second-order elliptic solver when accuracy is not a primary concern, and is significantly faster than that of the conventional solver if a highly accurate solution is required. In addition, this newly proposed fourth order Helmholtz solver is parallel in nature. It is readily available for parallel and distributed computers. The compact scheme introduced in this study is likely extendible for sixth-order accurate algorithms and for more general elliptic equations.

Sun, Xian-He↗

A fast direct solver for a class of two-dimensional separable elliptic equations on the sphere

An efficient, direct, second-order solver for the discrete solution of two-dimensional separable elliptic equations on the sphere is presented. The method involves a Fourier transformation in longitude and a direct solution of the resulting coupled second-order finite difference equations in latitude. The solver is made efficient by vectorizing over longitudinal wavenumber and by using a vectorized fast Fourier transform routine. It is evaluated using a prescribed solution method and compared with a multigrid solver and the standard direct solver from FISHPAK.

Moorthi, Shrinivas↗

A graphics processing unit accelerated sparse direct solver and preconditioner with block low rank compression

We present the GPU implementation efforts and challenges of the sparse solver package STRUMPACK. The code is made publicly available on github with a permissive BSD license. STRUMPACK implements an approximate multifrontal solver, a sparse LU factorization which makes use of compression methods to accelerate time to solution and reduce memory usage. Multiple compression schemes based on rank-structured and hierarchical matrix approximations are supported, including hierarchically semi-separable, hierarchically off-diagonal butterfly, and block low rank. Here, in this paper, we present the GPU implementation of the block low rank (BLR) compression method within a multifrontal solver. Our GPU implementation relies on highly optimized vendor libraries such as cuBLAS and cuSOLVER for NVIDIA GPUs, rocBLAS and rocSOLVER for AMD GPUs and the Intel oneAPI Math Kernel Library (oneMKL) for Intel GPUs. Additionally, we rely on external open source libraries such as SLATE (Software for Linear Algebra Targeting Exascale), MAGMA (Matrix Algebra on GPU and Multi-core Architectures), and KBLAS (KAUST BLAS). SLATE is used as a GPU-capable ScaLAPACK replacement. From MAGMA we use variable sized batched dense linear algebra operations such as GEMM, TRSM and LU with partial pivoting. KBLAS provides efficient (batched) low rank matrix compression for NVIDIA GPUs using an adaptive randomized sampling scheme. The resulting sparse solver and preconditioner runs on NVIDIA, AMD and Intel GPUs. Interfaces are available from PETSc, Trilinos and MFEM, or the solver can be used directly in user code. We report results for a range of benchmark applications, using the Perlmutter system from NERSC, Frontier from ORNL, and Aurora from ALCF. For a high frequency wave equation on a regular mesh, using 32 Perlmutter compute nodes, the factorization phase of the exact GPU solver is about 6.5× faster compared to the CPU-only solver. The BLR-enabled GPU solver is about 13.8× faster than the CPU exact solver. For a collection of SuiteSparse matrices, the STRUMPACK exact factorization on a single GPU is on average 1.9× faster than NVIDIA’s cuDSS solver.

97 MATHEMATICS AND COMPUTING↗

Efficient use of direct solvers for the calculation of compressible flows

While the direct solution of systems of linear equations resulting from fluid dynamic problems has generally not been practical in the past, it is presently demonstrated that the direct method is often more efficient than the most popular iterative schemes when constructed in such a way as to take advantage of presently available vector processing capabilities and large memory. The vertical line Gauss-Seidel algorithm was chosen as the iterative method to be compared with the direct method. It is fond that the direct method becomes efficient only when large residual reductions are desired.

Riggins, David W.↗

A semi-direct solver for compressible 3-dimensional rotational flow

An iterative procedure is presented for solving steady inviscid 3-D subsonic rotational flow problems. The procedure combines concepts from classical secondary flow theory with an extension to 3-D of a novel semi-direct Cauchy-Riemann solver. It is developed for generalized coordinates and can be exercised using standard finite difference procedures. The stability criterion of the iterative procedure is discussed along with its ability to capture the evolution of inviscid secondary flow in a turning channel.

Chang, S. C.↗

A semi-direct solver for compressible three-dimensional rotational flow

An iterative procedure is presented for solving steady inviscid 3-D subsonic rotational flow problems. The procedure combines concepts from classical secondary flow theory with an extension to 3-D of a novel semi-direct Cauchy-Riemann solver. It is developed for generalized coordinates and can be exercised using standard finite difference procedures. The stability criterion of the iterative procedure is discussed along with its ability to capture the evolution of inviscid secondary flow in a turning channel.

Chang, S.-C.↗

Object-Oriented Design for Sparse Direct Solvers

We discuss the object-oriented design of a software package for solving sparse, symmetric systems of equations (positive definite and indefinite) by direct methods. At the highest layers, we decouple data structure classes from algorithmic classes for flexibility. We describe the important structural and algorithmic classes in our design, and discuss the trade-offs we made for high performance. The kernels at the lower layers were optimized by hand. Our results show no performance loss from our object-oriented design, while providing flexibility, case of use, and extensibility over solvers using procedural design.

Dobrian, Florin↗

Implicit transient finite element structural computations on MIMD systems - FETI vs. direct solvers

A domain decomposition method for implicit schemes that require significantly less storage and is several times faster than factorization algorithms is proposed. The transient domain decomposition method is an extension of the finite element tearing and interconnecting (FETI) method for the solution of static problems. Serial and parallel performance results obtained using the CRAY Y-MP/8 and the iPSC-860/128 systems demonstrate that the FETI method is superior to both serial and parallel direct methods.

Crivelli, Luis↗

Application of direct solvers to unstructured meshes for the Euler and Navier-Stokes equations using upwind schemes

The application of Newton iteration to inviscid and viscous airfoil calculations on unstructured meshes is examined. A cell-centered finite volume scheme is employed on an unstructured mesh consisting of triangles. Roe's flux difference splitting scheme is used to compute the inviscid fluxes. Higher order accuracy is achieved by an interpolation procedure that makes use of auxiliary gradients. The efficient solution of the sparse linear system of equations which arises upon linearization in time is addressed. Results are presented for inviscid and viscous test cases. The complications which arise due to the introduction of nonlinear limiters are addressed.

Venkatakrishnan, V.↗

Viscous computations using a direct solver

Laminar viscous flows over airfoils are investigated analytically, applying the flux-difference splitting scheme of Roe (1986) to solve the thin-layer Navier-Stokes equations. Central-difference discretization is used for the viscous terms, and a fully implicit implementation is employed to minimize the Reynolds-number effect on convergence. Results for flows at freestream Mach number 0.5 and Reynolds number 5000 over NACA0012 airfoils at angles of attack 0 and 3 deg are presented graphically and discussed in detail. Good agreement with previous calculations is obtained, with accurate reproduction of essential features despite the use of coarser meshes.

Venkatakrishnan, V.↗

A semi-direct procedure using a local relaxation factor and its application to an internal flow problem

Generally, fast direct solvers are not directly applicable to a nonseparable elliptic partial differential equation. This limitation, however, is circumvented by a semi-direct procedure, i.e., an iterative procedure using fast direct solvers. An efficient semi-direct procedure which is easy to implement and applicable to a variety of boundary conditions is presented. The current procedure also possesses other highly desirable properties, i.e.: (1) the convergence rate does not decrease with an increase of grid cell aspect ratio, and (2) the convergence rate is estimated using the coefficients of the partial differential equation being solved.

Chang, S. C.↗

GPU-resident sparse direct linear solvers for alternating current optimal power flow analysis

Integrating renewable resources within the transmission grid at a wide scale poses significant challenges for economic dispatch as it requires analysis with more optimization parameters, constraints, and sources of uncertainty. This motivates the investigation of more efficient computational methods, especially those for solving the underlying linear systems, which typically take more than half of the overall computation time. In this paper, we present our work on sparse linear solvers that take advantage of hardware accelerators, such as graphical processing units (GPUs), and improve the overall performance when used within economic dispatch computations. We treat the problems as sparse, which allows for faster execution but also makes the implementation of numerical methods more challenging. We present the first GPU-native sparse direct solver that can execute on both AMD and NVIDIA GPUs. We demonstrate significant performance improvements when using high-performance linear solvers within alternating current optimal power flow (ACOPF) analysis. Furthermore, we demonstrate the feasibility of getting significant performance improvements by executing the entire computation on GPU-based hardware. Finally, we identify outstanding research issues and opportunities for even better utilization of heterogeneous systems, including those equipped with GPUs.

24 POWER TRANSMISSION AND DISTRIBUTION↗

Fast methods incorporating direct elliptic solvers for nonlinear applications in fluid dynamics

Semidirect methods are discussed, their present role, as well as some developments for their application in computational fluid dynamics. A semidirect method is a computational scheme that uses a fast, direct, elliptic solver as the driving algorithm for the iterative solution of finite difference equations. Specific subtopics include: (1) direct Cauchy Riemann solvers for first order elliptic equations; (2) application of the semidirect method to the mixed elliptic hyperbolic problem of steady, inviscid transonic flow; and (3) the treatment of interior conditions, such as those on an airfoil or wing, in semidirect methods.

Martin, E. D.↗