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

Remove volatile qualifiers in reducer join(), init(), and operator+= methods #1382

Merged
merged 3 commits into from
Jul 18, 2022

Conversation

PhilMiller
Copy link
Contributor

@PhilMiller PhilMiller commented Apr 9, 2022

Following kokkos/kokkos#4077 et seq, none of these methods need to take volatile-qualified parameters any longer

This should all be good on Kokkos develop and releases from 3.7/4.0 onwards, but this will break compatibility with Kokkos 3.6, in case that matters.

@kokkos-devops-admin
Copy link

Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
NO INSPECTION HAS BEEN PERFORMED ON THIS PULL REQUEST! - This PR must be inspected by setting label 'AT: PRE-TEST INSPECTED'.

@PhilMiller
Copy link
Contributor Author

It probably makes sense to wait on running the PR tester on this until after the Kokkos fixes are on develop, so that we can actually see them pass.

@PhilMiller
Copy link
Contributor Author

With revisions to the Kokkos PR, this shouldn't be strictly necessary, but it will still be desirable cleanup

@PhilMiller PhilMiller marked this pull request as draft April 12, 2022 15:49
@PhilMiller
Copy link
Contributor Author

For now, Kokkos Kernels remains backwards compatible with the release branch for Kokkos 3.6. This PR would drop that compatibility.

The code here is fine, so feel free to move this forward whenever KK is ready to drop compatibility or breaks it elsewhere.

@PhilMiller PhilMiller force-pushed the 4952-volatile-join branch from a8fa21b to d8b6b2d Compare May 17, 2022 21:28
@PhilMiller PhilMiller changed the title Remove join(volatile) overloads where join() taking non-volatile parameters exists Remove volatile qualifiers in reducer join(), init(), and operator+= methods May 17, 2022
@PhilMiller PhilMiller marked this pull request as ready for review May 17, 2022 21:30
@kokkos-devops-admin
Copy link

Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
NO INSPECTION HAS BEEN PERFORMED ON THIS PULL REQUEST! - This PR must be inspected by setting label 'AT: PRE-TEST INSPECTED'.

@PhilMiller
Copy link
Contributor Author

The clang-format failures in the examples/fenl file arise because the entire files are not properly formatted. So, it's nothing introduced in this PR.

@PhilMiller PhilMiller force-pushed the 4952-volatile-join branch from 5ad0e64 to 94d8575 Compare July 11, 2022 17:06
@PhilMiller
Copy link
Contributor Author

It would be nice to get this auto-tested and integrated before the 3.7 release branch

@lucbv
Copy link
Contributor

lucbv commented Jul 11, 2022

@PhilMiller yeah, we need to fix some other issues first related to the new guards to prevent impl files from being included.

@kokkos-devops-admin
Copy link

Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
NO INSPECTION HAS BEEN PERFORMED ON THIS PULL REQUEST! - This PR must be inspected by setting label 'AT: PRE-TEST INSPECTED'.

@PhilMiller PhilMiller force-pushed the 4952-volatile-join branch from bdcd6a8 to b813659 Compare July 13, 2022 23:22
@PhilMiller
Copy link
Contributor Author

kokkos/kokkos#5215 will generate a bunch of deprecation warnings in KK until this gets merged.

@lucbv
Copy link
Contributor

lucbv commented Jul 13, 2022

@PhilMiller did you merge a change in Kokkos develop that makes it generate the warning?

@lucbv
Copy link
Contributor

lucbv commented Jul 13, 2022

Also please apply clang-format to you PR so that it passes our check, we are using clang-format 8.0.0

@PhilMiller
Copy link
Contributor Author

That PR isn't merged yet, but it's expected to be before 3.7 is released.

Applying clang-format will result in a very noisy PR, because I have made some targeted changes to files that aren't already formatted. I think it's preferable to review this as is, and then make a separate PR to reformat those files (and potentially others) in full.

@PhilMiller PhilMiller force-pushed the 4952-volatile-join branch from b813659 to 2f60e26 Compare July 14, 2022 01:49
@PhilMiller
Copy link
Contributor Author

Based on #1464 to treat the reformatting separately.

lucbv added a commit that referenced this pull request Jul 14, 2022
Reformat example/fenl files changed in #1382
@lucbv lucbv added the AT: PRE-TEST INSPECTED Mark this PR as approved for testing. label Jul 14, 2022
Copy link
Contributor

@lucbv lucbv left a comment

Choose a reason for hiding this comment

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

Looks good, thanks for the clean-up

@kokkos-devops-admin kokkos-devops-admin removed the AT: PRE-TEST INSPECTED Mark this PR as approved for testing. label Jul 15, 2022
@kokkos-devops-admin
Copy link

Status Flag 'Pre-Test Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED by label AT: PRE-TEST INSPECTED! Autotester is Removing Label; This inspection will remain valid until a new commit to source branch is performed.

@kokkos-devops-admin
Copy link

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

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_CUDA9_GCC720_Light_Tpls_GCC720_GCC740

  • Build Num: 307
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_CUDA10_Tpls_CUDA10_LayoutRight

  • Build Num: 300
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GCC720

  • Build Num: 1115
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GCC720_Light_LayoutRight

  • Build Num: 759
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_GCC720

  • Build Num: 1103
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_INTEL18

  • Build Num: 1090
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_CLANG1001

  • Build Num: 495
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Using Repos:

Repo: KOKKOSKERNELS (PhilMiller/kokkos-kernels)
  • Branch: 4952-volatile-join
  • SHA: 2f60e26
  • Mode: TEST_REPO

Pull Request Author: PhilMiller

@kokkos-devops-admin
Copy link

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

Pull Request Auto Testing has PASSED (click to expand)

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_CUDA9_GCC720_Light_Tpls_GCC720_GCC740

  • Build Num: 307
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_CUDA10_Tpls_CUDA10_LayoutRight

  • Build Num: 300
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GCC720

  • Build Num: 1115
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GCC720_Light_LayoutRight

  • Build Num: 759
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_GCC720

  • Build Num: 1103
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_INTEL18

  • Build Num: 1090
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_CLANG1001

  • Build Num: 495
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH 4952-volatile-join
KOKKOSKERNELS_SOURCE_REPO https://github.com/PhilMiller/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 2f60e26
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 979cffa
PR_LABELS
PULLREQUESTNUM 1382
TEST_REPO_ALIAS KOKKOSKERNELS

@kokkos-devops-admin
Copy link

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

@kokkos-devops-admin
Copy link

Status Flag 'Pull Request AutoTester' - Pull Request MUST BE MERGED MANUALLY BY Project Team - This Repo does not support Automerge

3 similar comments
@kokkos-devops-admin
Copy link

Status Flag 'Pull Request AutoTester' - Pull Request MUST BE MERGED MANUALLY BY Project Team - This Repo does not support Automerge

@kokkos-devops-admin
Copy link

Status Flag 'Pull Request AutoTester' - Pull Request MUST BE MERGED MANUALLY BY Project Team - This Repo does not support Automerge

@kokkos-devops-admin
Copy link

Status Flag 'Pull Request AutoTester' - Pull Request MUST BE MERGED MANUALLY BY Project Team - This Repo does not support Automerge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants