-
Notifications
You must be signed in to change notification settings - Fork 99
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
Tpl rocblas and rocsparse #1153
Conversation
cmake/kokkoskernels_tpls.cmake
Outdated
@@ -1,514 +1,573 @@ | |||
FUNCTION(kokkoskernels_append_config_line LINE) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like autoformatting broke some things in this file - sometimes it inserted a space, likeKOKKOSKERNELS_${TPL_NAME}_ROOT
became KOKKOSKERNELS_${TPL_NAME} _ROOT
, or changed
${SOME_VAR}
to
${
SOME_VAR}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Come to think of it, clang-format doesn't actually check the file extension or type. If you pass it a non-C++ file, it will be happy to mangle it :)
Maybe the script to format all the git added files could check for hpp/cpp file extensions ( @e10harvey )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I will look at that again, I want to add something for the rocsparse handle first so that the PR will set us up for integration of some of the TPLs in the blas and sparse kernels.
Thanks for noticing these though, I'll make sure to run clang-format and then build and test on Spock : )
acf2802
to
7a9e541
Compare
@brian-kelley |
@e10harvey |
Hi @lucbv, https://cmake.org/cmake/help/latest/command/configure_file.html indicates that the syntax is |
@e10harvey thanks, I did not think about the local format de-activation, I will do that! |
fc5d495
to
b99dd39
Compare
@lucbv Since the TPL logic creates a standard option named like
and analogously this to cmake/Modules/FindTPLROCSPARSE.cmake:
That made it easy to configure on Caraway by setting ROCBLAS_ROOT/ROCSPARSE_ROOT, as an alternative to using ROCM_PATH (I tested both ways). |
@brian-kelley sure, I'll look into it. Anyway I clearly have something wrong in my logic as the whole thing fails when rocblas/rocsparse are not available x) |
Adding some infrastructure in cmake and tests to enable rocBLAS and rocSPARSE and check that is compiles correctly and that simple calls to get library versions are working.
Adding similar utitlies and tests for rocSPARSE as the ones previously added for rocBLAS.
Since ROCm does not ship with these libraries by default, they should be turned OFF by default and only turned ON if the user has requested them explicitely.
Adding KokkosKernels_ROCBLAS_ROOT and KokkosKernels_ROCSPARSE_ROOT to the FindTPL modules as they are defined automatically by our TPL system and should be available to users.
8ccbfae
to
53537c9
Compare
@brian-kelley |
@@ -0,0 +1,60 @@ | |||
// Note: Luc Berger-Vergiat 10/25/21 | |||
// Only include this test if compiling | |||
// the cuda sparse tests and cuSPARSE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment should say "HIP/rocSPARSE" probably
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. There was just one comment that looked like a copy-paste from the CUDA version of the same file, but no big deal
Status Flag 'Pull Request AutoTester' - Failure: Timed out waiting for job KokkosKernels_PullRequest_Tpls_GCC720_GCC740 to start: Total Wait = 3603
|
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: KokkosKernels_PullRequest_GCC720_Light
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC720_Light_LayoutRight
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA10
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_INTEL18
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA10_LayoutRight
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA9
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720_GCC740
Jenkins Parameters
Using Repos:
Pull Request Author: lucbv |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: KokkosKernels_PullRequest_GCC720_Light
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC720_Light_LayoutRight
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA10
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_INTEL18
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA10_LayoutRight
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA9
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720_GCC740
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ brian-kelley ]! |
Status Flag 'Pull Request AutoTester' - Pull Request MUST BE MERGED MANUALLY BY Project Team - This Repo does not support Automerge |
Adding support for AMD device libraries: rocBLAS and rocSPARSE.
Everything configures, compiles and runs fine on Spock, there is a chance that this will fail on caraway depending on how the libraries are installed.