Tpetra: Unexplained memory usage in CrsMatrix::doImport #11004
Labels
client: Sierra
All issues that primarily impacts SNL Sierra codes
DO_NOT_AUTOCLOSE
This issue should be exempt from auto-closing by the GitHub Actions bot.
pkg: Tpetra
type: bug
The primary issue is a bug in Trilinos code or tests
Bug Report
@trilinos/tpetra @crdohrm
Description
Tpetra's
CrsMatrix::doImport
seems to use more memory than necessary. First noticed by the Sierra/SD team in #6648 and #6663. Initial (partial) fix in #6831. After that, further investigation showsdoImport
still has roughly 100% higher memory usage than Sierra/SD's hand-rolled importer. A comment in Sierra'sMATHLIB/gdsw2/TpetraUtil.C
suggests the memory growth is believed to come fromTpetra::StaticProfile
, but it's unclear whether that's still correct after #6831 merged.Data collected on 9/2/22 by @tasmith4 from a Sierra/SD test (instructions to reproduce included below; results in Mbytes -- Min memory / Avg memory / Max memory / Max high-water-mark memory):
importSquareMatrix
CrsMatrix::doImport
Steps to Reproduce
MATHLIB/gdsw2/Preconditioner.C
, insidePreconditioner::factorOverlapMatrix
:m_TUtil.getTpetraMatrix(m_preconditionerMatrix, overlapMap, overlapMatrix);
add a call tom_memTime->OutputMemoryAndTiming(/* some text here */);
assign -p Salinas_rtest/acceptance/thermalExpansion/perf_layered_frusta_eng.test
bake -e debug --targets-from-tests=assigned.tests
testrun -e debug --save-all-results
dd_memory.dat
, and find the output text you specified in the OutputMemoryAndTiming call#define FIX_TRILINOS_GDSW
line inMATHLIB/gdsw2/TpetraUtil.C
, edit as appropriate, rebuild, and rerun the testThe text was updated successfully, but these errors were encountered: