Tpetra: Deprecate & remove get*NumDiags & is{Lower,Upper}Triangular
Created by: mhoemmen
@trilinos/tpetra
Deprecate and remove the following functions from RowGraph, RowMatrix, CrsGraph, and CrsMatrix:
isLowerTriangular
isUpperTriangular
getGlobalNumDiags
getNodeNumDiags
Progress
We've finished deprecating the functions. We have work-arounds in Ifpack2 and Tpetra, for getting the functionality without triggering the deprecation warnings. We've also wrapped the deprecated functions in #ifdef TPETRA_ENABLE_DEPRECATED_CODE ... #endif
. The only thing remaining is to remove the deprecated functions. This must wait until the next Trilinos major release.
Motivation and Context
The first call of CrsGraph::fillComplete
for a given graph instance, invokes CrsGraph::computeLocalConstants
. In order to compute what getNodeNumDiags
, getGlobalNumDiags
, and is{Lower,Upper}Triangular()
need, computeLocalConstants
must read all the entries in the matrix. This takes significant time, as @alanw0 reported in #2565 (closed). It's only rarely that downstream code needs to know this information.
Tpetra developers deem nodeMaxNumRowEntries_
necessary for ML/MueLu "getrow" implementations, to preallocate buffers. Tpetra developers are not sure if getGlobalMaxNumRowEntries
is actually necessary.
Related Issues
- Related to #2565 (closed)