trilinos / Trilinos

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

MueLu: Can't build MueLu with OpenMP backend when serial backend is disabled #13229

Open mcarlson801 opened 3 months ago

mcarlson801 commented 3 months ago

When building MueLu with the OpenMP backend and the serial backend disabled, we ran into this error:

                 from .../Trilinos/packages/muelu/src/Utils/MueLu_AggregationExportFactory_def.hpp:60,
                 from .../packages/muelu/src/Utils/ExplicitInstantiation/ETI_MueLu_AggregationExportFactory.cpp:55:
.../Trilinos/packages/muelu/src/Graph/Containers/MueLu_LWGraphBase.hpp:117:72: error: 'Serial' is not a member of 'Kokkos'; did you mean 'Kokkos::Tools::Experimental::DeviceType::Serial'?

Do we need to have the serial backend enabled to build with OpenMP or is this a bug? Issue #1786 makes me think this is probably a bug.

@trilinos/muelu @jhux2

github-actions[bot] commented 3 months ago

Automatic mention of the @trilinos/muelu team

jhux2 commented 3 months ago

@mcarlson801 Is there a configure script in the Albany repo I can use to reproduce this?

jewatkins commented 3 months ago

@jhux2 configuration is here on perlmutter: /global/cfs/cdirs/fanssie/users/rcaller/For_Jonathan

mcarlson801 commented 3 months ago

@mcarlson801 Is there a configure script in the Albany repo I can use to reproduce this?

This should be the one: https://github.com/sandialabs/Albany/blob/master/doc/LandIce/machines/perlmutter/do-cmake-trilinos-openmp-gcc

jhux2 commented 2 months ago

This is a temporary side-effect of work to consolidate Kokkos and non-Kokkos code paths in MueLu. For the moment, the serial backend is necessary, but ultimately it won't be required. @mcarlson801 If this will pose a problem for Albany, please let me know.

mcarlson801 commented 2 months ago

This doesn't necessarily pose a problem for Albany, we can build with both enabled. We are just seeing performance similar to if we were using the serial backend (about 2x slower with half the mpi ranks) so we were just concerned that maybe the serial backend was taking precedence. @jewatkins can probably speak more on this when he's back from travel.