-
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
Ifpack2: Move power method routines into their own publicly accessible namespace #10426
Ifpack2: Move power method routines into their own publicly accessible namespace #10426
Conversation
…eir own Intrepid2::PowerMethod namespace to help reduce code duplication across Trilinos
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - Failure: Timed out waiting for job _cuda_10.1.243 to start: Total Wait = 603
|
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pull Request AutoTester' - Failure: Timed out waiting for job _cuda_10.1.243 to start: Total Wait = 603
|
Status Flag 'Pull Request AutoTester' - Failure: Timed out waiting for job _cuda_10.1.243 to start: Total Wait = 603
|
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pull Request AutoTester' - Failure: Timed out waiting for job Trilinos_pullrequest_intel_17.0.1 to start: Total Wait = 603
|
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
Build InformationTest Name: _cuda_10.1.243
Jenkins Parameters
Using Repos:
Pull Request Author: GrahamBenHarper |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
Build InformationTest Name: _cuda_10.1.243
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ csiefer2 ]! |
Status Flag 'Pull Request AutoTester' - AutoMerge IS ENABLED, but the Label AT: AUTOMERGE is not set. Either set Label AT: AUTOMERGE or manually merge the PR... |
@trilinos/ifpack2
Motivation
Honestly, it just bothers me to see 5+ versions of a simple power method reimplemented across Trilinos within different packages, and I can't really use any of them for a Trilinos-based code. This is meant to be a more public interface and the "official" power method that supports the most general case of petra operators. It adds Ifpack2::PowerMethod::powerMethod, Ifpack2::PowerMethod::powerMethodWithInitGuess, Ifpack2::PowerMethod::computeInitialGuessForPowerMethod.
The transfer out of the Chebyshev class is not as pretty as I'd like because there are things like Chebyshev restarts that need to be cleanly preserved, and my choice of using only some input arguments as Teuchos::RCPs may have been a little random, so I'm happy to use some feedback and make this something that everybody may enjoy.
Testing
The more important two of the three functions are already covered by tests on Chebyshev preconditioning. I can add a test for the third as well if needed.
The ifpack2 tests pass on my machine, but I'd be more interested to see how other packages and configs handle it.