Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “parallel algorithms”

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 1,117 records · Page 62

Computing the partition function, ensemble averages, and density of states for lattice spin systems by sampling the mean

An algorithm to approximately calculate the partition function (and subsequently ensemble averages) and density of states of lattice spin systems through non-Monte-Carlo random sampling is developed. This algorithm (called the sampling-the-mean algorithm) can be applied to models where the up or down spins at lattice nodes interact to change the spin states of other lattice nodes, especially non-Ising-like models with long-range interactions such as the biological model considered here. Because it is based on the Central Limit Theorem of probability, the sampling-the-mean algorithm also gives estimates of the error in the partition function, ensemble averages, and density of states. Easily implemented parallelization strategies and error minimizing sampling strategies are discussed. The sampling-the-mean method works especially well for relatively small systems, systems with a density of energy states that contains sharp spikes or oscillations, or systems with little a priori knowledge of the density of states.

97 MATHEMATICS AND COMPUTING↗

Xyce Parallel Electronic Simulator Users' Guide (V.7.1)

This manual describes the use of the Xyce Parallel Electronic Simulator. Xyce has been designed as a SPICE-compatible, high-performance analog circuit simulator, and has been written to support the simulation needs of the Sandia National Laboratories electrical designers. This development has focused on improving capability over the current state-of-the-art in the following areas: 1) Capability to solve extremely large circuit problems by supporting large-scale parallel computing platforms (up to thousands of processors). This includes support for most popular parallel and serial computers. 2) A differential-algebraic-equation (DAE) formulation, which better isolates the device model package from solver algorithms. This allows one to develop new types of analysis without requiring the implementation of analysis-specific device models. 3) Device models that are specifically tailored to meet Sandia's needs, including some radiation-aware devices (for Sandia users only). 4) Object-oriented code design and implementation using modern coding practices. Xyce is a parallel code in the most general sense of the phrase a message passing parallel implementation which allows it to run efficiently a wide range of computing platforms. These include serial, shared-memory and distributed-memory parallel platforms. Attention has been paid to the specific nature of circuit-simulation problems to ensure that optimal parallel efficiency is achieved as the number of processors grows.

42 ENGINEERING↗

Xyce™ Parallel Electronic Simulator Users' Guide, Version 7.5.

This manual describes the use of the Xyce Parallel Electronic Simulator. Xyce has been designed as a SPICE-compatible, high-performance analog circuit simulator, and has been written to support the simulation needs of the Sandia National Laboratories electrical designers. This development has focused on improving capability over the current state-of-the-art in the following areas: (1) Capability to solve extremely large circuit problems by supporting large-scale parallel computing platforms (up to thousands of processors). This includes support for most popular parallel and serial computers. (2) A differential-algebraic-equation (DAE) formulation, which better isolates the device model package from solver algorithms. This allows one to develop new types of analysis without requiring the implementation of analysis-specific device models. (3) Device models that are specifically tailored to meet Sandia's needs, including some radiation-aware devices (for Sandia users only). (4) Object-oriented code design and implementation using modern coding practices. Xyce is a parallel code in the most general sense of the phrase — a message passing parallel implementation — which allows it to run efficiently a wide range of computing platforms. These include serial, shared-memory and distributed-memory parallel platforms. Attention has been paid to the specific nature of circuit-simulation problems to ensure that optimal parallel efficiency is achieved as the number of processors grows.

97 MATHEMATICS AND COMPUTING↗

Xyce™ Parallel Electronic Simulator Users' Guide (V.7.6)

This manual describes the use of the Xyce™ Parallel Electronic Simulator. Xyce™ has been designed as a SPICE-compatible, high-performance analog circuit simulator, and has been written to support the simulation needs of the Sandia National Laboratories electrical designers. This development has focused on improving capability over the current state-of-the-art in the following areas: (1) Capability to solve extremely large circuit problems by supporting large-scale parallel computing platforms (up to thousands of processors). This includes support for most popular parallel and serial computers. (2) A differential-algebraic-equation (DAE) formulation, which better isolates the device model package from solver algorithms. This allows one to develop new types of analysis without requiring the implementation of analysis-specific device models. (3) Device models that are specifically tailored to meet Sandia's needs, including some radiation-aware devices (for Sandia users only). (4) Object-oriented code design and implementation using modern coding practices. Xyce™ is a parallel code in the most general sense of the phrase—a message passing parallel implementation—which allows it to run efficiently a wide range of computing platforms. These include serial, shared-memory and distributed-memory parallel platforms. Attention has been paid to the specific nature of circuit-simulation problems to ensure that optimal parallel eficiency is achieved as the number of processors grows.

