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

Zoltan2: MultiJagged captures this in a lambda which breaks Clang 11 + Cuda #9050

Merged

Conversation

jjellio
Copy link
Contributor

@jjellio jjellio commented Apr 24, 2021

When compiling with IBM Clang 11 + Cuda, Zoltan2 MJ captures 'this' inside lambdas

This patch

  • Marks 1 function static, which was class const (but used not class variables).
  • addresses this-> being used inside a nested team lambda (which clang doesn't like)
    To remove this, I moved sEpsilon as parameter to the function being called and
    was able to mark the function static as well (removing its use of this->sEpsilon)
    This entails creating a function-locally copy of sEpsilon so that it may be
    captured by the default [=] capture.

Both changes entail adding a using statement within the function so that the
now static class functions can be called (e.g., AlgMJ< ... >::)

@trilinos/zoltan2

Tested on:

  • ATS2 (lassen) IBM Clang 11.0.1 (w/ Cuda)
  • Cray CCE 11.0.4 (clang based w/Serial)
  • Relying on SNL PR testing to cover the rest.

@kddevin

…nside lambdas

This patch
* Marks 1 function static, which was class const (but used not class variables).
* addresses this-> being used inside a nested team lambda (which clang doesn't like)
  To remove this, I moved sEpsilon as parameter to the function being called and
  was able to mark the function static as well (removing its use of this->sEpsilon)
  This entails creating a funciton-locally copy of sEpsilon so that it may be
  captured by the default [=] capture.

Both changes entail adding a `using` statement within the function so that the
now static class functions can be called (e.g., AlgMJ< ... >::
@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: 4277
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_serial

  • Build Num: 1814
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 2297
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 9633
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Build Information

Test Name: Trilinos_pullrequest_cuda_10.1.105

  • Build Num: 1051
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 2413
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Build Information

Test Name: Trilinos_pullrequest_python_3

  • Build Num: 5031
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Using Repos:

Repo: TRILINOS (jjellio/Trilinos)
  • Branch: fix-zoltan2-multijagged-clang-11-cuda
  • SHA: cbbf94c
  • Mode: TEST_REPO

Pull Request Author: jjellio

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

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_serial

  • Build Num: 1814
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 2297
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 9633
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Build Information

Test Name: Trilinos_pullrequest_cuda_10.1.105

  • Build Num: 1051
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 2413
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2

Build Information

Test Name: Trilinos_pullrequest_python_3

  • Build Num: 5031
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: ATDM;pkg: Zoltan2
PULLREQUESTNUM 9050
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH fix-zoltan2-multijagged-clang-11-cuda
TRILINOS_SOURCE_REPO https://github.com/jjellio/Trilinos
TRILINOS_SOURCE_SHA cbbf94c
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e1d4fd2


CDash Test Results for PR# 9050.

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

3 similar comments
@trilinos-autotester
Copy link
Contributor

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

@trilinos-autotester
Copy link
Contributor

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

@trilinos-autotester
Copy link
Contributor

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

Copy link
Contributor

@kddevin kddevin left a comment

Choose a reason for hiding this comment

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

Thanks, @jjellio
Can you please add a short note about how you tested the changes? (e.g., tested on blahblah platform with blahblahblah compiler and CUDA)

@trilinos-autotester
Copy link
Contributor

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

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

@jjellio jjellio merged commit a620721 into trilinos:develop Apr 27, 2021
@jjellio
Copy link
Contributor Author

jjellio commented Apr 27, 2021

Thanks @kddevin (updated message w/testing)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client: ATDM Any issue primarily impacting the ATDM project pkg: Zoltan2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants