Trilinos icon indicating copy to clipboard operation
Trilinos copied to clipboard

Tpetra: Reduce Compilation of ordinal-as-scalar objects

Open csiefer2 opened this issue 8 months ago • 10 comments

In order to provide an analogue for Epetra_IntVector, Tpetra rebuilds sizable portions of its library with Scalar=GO and Scalar=int (if int is not the GO). We clearly need Vector for moving around things like MPI rank ids, but it isn't obvious we need as much aGO/int-as-Scalar as we have in the code.

We'd like to (optionally) remove a bunch of this extra compilation of GO/int-as-Scalar to reduce build time / library size (as requested by @ibaned), for applications that don't need it (like his).

This can be done by mucking with the ETI logic in packages/tpetra/core/src.

One note is that Zoltan2's Hypergraph algorithm does explicitly using CrsMatrix, so that would have to be disabled if we go down this path. @egboman comments?

This issue does not occur in the same way for Ifpack2 or MueLu since they process ETI differently and don't do GO/int-as-scalar.

csiefer2 avatar Jun 12 '24 18:06 csiefer2