97 MATHEMATICS AND COMPUTING↗

Xyce™ Parallel Electronic Simulator Users’ Guide, Version 7.8

This manual describes the use of the Xyce Parallel Electronic Simulator. Xyce has been designed as a SPICE-compatible, high-performance analog circuit simulator, and has been written to support the simulation needs of the Sandia National Laboratories electrical designers. This development has focused on improving capability over the current state-of-the-art in the following areas: (1) Capability to solve extremely large circuit problems by supporting large-scale parallel computing platforms (up to thousands of processors). This includes support for most popular parallel and serial computers. (2) A differential-algebraic-equation (DAE) formulation, which better isolates the device model package from solver algorithms. This allows one to develop new types of analysis without requiring the implementation of analysis-specific device models. (3) Device models that are specifically tailored to meet Sandia’s needs, including some radiation-aware devices (for Sandia users only). (4) Object-oriented code design and implementation using modern coding practices. Xyce is a parallel code in the most general sense of the phrase — a message passing parallel implementation — which allows it to run efficiently a wide range of computing platforms. These include serial, shared-memory and distributed-memory parallel platforms. Attention has been paid to the specific nature of circuit-simulation problems to ensure that optimal parallel efficiency is achieved as the number of processors grows.

42 ENGINEERING↗

Shift: A Massively Parallel Monte Carlo Radiation Transport Package

This paper discusses the massively-parallel Monte Carlo radiation transport package, Shift, developed at Oak Ridge National Laboratory. It reviews the capabilities, implementation, and parallel performance of this code package. Scaling results demonstrate very good strong and weak scaling behavior of the implemented algorithms. Benchmark results from various reactor problems show that Shift results compare well to other contemporary Monte Carlo codes and experimental results.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Data Locality Enhancement of Dynamic Simulations for Exascale Computing (Final Report)

