JuliaGPU / JuliaGPU/KernelAbstractions.jl
exposing warp-level semantics
- Dominant language
- Julia
- Stars
- 523
- Forks
- 88
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 25
Description
I had a request from a user to use warp-level semantics from CUDA: `sync_warp`, `warpsize`, and stuff here: https://cuda.juliagpu.org/stable/api/kernel/#Warp-level-functions.
They seem to be available here: https://rocm.docs.amd.com/projects/rocPRIM/en/latest/warp_ops/index.html, but I don't know where they exist in AMDGPU.jl or how to use them in KA.
They might be available, but I couldn't find "warp" or "wavefront" or anything else in either the AMDGPU or KernelAbstractions docs. I mean, there was this page: https://amdgpu.juliagpu.org/stable/wavefront_ops/ ... but it's a bit sparse ^^
If this is already available in KA, I'm happy to add a bit to the docs explaining how they are used. If it is not available, I guess I need to put some PRs forward for CUDA(kernels), ROC(kernels), and here with the new syntax.
Related discussion: https://github.com/JuliaMolSim/Molly.jl/pull/147
Putting it here because I think I found kinda what I was looking for for AMDGPU here: https://github.com/JuliaGPU/AMDGPU.jl/blob/master/test/device/wavefront.jl
* `wavefrontsize` = warpsize
* `wfred` = wavefront reduce
* `wfscan` = wafecron scan
* `wfany` = ???
* `wfail` = ???
* `wfsame` = ???
* ??? = `warp_sync`
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with AMDGPU.jl's test/device/wavefront.jl and the wavefront_ops documentation, then compare the available operations with the CUDA warp-level API linked in the issue. Determine whether KernelAbstractions already exposes equivalent semantics; done should be a documented, scoped conclusion about supported operations or the cross-backend work required.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- hpc
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100