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

Tpetra: workarounds to compiler bug in #8047 #8083

Merged
merged 1 commit into from
Sep 24, 2020

Conversation

kddevin
Copy link
Contributor

@kddevin kddevin commented Sep 22, 2020

@trilinos/tpetra

Motivation

Apparently some gcc compilers with std=c++14 don't handle usage of const variables inside lambda expressions well.
See details in #8047 and kokkos/kokkos-kernels#349

This PR works around such errors in three cases. I remove the const specification from variables used inside the lambdas.
A better solution would have been to rewrite the code not to use lambdas (the same can be said for #8031). The lambdas aren't in a parallel_for; they are just for convenience. This code is primarily test code, though, so it didn't seem worth the time to rewrite.

Related Issues

Stakeholder Feedback

@ZUUL42 Let me know whether this works for you.

Testing

Compiled Tpetra on ride with Trilinos' PR CUDA build and extra CMake instructions to set std=c++14 (see #8047 for details).
Confirmed failure without this PR's changes and success with the PR's changes.

@kddevin kddevin added pkg: Tpetra AT: AUTOMERGE Causes the PR autotester to automatically merge the PR branch once approvals are completed labels Sep 22, 2020
@kddevin kddevin self-assigned this Sep 22, 2020
@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_4.8.4

  • Build Num: 7981
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
COMPILER_MODULE sems-gcc/4.8.4
JENKINS_BUILD_TYPE Release
JENKINS_COMM_TYPE MPI
JENKINS_DO_COMPLEX OFF
JENKINS_JOB_TYPE Experimental
MPI_MODULE sems-openmpi/1.8.7
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 7798
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL

  • Build Num: 6214
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 434
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_gcc_8.3.0

  • Build Num: 2255
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_cuda_9.2

  • Build Num: 5550
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 700
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_python_2

  • Build Num: 3514
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_python_3

  • Build Num: 3545
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Using Repos:

Repo: TRILINOS (trilinos/Trilinos)
  • Branch: tpetra_8047
  • SHA: 7dfe7fa
  • Mode: TEST_REPO

Pull Request Author: kddevin

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

  • Build Num: 7981
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
COMPILER_MODULE sems-gcc/4.8.4
JENKINS_BUILD_TYPE Release
JENKINS_COMM_TYPE MPI
JENKINS_DO_COMPLEX OFF
JENKINS_JOB_TYPE Experimental
MPI_MODULE sems-openmpi/1.8.7
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 7798
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL

  • Build Num: 6214
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 434
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_gcc_8.3.0

  • Build Num: 2255
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_cuda_9.2

  • Build Num: 5550
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 700
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_python_2

  • Build Num: 3514
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8

Build Information

Test Name: Trilinos_pullrequest_python_3

  • Build Num: 3545
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: AUTOMERGE;pkg: Tpetra
PULLREQUESTNUM 8083
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH tpetra_8047
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 7dfe7fa
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 4562cf8


CDash Test Results for PR# 8083.

@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
WARNING: NO REVIEWERS HAVE BEEN REQUESTED FOR THIS PULL REQUEST!

@trilinos-autotester
Copy link
Contributor

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

@kddevin kddevin requested review from csiefer2 and jhux2 September 23, 2020 19:28
@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...

Copy link
Member

@jhux2 jhux2 left a comment

Choose a reason for hiding this comment

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

lgtm

@trilinos-autotester
Copy link
Contributor

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

@trilinos-autotester
Copy link
Contributor

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

@trilinos-autotester trilinos-autotester merged commit a27433d into develop Sep 24, 2020
@trilinos-autotester
Copy link
Contributor

Merge on Pull Request# 8083: 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 Sep 24, 2020
@kddevin kddevin deleted the tpetra_8047 branch September 25, 2020 17:51
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.

3 participants