The development of modern processors exhibits two trends that complicate the optimizations of modern software. The first is the increasing sensitivity of processors' throughput to irregularities in computation. With more processors produced through a massive integration of simple cores, future systems will increasingly favor regular data-level parallel computations, but deviate from the needs of applications with complex patterns. Some evidences are already shown on Graphic Processing Units (GPU): Irregular data accesses (e.g., indirect references A[D[i]]) and conditional branches are limiting many GPU applications' performance at a level an order of magnitude lower than the peak of GPU. The second hardware trend is the growing gap between memory bandwidth and the aggregate speed—that is, the sum of all cores' computing power—of a Chip Multiprocessor (CMP). Despite the capped growth of the peak CPU speed, the aggregate speed of a CMP keeps increasing as more cores get into a single chip. It is expected that by 2018, node concurrency in an exascale system will increase by hundreds of times, whereas, memory bandwidth will expand by only 10 to 20 times. Consequently, data movement and storage is expected to consume more than 70% of the total system power. Bridging this gap is difficult; the complexities of modern CMP memory hierarchy make it even harder: Data cache becomes shared among computing units, and the sharing is often non-uniform—whether two computing units share a cache depends on their proximity and the level of the cache. On the recent IBM Power7 architecture, for instance, four hardware contexts (or SMT threads) in a core share the entire memory hierarchy, all cores in one chip share an on-chip L3 cache, and cores across chips share L3 and main memory through off-chip connections. These two trends complicate the translation of computing power into performance, especially for a program with either intensive data accesses or complex patterns in data accesses or control flow paths. Unfortunately, both attributes present and will persist in a class of important applications. For instance, many scientific simulations deal with a large volume of data. And meanwhile, as most real-world processes are non-uniform and evolving (e.g., the evolution of a galaxy or the process of a drug injection), both the computations and data accesses of these programs tend to be irregular and dynamically changing. Currently, the lack of support to these applications on modern CMP severely limits their performance. On GPU, as our recent study shows and other studies echo, performance enhancement of a factor of integers is possible when memory accesses or control flows are streamlined for a set of GPU applications. On multicore CPU, our studies show that traditional locality enhancement, for being oblivious to the new features of multicore memory hierarchy, may even cause large slowdown to data-intensive dynamic applications. The severity of the issues is expected to worsen as the two hardware trends continue. Some recent studies try to match software with the trends, but in a limited scope or manner. For irregularities on GPU, most studies focus on irregularities analyzable through static analysis (e.g., data accesses in regular loops). Dynamic irregularities are harder to address because the needed analysis and transformations typically have to happen at run time. Some other research resorts to hardware extensions, an actual adoption of which is unclear for the entailed space cost and complexity. For data locality, recent years have seen some exploitations of the new memory hierarchy on multicore for performance, but most of them are on process or thread scheduling, rather than program transformations. Our recent study reveals that program-level transformations may magnify the scheduling benefits by a factor of seven, concluding that program-level transformation should play a central role for data locality enhancement on modern CMP. But research in this direction has been sparse, and most have focused on data layout or cache performance modeling, rather than program transformations to match with the new memory hierarchy features. Overall, it is still an open question how to bridge the gap between dynamic computations and the two prominent properties of modern processors. The goal of this project is to develop a set of techniques and software tools to enhance the matching between memory accesses in dynamic simulations and the prominent features of modern and future CMP, alleviating the memory performance issues for petascale and exascale computing. This report summarizes the discoveries and products produced throughout this project. It includes free launch, a new software approach to overcoming the shortcomings of both methods; coherence-free multiview, an approach that allows multiple views of a single data object to co-exist on GPU memory during a GPU kernel execution; algorithmic optimizations to data analytics problems, especially those that involve lots of distance calculations. Supporting dynamic parallelism is important for GPU to benefit a broad range of applications. There are currently two fundamental ways for programs to exploit dynamic parallelism on GPU: a software-based approach with software-managed worklists, and a hardware-based approach through dynamic subkernel launches. Neither is satisfactory. The former is complicated to program and is often subject to some load imbalance; the latter suffers large runtime overhead. In this work, we propose free launch, a new software approach to overcoming the shortcomings of both methods. It allows programmers to use subkernel launches to express dynamic parallelism. It employs a novel compiler-based code transformation named subkernel launch removal to replace the subkernel launches with the reuse of parent threads. Coupled with an adaptive task assignment mechanism, the transformation reassigns the tasks in the subkernels to the parent threads with a good load balance. The technique requires no hardware extensions, immediately deployable on existing GPUs. It keeps the programming convenience of the subkernel launch-based approach while avoiding its large runtime overhead. Meanwhile, its superior load balancing makes it outperform manual worklist-based techniques by 3X on average. The work was published at the 48th Annual IEEE/ACM International Symposium on Microarchitecture (Micro'2015). A Graphic Processing Unit (GPU) system is typically equipped with many types of memory (e.g., global, constant, texture, shared, cache). Data placement determines what data are placed on which type of memory, essential for GPU memory performance. Prior optimizations of data placement always require a single view of a data object on memory, which limits the optimization effectiveness. In this work, we propose coherence-free multiview, an approach that allows multiple views of a single data object to co-exist on GPU memory during a GPU kernel execution. We demonstrate that under certain conditions, the multiple views can remain incoherent while facilitating enhanced data placement. We present a theorem and some compiler support to ensure the soundness of the usage of coherence-free multiview. We further develop reference-discerning data placement, a new way to enhance data placements on GPU. It enables more flexible data placements by using coherence-free multiview to leverage the slack in coherence requirement of some GPU programs. Experiments on three types of GPU systems show that, with less than 200KB space cost, the new data placement technique can provide a 1.6X average (up to 4.27X) speedup. In addition, we have examined algorithmic optimizations to data analytics problems, especially those that involve lots of distance calculations. Computing distances among data points is an essential part of many important algorithms in data analytics, graph analysis, and other domains. In each of these domains, developers have spent significant manual effort optimizing algorithms, often through novel applications of the triangle equality, in order to minimize the number of distance computations in the algorithms. In this work, we observe that many algorithms across these domains can be generalized as an instance of a generic distance-related abstraction. Based on this abstraction, we derive seven principles for correctly applying the triangular inequality to optimize distance-related algorithms. Guided by the findings, we develop Triangular OPtimizer (TOP), the first software framework that is able to automatically produce optimized algorithms that either matches or outperforms manually designed algorithms for solving distance-related problems. TOP achieves up to 237x speedups and 2.5X on average. The work has been published at the 32nd International Conference on Machine Learning (ICML'15) and the 41st International Conference on Very Large Data Bases (VLDB'15).

