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

Add support for subpackage-specific compiler flags (#10111) #10219

Conversation

bartlettroscoe
Copy link
Member

@bartlettroscoe bartlettroscoe commented Feb 20, 2022

Fixes #10111

This brings in just the commit TriBITSPub/TriBITS@8ddc37c from PR TriBITSPub/TriBITS#453:

I could not sync all of TriBITS due to outstanding Trilinos PR #9978 (see TriBITSPub/TriBITS#433). This make the Git work more tricky.

The git gymnastics to cherry-pick and snapshot just the commit TriBITSPub/TriBITS@8ddc37c were a bit involved but I will explain it in detail below. (I need to document this workflow in a technical document about how to patch a snapshot with just cherry-picked commits from the other repo being snapshotted in.)

Git operations to snapshot just the cherry-picked commit from TriBITS (click to expand)

.

In order to allow Git to do all the work to adjust for the different base versions of TriBITS, you have to:

  1. Find the version of TriBITS in the most recent snapshot of TriBITS into Trilinos 'develop' (in this case, it was Trilinos commit 5ab3736)

  2. Get the version of TriBITS from that most recent snapshot (in this case, it was commit TriBITSPub/TriBITS@1241168)

  3. Create a temp branch 'tril-10111-subpackage-lang-flags-patch' in the TriBITS repo off that TriBITS version TriBITSPub/TriBITS@1241168

  4. Cherry-pick the TriBITS commit TriBITSPub/TriBITS@8ddc37c from TriBITS PR Add support for subpackage-specific compiler flags (#442) TriBITSPub/TriBITS#453 onto the TriBITS repo branch 'tril-10111-subpackage-lang-flags-patch'.

  5. Push the new TriBITS branch 'tril-10111-subpackage-lang-flags-patch' to a remote repo.

  6. Back in the Trilinos repo, create a temp branch '10111-subpackage-lang-flags-tribits-snapshot' off of the most recent Trilinos TriBITS snapshot commit 5ab3736

  7. Snapshot the TriBITS version on TriBITS branch 'tril-10111-subpackage-lang-flags-patch' into the temp Trilinos branch '10111-subpackage-lang-flags-tribits-snapshot'.

  8. Create a new Trilinos branch '10111-subpackage-lang-flags' off of Trilinos 'develop'

  9. Merge the temp Trilinos branch '10111-subpackage-lang-flags-tribits-snapshot' into the branch '10111-subpackage-lang-flags'.

  10. Push the branch '10111-subpackage-lang-flags' to a remote.

  11. Create this PR from the branch '10111-subpackage-lang-flags'

Yes, that is a lot of git commands but the magic of this is that the patch from a future version of TriBITS from PR TriBITSPub/TriBITS#453 is adjusted back to the older version of TriBITS currently in Trilinos 'develop' and then merged back into Trilinos 'develop' cleanly. And the version info is sustained the whole time.

Origin repo remote tracking branch: 'rab-github/tril-10111-subpackage-lang-flags-patch'
Origin repo remote repo URL: 'rab-github = git@github.com:bartlettroscoe/TriBITS.git'

At commit:

commit e5745de8db66bab43b1f43af8d3429a8a77e3ff9
Author:  Roscoe A. Bartlett <rabartl@sandia.gov>
Date:    Fri Feb 18 13:17:08 2022 -0700
Summary: Add support for subpackage-specific compiler options (trilinos#442)
@bartlettroscoe bartlettroscoe added type: enhancement Issue is an enhancement, not a bug TriBITS Issues with the TriBITS framework itself, not usage of the TriBITS framework labels Feb 20, 2022
@bartlettroscoe bartlettroscoe linked an issue Feb 20, 2022 that may be closed by this pull request
@bartlettroscoe bartlettroscoe added the AT: AUTOMERGE Causes the PR autotester to automatically merge the PR branch once approvals are completed label Feb 20, 2022
@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' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: Trilinos_pullrequest_gcc_8.3.0

  • Build Num: 6725
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_serial

  • Build Num: 4243
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 4763
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 11842
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 4608
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Build Information

Test Name: python-3

  • Build Num: 1171
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Build Information

Test Name: _cuda_10.1.243

  • Build Num: 382
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Using Repos:

Repo: TRILINOS (bartlettroscoe/Trilinos)
  • Branch: 10111-subpackage-lang-flags
  • SHA: 0b975bd
  • Mode: TEST_REPO

Pull Request Author: bartlettroscoe

@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: 6725
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_serial

  • Build Num: 4243
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 4763
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 11842
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 4608
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Build Information

Test Name: python-3

  • Build Num: 1171
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414

Build Information

Test Name: _cuda_10.1.243

  • Build Num: 382
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
PR_LABELS type: enhancement;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10219
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH 10111-subpackage-lang-flags
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA 0b975bd
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA f6bc414


CDash Test Results for PR# 10219.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
NO REVIEWS HAVE BEEN PERFORMED ON THIS PULL REQUEST!

@trilinos-autotester
Copy link
Contributor

All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...

@searhein
Copy link
Contributor

@bartlettroscoe I am re-compiling Trilinos now to try this. This week, I am a bit short of time, but I will try to give feedback as soon as possible.

@trilinos-autotester
Copy link
Contributor

All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...

1 similar comment
@trilinos-autotester
Copy link
Contributor

All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...

Copy link
Contributor

@searhein searhein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried it on my computer, it it seems to work fine. I received a lot of warnings, but only for ShyLU_DDFROSch.

@trilinos-autotester
Copy link
Contributor

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

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged

@trilinos-autotester trilinos-autotester merged commit 84a9a5d into trilinos:develop Feb 24, 2022
@trilinos-autotester
Copy link
Contributor

Merge on Pull Request# 10219: IS A SUCCESS - Pull Request successfully merged

@trilinos-autotester trilinos-autotester removed the AT: AUTOMERGE Causes the PR autotester to automatically merge the PR branch once approvals are completed label Feb 24, 2022
@bartlettroscoe
Copy link
Member Author

I tried it on my computer, it it seems to work fine. I received a lot of warnings, but only for ShyLU_DDFROSch.

@searhein, just curious, but what warnings? What compiler options did you set?

Does the documentation at:

make sense? (No one has reviewed this other than myself.)

@searhein
Copy link
Contributor

searhein commented Mar 6, 2022

@bartlettroscoe Sorry for taking a bit longer to respond. For us, the teaching has started again, such that I have considerably less time to work on the coding at the moment.

I had some issues with implicit type conversions on a machine. So, I wanted to add "-Wconversion" for FROSch, in order to fix any issues in that direction.

The documentation is clear to me. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TriBITS Issues with the TriBITS framework itself, not usage of the TriBITS framework type: enhancement Issue is an enhancement, not a bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

TriBITS: Specific CXX_FLAGS for FROSch
3 participants