The main objective of this PR is to improve the support of matrices with a large number of zero rows in hypre. More specifically: * Improve IJMatrixAssemble for matrices with a large number of zero rows. * Add hypre_AuxParCSRMatrixSetRownnz to build array of nonzero rows in the auxiliary matrix. This saves allocation time for building ParCSRMatrices. * Improve (Par)CSRMatrix transpose, addition and multiplication operations for matrices with a large number of zero rows. Secondary changes made in this PR are: * Update SpMV paths in `csr_matvec` in order to make the calculation of A*x more concise. * Extend OpenMP support to hypre_CSRMatrixSumElts, hypre_CSRMatrixFnorm and hypre_CSRMatrixReorder. * Clean gcc-9 warnings * Update saved files and delete unused variable Co-authored-by: Ruipeng Li <li50@llnl.gov> |
||
|---|---|---|
| AUTOTEST | ||
| src | ||
| .gitignore | ||
| .readthedocs.yml | ||
| CHANGELOG | ||
| COPYRIGHT | ||
| INSTALL.md | ||
| LICENSE-APACHE | ||
| LICENSE-MIT | ||
| NOTICE | ||
| README.md | ||
| SUPPORT.md | ||
HYPRE is a library of high performance preconditioners and solvers featuring multigrid methods for the solution of large, sparse linear systems of equations on massively parallel computers.
For documentation, see our readthedocs page.
To install HYPRE, please see either the documentation or the file INSTALL.md.
An overview of the HYPRE release history can be found in the file CHANGELOG.
We appreciate feedback from users. Please submit comments, suggestions, and report issues on our issues page. See also SUPPORT.md.
License
HYPRE is distributed under the terms of both the MIT license and the Apache License (Version 2.0). Users may choose either license, at their option.
All new contributions must be made under both the MIT and Apache-2.0 licenses.
See LICENSE-MIT, LICENSE-APACHE, COPYRIGHT, and NOTICE for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
LLNL-CODE-778117
