trilinos / Trilinos

Primary repository for the Trilinos Project
https://trilinos.org/
Other
1.22k stars 570 forks source link

Tpetra/Ifpack2: Better handling of non-GPU aware MPI #13511

Open csiefer2 opened 1 month ago

csiefer2 commented 1 month ago

Largely from discussions with @vbrunini and @jjellio , we should have a unified way of supporting the equivalent TPETRA_ASSUME_GPU_AWARE_MPI across the solver stack (Ifpack2's TriDi solver ignores this). Moreover, if you are building a GPU node but not using GPU-Aware MPI, it should use Kokkos::SharedHostPinnedSpace for the comm buffer. This abstraction let's us move arch-specific behavior out of Tpetra proper.

This should also probably be done with env controls at a Trilinos-wide level and not at the Tpetra-level.

github-actions[bot] commented 1 month ago

Automatic mention of the @trilinos/ifpack2 team

jhux2 commented 1 month ago

Related: #4757

jhux2 commented 1 month ago

Packages that explicitly reference CudaHostPinnedSpace:

csiefer2 commented 1 month ago

@vqd8a How does Adelus control whether or not to use HostPinnedSpace?

jhux2 commented 1 month ago

@vqd8a How does Adelus control whether or not to use HostPinnedSpace?

Adelus has a cmake option.

jhux2 commented 1 month ago

Developer consensus at TUG was that Trilinos should have a project-level default behavior, but that individual packages can choose not to use it.

jhux2 commented 3 weeks ago

User requests/questions: