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

KokkosKernels: remove static constexpr member (#8418) #8443

Merged
merged 1 commit into from
Dec 15, 2020

Conversation

brian-kelley
Copy link
Contributor

Remove static constexpr member variables from SpADD functors.
In official C++ pre 17, these need out-of-class definitions just like
non-constexpr static members, but I didn't add them here.
GCC/Clang let this work anyway, but XL goes by the
standard so this fixes building with XL.

Here's what I don't understand: Kokkos_ArithTraits.hpp and KokkosSparse_gauss_seidel_impl.hpp both also have static constexpr member variables, but those didn't cause linker errors with XL. They also didn't show up as symbols in executables, whereas this "ORDINAL_MAX" does. Not sure what's going on, but I didn't do a workaround for those since they aren't causing problems.

@trilinos/kokkos-kernels

Motivation

Related Issues

Stakeholder Feedback

Testing

I replicated #8418 on vortex, and this fixes it. Tpetra's MatrixMatrix tests bulid and run successfully.

Remove static constexpr member variables from SpADD functors.
In official C++ pre 17, these need out-of-class definitions just like
non-constexpr static members, but I didn't add them here.
GCC/Clang let this work anyway, but XL goes by the
standard so this fixes building with XL.
@brian-kelley brian-kelley added impacting: configure or build The issue is primarily related to configuring or building pkg: KokkosKernels client: SPARC Issues related to or needed more specifically by the ATDM SPARC code labels Dec 9, 2020
@brian-kelley brian-kelley self-assigned this Dec 9, 2020
@brian-kelley brian-kelley requested a review from a team as a code owner December 9, 2020 02:24
CcolindsT ABperm;
};
#endif

Copy link
Member

Choose a reason for hiding this comment

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

@brian-kelley Why was it necessary to remove this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oops, I missed that when I copied from KokkosKernels - but like Nathan said it's not used anymore (replaced by sort_crs_matrix()).

Copy link
Contributor

@ndellingwood ndellingwood left a comment

Choose a reason for hiding this comment

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

lgtm, thanks @brian-kelley !
Noting here that SortEntriesFunctor removal is simply cleanup and unrelated to the changes needed to address the static constexpr link issues with xl (already cleaned up in kokkos-kernels' develop branch)

@ndellingwood
Copy link
Contributor

Cross-referencing kokkos/kokkos-kernels#859 (that PR will clobber these changes with the 3.3 release)

@jhux2
Copy link
Member

jhux2 commented Dec 9, 2020

@brian-kelley Thank you for getting a patch in so quickly.

@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: 2947
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_serial

  • Build Num: 580
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 1076
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 8440
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_cuda_9.2

  • Build Num: 6175
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 1310
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_python_3

  • Build Num: 4071
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Using Repos:

Repo: TRILINOS (brian-kelley/Trilinos)
  • Branch: FixXLSpadd
  • SHA: fd6e399
  • Mode: TEST_REPO

Pull Request Author: brian-kelley

@trilinos-autotester
Copy link
Contributor

NOTICE: The AutoTester has encountered an internal error (usually a Communications Timeout), testing will be restarted, previous tests may still be running but will be ignored by the AutoTester...

@trilinos-autotester
Copy link
Contributor

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

@trilinos-autotester
Copy link
Contributor

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

@jhux2 jhux2 added the AT: RETEST Causes the PR autotester to run a new round of PR tests on the next iteration label Dec 14, 2020
@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' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: Trilinos_pullrequest_gcc_8.3.0

  • Build Num: 3013
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_serial

  • Build Num: 648
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 1141
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 8500
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_cuda_9.2

  • Build Num: 6216
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 1350
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_python_3

  • Build Num: 4105
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Using Repos:

Repo: TRILINOS (brian-kelley/Trilinos)
  • Branch: FixXLSpadd
  • SHA: fd6e399
  • Mode: TEST_REPO

Pull Request Author: brian-kelley

@jhux2 jhux2 added the AT: AUTOMERGE Causes the PR autotester to automatically merge the PR branch once approvals are completed label Dec 14, 2020
@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: 3013
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_serial

  • Build Num: 648
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 1141
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 8500
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_cuda_9.2

  • Build Num: 6216
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 1350
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554

Build Information

Test Name: Trilinos_pullrequest_python_3

  • Build Num: 4105
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS AT: RETEST;client: SPARC;impacting: build;pkg: KokkosKernels
PULLREQUESTNUM 8443
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH FixXLSpadd
TRILINOS_SOURCE_REPO https://github.com/brian-kelley/Trilinos
TRILINOS_SOURCE_SHA fd6e399
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 9c7e554


CDash Test Results for PR# 8443.

@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 Dec 15, 2020
@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 ndellingwood ]!

@trilinos-autotester
Copy link
Contributor

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

@trilinos-autotester trilinos-autotester merged commit 0d1b458 into trilinos:develop Dec 15, 2020
@trilinos-autotester
Copy link
Contributor

Merge on Pull Request# 8443: 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 Dec 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client: SPARC Issues related to or needed more specifically by the ATDM SPARC code impacting: configure or build The issue is primarily related to configuring or building pkg: KokkosKernels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants