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

src/batched: Use SerialOpt2 for 33 to 39 square matrices #1261

Merged
merged 1 commit into from
Jan 17, 2022

Conversation

e10harvey
Copy link
Contributor

@e10harvey e10harvey commented Jan 13, 2022

Based on the data collection done yesterday, this condition update gives produces the best performance.

Before this change

square matrix dims KokkosLL KokkosLR
30 1058.316667 1271.95
32 1468.17 1577.553333
34 611.2006667 738.5043333
36 684.4183333 839.801
38 762.6296667 933.2223333
40 850.706 1046.363333

After this change

square matrix dims KokkosLL KokkosLR
30 1055.953333 1276.933333
32 1467.28 1578.036667
34 610.9443333 924.128
36 687.4673333 998.7813333
38 760.513 949.824
40 848.4526667 1049.49

@e10harvey e10harvey requested review from srajama1 and vqd8a January 13, 2022 18:34
@e10harvey e10harvey self-assigned this Jan 13, 2022
@vqd8a
Copy link
Contributor

vqd8a commented Jan 13, 2022

@e10harvey Thanks for doing this. Could you please add some performance numbers here for these cases?

@kokkos-devops-admin
Copy link

Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request.

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

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_CUDA10_Tpls_CUDA10_LayoutRight

  • Build Num: 109
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GCC720

  • Build Num: 767
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GCC720_Light_LayoutRight

  • Build Num: 414
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_GCC720

  • Build Num: 758
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_INTEL18

  • Build Num: 746
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_CLANG1001

  • Build Num: 151
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Using Repos:

Repo: KOKKOSKERNELS (e10harvey/kokkos-kernels)
  • Branch: restore_serialopt2_for_33_to_39
  • SHA: 016a6f4
  • Mode: TEST_REPO

Pull Request Author: e10harvey

@e10harvey
Copy link
Contributor Author

@vqd8a : Sure, see updated description above.

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

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_CUDA10_Tpls_CUDA10_LayoutRight

  • Build Num: 109
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GCC720

  • Build Num: 767
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GCC720_Light_LayoutRight

  • Build Num: 414
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_GCC720

  • Build Num: 758
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_INTEL18

  • Build Num: 746
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_CLANG1001

  • Build Num: 151
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_BRANCH restore_serialopt2_for_33_to_39
KOKKOSKERNELS_SOURCE_REPO https://github.com/e10harvey/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA 016a6f4
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA ebec1a3
PR_LABELS enhancement
PULLREQUESTNUM 1261
TEST_REPO_ALIAS KOKKOSKERNELS

@kokkos-devops-admin
Copy link

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!

@kokkos-devops-admin
Copy link

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

Copy link
Contributor

@vqd8a vqd8a left a comment

Choose a reason for hiding this comment

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

@e10harvey Thanks.
I just want to add that using SerialOpt2 for this range of 33 to 39 might be temporary. When Kokkos supports static shared memory allocation, the double buffering algorithm might be faster than SerialOpt2. I think we need to revisit the selection eventually.

@kokkos-devops-admin
Copy link

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

@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

@srajama1
Copy link
Contributor

Should we wait for Kokkos to add it, of can we just allocate in Kokkos Kernels?

@e10harvey
Copy link
Contributor Author

Should we wait for Kokkos to add it, of can we just allocate in Kokkos Kernels?

We can allocate it for Cuda but not cleanly for all backends.

@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

2 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

@e10harvey e10harvey merged commit 3f9c011 into kokkos:develop Jan 17, 2022
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.

4 participants