-
Notifications
You must be signed in to change notification settings - Fork 578
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tpetra: Deprecate and remove DefaultPlatform, MpiPlatform, and SerialPlatform #3095
Comments
I would like to clarify my comment here that "Tpetra::*Platform is the last left-over of an idea for hybrid parallelism that likely would have been better served by MPI intercommunicators." What I meant is that HybridPlatform assigned different kinds of thread parallelism to different MPI processes within the same MPI communicator. This makes load balancing harder and doesn't address the issue that a single MPI process may have access to different thread-parallel hardware resources. One could achieve the goal of HybridPlatform by creating different MPI communicators for different kinds of hardware resources, and possibly joining them via intercommunicators. |
@trilinos/zoltan2 @trilinos/tpetra This is part of #3095. Tpetra::*Platform (where * is Default, Mpi, and Serial) will be deprecated and removed. This commit removes use of these classes and their header files from Zoltan2.
@trilinos/muelu @trilinos/galeri @trilinos/tpetra This is part of #3095.
@trilinos/shylu @trilinos/tpetra This is part of #3095. I also took the liberty of removing a "using namespace std;" from the global scope of an example.
@trilinos/trilinoscouplings @trilinos/tpetra This is part of #3095.
@trilinos/tpetra This is part of #3095. Deprecate Tpetra::DefaultPlatform, Tpetra::MpiPlatform, and Tpetra::SerialPlatform.
@trilinos/panzer @trilinos/tpetra This is part of #3095.
@trilinos/stratimikos @trilinos/amesos2 @trilinos/tpetra Purge use of the now deprecated Tpetra::DefaultPlatform (see #3095) from Stratimikos, in particular Stratimikos' test for its Amesos2 adapter.
Addresses new warnings seen in nightly CDash testing (#14). See trilinos/Trilinos#3095 for details.
@trilinos/stratimikos @trilinos/amesos2 @trilinos/tpetra Purge use of the now deprecated Tpetra::DefaultPlatform (see trilinos#3095) from Stratimikos, in particular Stratimikos' test for its Amesos2 adapter.
@trilinos/stratimikos @trilinos/tpetra This change prepares for trilinos#3095, which will remove the long-deprecated Tpetra::DefaultPlatform, Tpetra::MpiPlatform, and Tpetra::SerialPlatform classes. The Stratimikos LOWSFactory examples must not have built for years. The only have Makefile.in files, not CMakeLists.files, and they include Tpetra header files that haven't existed since I started working on Tpetra in 2010. The Epetra examples haven't built since at least then either, but they aren't hurting anything, so I left them alone.
Automatically Merged using Trilinos Pull Request AutoTester PR Title: Tpetra: Fix #3095 (remove deprecated *Platform) PR Author: mhoemmen
Addresses new warnings seen in nightly CDash testing (Exawind#14). See trilinos/Trilinos#3095 for details.
@trilinos/tpetra
Expectations
Tpetra should have a single source for initialization and for default values of template parameters.
Motivation and Context
Tpetra::DefaultPlatform
is a hold-over from an old Tpetra initialization model that included something calledHybridPlatform
. Tpetra now has different plans for truly hybrid (e.g., GPU + CPU concurrently) parallelism, that the "platform" concept would not support. Furthermore, Platform is tied to Node, but we want to get rid of Node (#57).Definition of Done
Tpetra::DefaultPlatform
to initialize Tpetra withTpetra::ScopeGuard
Tpetra::DefaultPlatform::DefaultPlatformType::NodeType
withTpetra::Map<>::node_type
Tpetra::DefaultPlatform
,Tpetra::MpiPlatform
, andTpetra::SerialPlatform
Tpetra::DefaultPlatform
,Tpetra::MpiPlatform
, andTpetra::SerialPlatform
Related Issues
The text was updated successfully, but these errors were encountered: