-
Notifications
You must be signed in to change notification settings - Fork 40
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
Basic kokkos #206
Basic kokkos #206
Conversation
@davidbeckingsale hey David can you take a look at this? |
CMakeLists.txt
Outdated
|
||
# The statement below is required for Kokkos compilation. | ||
if(ENABLE_KOKKOS) | ||
include_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/tpl/RAJA/include/) |
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.
is this for basic type parameterization that the perf suite inherits from RAJA?
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.
We removed the include_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/tpl/RAJA/include/)
line from this bloc. This line was likely inserted as a hack in the early prototyping stages.
4888c3d
to
1320300
Compare
Amy is gonna revert the formatting changes on the couple original files where she applied clang-format accidentally. Other than that I think this is good now. |
Good morning @davidbeckingsale -- The commits this morning (for |
@davidbeckingsale @rhornung67 can you take a look at this? |
co-authored-by: Christian Trott <[email protected]> co-authored-by: David Zoeller Poliakoff <[email protected]> Adds optional Kokkos dependency and Kokkos as a submodule
co-authored-by: Christian Trott <[email protected]> co-authored-by: David Zoeller Poliakoff <[email protected]>
co-authored-by: Christian Trott <[email protected]> co-authored-by: David Zoeller Poliakoff <[email protected]> Note: This makes it so that one only compiles the basic kernel group when Kokkos is enabled. This required a few judicous ifdefs in some places in common. Eventually when the Kokkos variants for all the kernel groups are merged, those ifdefs are not needed.
…e format This commit effectively removes clang formatting inappropriately applied to these files.
…rmatted file This commit effectively reverts clang formatting applied to this file in later commits, thus minimizing changes to the original file.
Accept this change Co-authored-by: Jason Burmark <[email protected]>
Co-authored-by: Jason Burmark <[email protected]>
Suggestion accepted Co-authored-by: Jason Burmark <[email protected]>
Suggestion accepted Co-authored-by: Jason Burmark <[email protected]>
I'm having some trouble configuring with this PR. and I am getting the following error:
|
I was able to get to configure by using a newer GNU - 8.3.1, but I then get warnings of the following type:
then I get build errors:
|
Hmmm... Thanks for bringing this up, Arturo. Let me look into this. I was using gcc/9.1 + cuda/11.2, and it was OK for me. Have you updated your Kokkos submodule recently, i.e., at the project root , |
Yes I tried: I am using cuda-11.0.2 |
@artv3 -- Here's the configuration I'm using on an NVIDIA server:
Can you try this configuration? Again, this is with gcc/9.1 + CUDA/11.2 |
Thanks, between that and switching the kokkos branch to master I was able to build. The hash for kokkos I got from git submodule was
Running the suite via:
Based on run-time it looks like kokkos is running with the CUDA backend. For a fair comparison, it would be nice if the number of threads per block were reported. |
Could the following be added to a script?
|
Yes, I did most of the development on a CUDA machine. I will speak with @crtrott about the possibility of reporting the number of threads (per backend) block. Would it be possible to merge this PR now? We are going on a year now. If this work is not merged soon, then I will not be able to contribute the other Kokkos variants. |
Approved! #248 (review) |
@artv3 I am looking into this error:
We recently moved min, max, etc. to the Kokkos namespace (and out of |
Sure, no problem. I will put it in the |
Yes, I think the kokkos submodule has to be updated. It currently points at hash: |
One way to do this is to go to the kokkos tpl folder and checkout the correct version of kokkos, commit and push the change. Using master worked for me, but perhaps we should use a released version. |
This PR represents a split from PR #188. Here, we provide Kokkos basic variants. Also, we made minimal extensions to the build system for Kokkos integration. Moving forward, we will have a PR for Kokkos variants of each kernel group.