42 ENGINEERING↗

Uncollided flux techniques for arbitrary finite element meshes

The uncollided angular flux can be difficult to compute accurately in discrete-ordinate radiation transport codes, especially in weakly-scattering configurations with localized sources. It has long been recognized that an analytical or semi-analytical treatment of the uncollided flux, coupled with a discrete-ordinate solution for the collided flux, can yield dramatic improvements in solution accuracy and computational efficiency. In this paper, we present such an algorithm for the semi-analytical calculation of the uncollided flux. This algorithm is unique in several aspects: (1) it applies to arbitrary polyhedral cells (and can be thus coupled with collided flux solvers that support arbitrary polyhedral meshes without the need for explicit tetrahedral re-meshing), (2) it provides accurate uncollided solutions near sources, (3) it is devised with parallel implementation in mind, and (4) it minimizes the total number of traced rays and maintains a reasonable ray density on each local subdomain. This paper provides a complete derivation of the algorithm and demonstrates its important features on a set of simple examples and a standard transport benchmark. Assessment of its parallel performance will be the subject of a subsequent paper.

42 ENGINEERING↗

Dynamic model-based sensor network design algorithm for system efficiency maximization

Here, a dynamic model-based sensor network design (DMSND) algorithm has been developed for maximizing system efficiency for an estimator-based control system. The algorithm synthesizes the optimal sensor network in the face of disturbances or set point changes. Computational expense of the large-scale combinatorial optimization problem is significantly reduced by parallel computing and by using combination of three novel strategies: multi-rate sampling frequency, model order reduction, and use of an incumbent solution that enables early termination of evaluation of infeasible sensor sets. The developed algorithm is applied to an acid gas removal unit as part of an integrated gasification combined cycle power plant with carbon capture. Even though there are more than thousand process states and more than hundred candidate sensor locations, the optimal sensor network design problem for maximizing process efficiency could be solved within couple of hours for a given budget.

47 OTHER INSTRUMENTATION↗

Novel strategies for modal-based structural material identification

Here, we present modal-based methods for model calibration in structural dynamics, and address several key challenges in the solution of gradient-based optimization problems with eigenvalues and eigenvectors, including the solution of singular Helmholtz problems encountered in sensitivity calculations, non-differentiable objective functions caused by mode swapping during optimization, and cases with repeated eigenvalues. Unlike previous literature that relied on direct solution of the eigenvector adjoint equations, we present a parallel iterative domain decomposition strategy (Adjoint Computation via Modal Superposition with Truncation Augmentation) for the solution of the singular Helmholtz problems. For problems with repeated eigenvalues we present a novel Mode Separation via Projection algorithm, and in order to address mode swapping between inverse iterations we present a novel Injective mode ordering metric. We present the implementation of these methods in a massively parallel finite element framework with the ability to use measured modal data to extract unknown structural model parameters from large complex problems. A series of increasingly complex numerical examples are presented that demonstrate the implementation and performance of the methods in a massively parallel finite element framework [7], [5], using gradient-based optimization techniques in the Rapid Optimization Library (ROL) [21].

36 MATERIALS SCIENCE↗

Multifrontal Non-negative Matrix Factorization

Non-negative matrix factorization (Nmf) is an important tool in high-performance large scale data analytics with applications ranging from community detection, recommender system, feature detection and linear and non-linear unmixing. While traditional Nmf works well when the data set is relatively dense, however, it may not extract sufficient structure when the data is extremely sparse. Specifically, traditional Nmf fails to exploit the structured sparsity of the large and sparse data sets resulting in dense factors. We propose a new algorithm for performing Nmf on sparse data that we call multifrontal Nmf (Mf-Nmf) since it borrows several ideas from the multifrontal method for unconstrained factorization (e.g. LU and QR). We also present an efficient shared memory parallel implementation of Mf-Nmf and discuss its performance and scalability. We conduct several experiments on synthetic and realworld datasets and demonstrate the usefulness of the algorithm by comparing it against standard baselines. We obtain a speedup of 1.2x to 19.5x on 24 cores with an average speed up of 10.3x across all the real world datasets.

