Skip to content
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

Merged

Conversation

GrahamBenHarper
Copy link
Contributor

@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.

…eir own Intrepid2::PowerMethod namespace to help reduce code duplication across Trilinos
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Failure: Timed out waiting for job _cuda_10.1.243 to start: Total Wait = 603

@cgcgcg cgcgcg added the AT: RETEST Causes the PR autotester to run a new round of PR tests on the next iteration label Apr 9, 2022
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Failure: Timed out waiting for job _cuda_10.1.243 to start: Total Wait = 603

@trilinos-autotester trilinos-autotester removed the AT: RETEST Causes the PR autotester to run a new round of PR tests on the next iteration label Apr 9, 2022
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Failure: Timed out waiting for job _cuda_10.1.243 to start: Total Wait = 603

@jhux2 jhux2 self-requested a review April 11, 2022 16:51
@GrahamBenHarper GrahamBenHarper added the AT: RETEST Causes the PR autotester to run a new round of PR tests on the next iteration label Apr 20, 2022
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Failure: Timed out waiting for job Trilinos_pullrequest_intel_17.0.1 to start: Total Wait = 603

@trilinos-autotester trilinos-autotester removed the AT: RETEST Causes the PR autotester to run a new round of PR tests on the next iteration label Apr 21, 2022
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: Trilinos_pullrequest_gcc_8.3.0

  • Build Num: 7377
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_serial

  • Build Num: 4873
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 5392
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 12424
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 5126
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Build Information

Test Name: python-3

  • Build Num: 1687
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Build Information

Test Name: _cuda_10.1.243

  • Build Num: 795
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Using Repos:

Repo: TRILINOS (GrahamBenHarper/Trilinos)
  • Branch: Graham_PowerMethod
  • SHA: 0c20d19
  • Mode: TEST_REPO

Pull Request Author: GrahamBenHarper

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED

Pull Request Auto Testing has PASSED (click to expand)

Build Information

Test Name: Trilinos_pullrequest_gcc_8.3.0

  • Build Num: 7377
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_serial

  • Build Num: 4873
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 5392
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 12424
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 5126
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Build Information

Test Name: python-3

  • Build Num: 1687
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e

Build Information

Test Name: _cuda_10.1.243

  • Build Num: 795
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
PR_LABELS pkg: Ifpack2
PULLREQUESTNUM 10426
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH Graham_PowerMethod
TRILINOS_SOURCE_REPO https://github.com/GrahamBenHarper/Trilinos
TRILINOS_SOURCE_SHA 0c20d19
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a42024e


CDash Test Results for PR# 10426.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ csiefer2 ]!

@trilinos-autotester
Copy link
Contributor

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...

@GrahamBenHarper GrahamBenHarper merged commit 50c0c3f into trilinos:develop Apr 22, 2022
@GrahamBenHarper GrahamBenHarper deleted the Graham_PowerMethod branch April 22, 2022 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants