Parallel Banding Algorithm Plus (PBA+)
- The paper demonstrates that PBA+ extends traditional banded solvers by incorporating extraband nonzeros without compromising O(n) scaling.
- It employs a QP-decomposition with recursive forward and backward substitutions to achieve high numerical accuracy and efficient parallel implementation.
- Empirical results show that PBA+ outperforms standard Gaussian elimination in speed and error reduction for large-scale computational physics and chemistry problems.
The Parallel Banding Algorithm Plus (PBA+) is an direct solver for large, sparse banded linear systems , where is an matrix with nonzero entries confined within a band about the diagonal, and possibly with a small number of extraband nonzero entries. PBA+ extends the core Parallel Banding Algorithm (PBA) framework by addressing these additional extraband elements without compromising linear scaling, and is designed for high accuracy and numerical efficiency, as required in computational physics and chemistry, such as finite-difference discretizations and holonomic constraint problems (García-Risueño et al., 2010).
1. Problem Definition and Matrix Structure
PBA+ targets systems where the matrix exhibits upper () and lower () half-bandwidths, such that
Extra-band nonzero entries are incorporated as
where each pair 0 lies outside the original band, extending applicability to cases dominated by band structure with sparse, but non-negligible, extraband couplings (García-Risueño et al., 2010).
Key parameter notation includes:
- 1, 2,
- 3,
- 4.
2. Core Algorithmic Principle: QP-Decomposition and Recurrences
PBA+ exploits a unique decomposition, writing
5
where 6 is lower-triangular with unit diagonal and 7 is upper-triangular. The inverse is 8. This structure leads to two substitution phases:
9
Constructive recursion builds 0, 1; each 2 operates on row 3, 4 on column 5, under explicit recursive updates for the coefficients 6 and 7:
- For 8 (diagonal and super-diagonal):
9
0
- For 1 (sub-diagonal):
2
In symmetric cases (3), the sub-diagonal recursion can be avoided by setting 4.
After all 5 are assembled, the solution proceeds via:
- Forward substitution for 6:
7
- Backward substitution for 8:
9
Each phase costs 0, linear in 1 for fixed bandwidths (García-Risueño et al., 2010).
3. Extension to Extra-Band Nonzeros: The Plus Variant
PBA+ generalizes the core banded approach by extending the recurrences for 2 to all columns/rows occupied by extraband entries 3. At each such location, the same analytic recurrences are applied—skipping zeros as appropriate—thus retaining linear scaling with a supplementary complexity term 4, where 5 is the number of extra-band entries and 6 is a characteristic band width. This modular design facilitates accurate direct inversion for matrices that are banded plus a sparse pattern of extraband couplings without resorting to iterative refinement or full matrix storage (García-Risueño et al., 2010).
4. Parallelization Strategies
The core recursions couple only 7 or 8 preceding rows or columns, enabling efficient parallel execution via two main approaches:
a) Shared-memory (wavefront scheduling, Meurant '85 style):
- At each diagonal step 9 (0), all elements 1 (or 2) for 3 can be processed in parallel.
- Both forward and backward substitutions advance along anti-/diagonals, leading to a critical-path of 4, with parallel work 5 per step.
- On 6 cores: 7 (García-Risueño et al., 2010).
b) Distributed-memory (block-strip decomposition, Polizzi '06 style):
- The matrix is partitioned into 8 contiguous blocks, each handling local 9 evaluation up to block edges, and exchanging 0 boundary values.
- Each block performs a local factorization, then all blocks collectively solve a small coupling system of size 1.
- Final forward and backward solves require interface data broadcasts.
- Total time: 2; optimal for 3 (García-Risueño et al., 2010).
Near-linear speedup is achieved so long as 4 and the number of processors satisfies 5.
5. Computation of the Full Inverse
The factors 6 facilitate retrieval of the entire inverse 7 in 8 operations. Exploiting 9 and the banded nature, the entries are computed as:
0
Each loop over the matrix involves 1 operations, resulting in 2 total complexity—competitive with dense inversion but leveraging full sparsity for memory efficiency (García-Risueño et al., 2010).
6. Complexity, Numerical Performance, and Comparative Table
PBA+ achieves direct 3 scaling for banded systems, maintaining leading constants that are empirically observed to be smaller than those for standard banded Gaussian elimination. For banded 4 sparse cases, the complexity is 5, with 6 as the number of extraband nonzeros. Storage requirements remain at 7. Forming the full inverse is 8 in both operations and storage.
| Algorithm | FLOPs | Storage | Remarks |
|---|---|---|---|
| Gaussian elimination (banded) | 9 | 0 | pivoting 1 overhead |
| PBA | 2 | 3 | no LU storage; smaller constant |
| PBA+ | 4 | 5 | 6 = extra-band nonzeros |
| PBA full inverse | 7 | 8 |
In extensive tests (up to 9, 0) on random banded matrices:
- With partial pivoting, PBA achieves 1–2, nearly 3-independent, with the error growing as 4; Gaussian elimination yields 5–6.
- PBA runtime is 7 that of Gaussian elimination for 8, and up to 9 faster for 00. Without pivoting, both algorithms deteriorate to 01 error, but PBA remains 02 faster.
For 1D Poisson problems (03, 04), PBA completes in 05 s with error 06, compared to 07 s for banded Gaussian elimination (Numerical Recipes), for a speedup of 08.
In Lagrange multiplier enforcement for protein chains (09, 10, 11), PBA is 12 faster than Gaussian elimination, and a symmetry-exploiting PBA+ variant further improves this to 13, achieving errors down to 14 (García-Risueño et al., 2010).
7. Implementation Considerations and Scalability
PBA+ relies on contiguous diagonal-oriented storage formats for bands, supporting cache-efficient sweeps of all 15 elements needed. Extra-band entries are stored separately and invoked only in the extended recurrences. Partial pivoting, when adopted, incurs 16 overhead and guards robustness against small 17 elements.
Wavefront parallelism is effective for shared memory platforms as long as 18; distributed memory strategies only require 19 words exchanged at block interfaces, facilitating scalability for large 20. In typical physical simulation scenarios, 21 and 22, so memory and computational costs remain highly favorable (García-Risueño et al., 2010).
Practical performance confirms PBA+'s suitability for large systems with predominantly banded structure and sparse extraband perturbations, offering robust accuracy, high efficiency, and broad parallel scalability.