Sao, Piyush↗

The Particle Accelerator Simulation Code PyORBIT

The particle accelerator simulation code PyORBIT is presented. The structure, implementation, history, parallel and simulation capabilities, and future development of the code are discussed. The PyORBIT code is a new implementation and extension of algorithms of the original ORBIT code that was developed for the Spallation Neutron Source accelerator at the Oak Ridge National Laboratory. The PyORBIT code has a two level structure. The upper level uses the Python programming language to control the flow of intensive calculations performed by the lower level code implemented in the C++ language. The parallel capabilities are based on MPI communications. The PyORBIT is an open source code accessible to the public through the Google Open Source Projects Hosting service.

Accelerator Simulation↗

PaRSEC: A Software Framework for Performance and Productivity on Hybrid, Manycore Platforms

As the era of computer architectures dominated by serial processors ends, the convergence of several unprecedented challenges suggests that closing the longstanding "application–architecture performance gap" will become more challenging than ever. To address this problem, the Parallel Runtime Scheduling and Execution Control (PaRSEC) project created a modular software framework that achieved two major objectives: first, it built a task-based runtime capable of delivering portable performance to a wide range of science and engineering applications at all levels of the platform pyramid, including the upcoming 100 Pflop/s systems and then exascale; and second, it supported and facilitated the work of developers in migrating their legacy codes and writing entirely new ones for the emerging hybrid and massively parallel manycore processor system designs. PaRSEC will support multiple domain-specific languages capable of increasing the developers' productivity while also providing the runtime with the constructs and flexibility necessary to exploit the maximal parallelism from parallel applications. Extensive preliminary research in dense linear algebra showed convincingly that a parameterized task graph representation that symbolically describes the algorithm content can achieve the project's twofold objective within that domain. The research also strongly suggested that this powerful method could be generalized to a far-wider variety of applications.

97 MATHEMATICS AND COMPUTING↗

A biomimetic approach to fast selection of optimal controlled variables using multiagent algorithms and a decomposition approach

Selection of primary controlled variables (CVs) with due consideration of economic loss and ease of control is an important step for achieving optimal plant operation under design and off-design conditions. However, the computational expense of the combinatorial optimization step that is undertaken for CV selection renders the existing approaches unaffordable for fast selection of optimal CVs. Two approaches are proposed in this paper for improving the computational efficiency of the optimization step. Typically, the CV selection process is typically executed by considering the entire plant together. Opposed to that, the first approach proposed here seeks to decompose the process plant into multiple partitions based on the connectivity strength. Then the CV selection algorithm can be executed on each partition independently. The decomposition algorithm is biomimetic and has been developed, in analogy to neuroscience, mimicking how the information about the connectivity information is extracted using a dynamic casual model. This approach can significantly decrease the number of combinatorial optimization problems that needs to be solved and facilitates parallelization of the solution. In the second approach, a multiagent optimization framework is proposed that utilizes metaheuristic optimization strategies such as the efficient ant colony algorithm, simulated annealing and the genetic algorithm. These two approaches can be used by themselves or in combination. This framework enables cooperative search by a group of algorithmic agents facilitated through an information sharing protocol. These two approaches are applied to a toy problem and an acid gas removal unit as part of an integrated gasification combined cycle. This study shows how the computational time and economic and control performance of the optimal CV sets vary as the number of partitions are changed.

42 ENGINEERING↗

Finite element formulation of fluctuating hydrodynamics for fluids filled with rigid particles using boundary fitted meshes

