-
Notifications
You must be signed in to change notification settings - Fork 372
added kokkos to libraries.yaml in the cuda section #1666
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
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: Thomas Padioleau <[email protected]>
|
I'm trying to understand what this is doing: it seems to duplicate the kokkos we already have elsewhere? They both install to the same directory so... the second copy does nothing: Can you explain what you're trying to achieve here? Do we need to change our existing kokkos to build with extra flags? Do we really need two separate copies of the Kokkos library? If so we'll need to change some paths. Or am I missing something? :) |
|
As discussed in the discord: Kokkos is a compile-time polymorphic library. It requires separate build for separate backends (one for CPU, one for GPU) We can keep one "clone" of kokkos but we do need two separate builds/installs. Practically, this can be done in seperate build folders with e.g. cmake -B build_gpu If a new GPU architecture needs to be supported, a third install will be necessary (and so forth) |
Co-authored-by: Damien L-G <[email protected]>
|
Can you post a link to the discord discussion? |
|
Here it is: channel: ce-dev-discussions |
|
I'm sorry I didn't get back to this! I've been at a conference and I'll be on holiday next week. Will try and get this working.. |
bin/yaml/libraries.yaml
Outdated
| - 1.16.0 | ||
| - 1.17.0 | ||
| type: github | ||
| kokkos: |
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'll need to find a way to install this in a different directory to the other kokkos; as these currently will land in the same directory. I'll clone locally and see if I can get this working.
mattgodbolt
left a comment
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.
No guarantee it'll work exactly as intended as I doubt our builder box has the GPU stuff installed, but this will stop it trying to install over the top of the "normal" kokkos.
bin/yaml/libraries.yaml
Outdated
| - 1.16.0 | ||
| - 1.17.0 | ||
| type: github | ||
| kokkos: |
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 tested locally and please make this change:
- kokkos:
+ gpu:
+ kokkos:
+ subdir: gpu/kokkos
that is, put the kokkos under a gpu heading, and set its subdir: to gpu/kokkos which will then mean:
"Normal" kokkos installs at /opt/compiler-explorer/libs/kokkos/...
"GPU" kokkos installs at /opt/compiler-explorer/libs/gpu/kokkos/...
No rush ! Thank again for taking time to do this. The Kokkos community is thankful :)
Let me know if my last commit does the job, maybe I should have indented the following lines ? Cheers ! |
|
Thanks @rbourgeois33 that does the trick. Seems we still need some infrastrucutre changes on our side too though |
Hi @mattgodbolt! Do you have an update on the status of those changes ? |
|
I'm sorry, no, it's not been something we've prioritised! I appreciate that's frustrating, and it being infrastructurla makes it a little harder to solicit external help (though the code is OSS if you want to poke around; likely as not @partouf or I need to have a think about it though) |
Don't worry we understand. We are wondering if there could be any trick on the library side that could ease the deployment. For example if we rename our library, let's say kokkos-cuda, could it be helpful ? |
See the corresponding PR