Test normalized unbordered adapter and report its storage scope
This commit is contained in:
@@ -354,6 +354,8 @@ void BenchmarkPreconditioners(State &state, const std::filesystem::path &output,
|
||||
metric("setup_jacobian_seconds", stats.setupOperatorSeconds);
|
||||
metric("setup_inverse_seconds", stats.setupInverseSeconds);
|
||||
metric("persistent_vector_bytes", stats.persistentVectorBytes);
|
||||
metric("unbordered_adapter_vector_bytes", sizeof(mfem::real_t) *
|
||||
4 * static_cast<std::size_t>(state.normalizedOperator->Height()));
|
||||
metric("applications", stats.applications);
|
||||
metric("internal_jacobian_applications", stats.operatorApplications);
|
||||
metric("internal_inverse_applications", stats.inverseApplications);
|
||||
@@ -643,6 +645,7 @@ void BenchmarkPreconditioners(State &state, const std::filesystem::path &output,
|
||||
<< "The Schur partition uses every native surface parameter and generated scalar block, including a central border if present.\n"
|
||||
<< "Its field inverse restricts the unbordered structure inverse, not an exact field elimination.\n"
|
||||
<< "Existing scalar-border construction is retained in setup cost but its inverse is not applied by the new wrapper.\n"
|
||||
<< "The unbordered adapter is frozen at construction; rebuild it and the Schur wrapper for a new Jacobian.\n"
|
||||
<< "setup_plus_solve_seconds includes construction, normalization binding, Krylov setup, and Krylov solve.\n"
|
||||
<< "setup_solve_and_true_check_seconds adds the separately measured original-J true-residual gate.\n"
|
||||
<< "measured_candidate_seconds also includes diagnostic refresh, coarse exactness checks, and inverse/Jv comparison.\n"
|
||||
|
||||
Reference in New Issue
Block a user