In this paper, we present a finite element implementation of fluctuating hydrodynamics with a moving boundary fitted mesh for treating the suspended particles. The thermal fluctuations are incorporated into the continuum equations using the Landau and Lifshitz approach [1]. The proposed implementation fulfills the fluctuation–dissipation theorem exactly at the discrete level. Since we restrict the equations to the creeping flow case, this takes the form of a relation between the diffusion coefficient matrix and friction matrix both at the particle and nodal level of the finite elements. Brownian motion of arbitrarily shaped particles in complex confinements can be considered within the present formulation. A multi-step time integration scheme is developed to correctly capture the drift term required in the stochastic differential equation (SDE) describing the evolution of the positions of the particles. The proposed approach is validated by simulating the Brownian motion of a sphere between two parallel plates and the motion of a spherical particle in a cylindrical cavity. The time integration algorithm and the fluctuating hydrodynamics implementation are then applied to study the diffusion and the equilibrium probability distribution of a confined circle under an external harmonic potential.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Chance-Constrained Energy Management System for Power Grids With High Proliferation of Renewables and Electric Vehicles

This paper proposes a two-stage energy management system (EMS) for power grids with massive integration of electric vehicles (EVs) and renewable energy resources. The first stage economic dispatch determines the optimal operating points of charging stations and battery swapping stations (BSS) for EVs under plug-in and battery swapping modes, respectively. The proposed stochastic model predictive control (SMPC) problem in this stage is characterized through a chance-constrained optimization formulation that can effectively capture the system and the forecast uncertainties. A distributed algorithm, the alternating direction method of multipliers (ADMM), is applied to accelerate the optimization computation through parallel computing. The second stage is aimed in coordinating the EV charging mechanisms to continuously follow the first-stage solutions, i.e., the target operating points, and meeting the EV customers' charging demands captured via the Advanced Metering Infrastructure (AMI). In this work, the proposed solution offers a holistic control strategy for large-scale centralized power grids in which the aggregated individual parameters are predictable and the system dynamics do not vary sharply within a short time-interval.

24 POWER TRANSMISSION AND DISTRIBUTION↗

TH-EF-BRB-08: Robotic Motion Compensation for Radiation Therapy: A 6DOF Phantom Study

Purpose: The high accuracy of frame-based stereotactic radiosurgery (SRS), which uses a rigid frame fixed to the patient’s skull, is offset by potential drawbacks of poor patient compliance and clinical workflow restrictions. Recent research into frameless SRS has so far resulted in reduced accuracy. In this study, we investigate the use of a novel 6 degree-of-freedom (6DOF) robotic head motion cancellation system that continuously detects and compensates for patient head motions during a SRS delivery. This approach has the potential to reduce invasiveness while still achieving accuracies better or equal to traditional frame-based SRS. Methods: A 6DOF parallel kinematics robotics stage was constructed, and controlled using an inverse kinematics-based motion compensation algorithm. A 6DOF stereoscopic infrared (IR) marker tracking system was used to monitor real-time motions at sub-millimeter and sub-degree levels. A novel 6DOF calibration technique was first applied to properly orient the camera coordinate frame to match that of the LINAC and robotic control frames. Simulated head motions were measured by the system, and the robotic stage responded to these 6DOF motions automatically, returning the reflective marker coordinate frame to its original position. Results: After the motions were introduced to the system in the phantom-based study, the robotic stage automatically and rapidly returned the phantom to LINAC isocenter. When errors exceeded the compensation lower threshold of 0.25 mm or 0.25 degrees, the system registered the 6DOF error and generated a cancellation trajectory. The system responded in less than 0.5 seconds and returned all axes to less than 0.1 mm and 0.1 degree after the 6DOF compensation was performed. Conclusion: The 6DOF real-time motion cancellation system was found to be effective at compensating for translational and rotational motions to current SRS requirements. This system can improve frameless SRS by automatically returning patients to isocenter with high 6DOF accuracy.

60 APPLIED LIFE SCIENCES↗

Polynomial Preconditioned Arnoldi with Stability Control

Polynomial preconditioning can improve the convergence of the Arnoldi method for computing eigenvalues. Such preconditioning significantly reduces the cost of orthogonalization; for difficult problems, it can also reduce the number of matrix-vector products. Parallel computations can particularly benefit from the reduction of communication-intensive operations. Additoinally, the GMRES algorithm provides a simple and effective way of generating the preconditioning polynomial. For some problems high degree polynomials are especially effective, but they can lead to stability problems that must be mitigated. A two-level “double polynomial preconditioning” strategy provides an effective way to generate high-degree preconditioners.

97 MATHEMATICS AND COMPUTING↗