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: JuliaMolSim/Molly.jl#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
= warpsizewfred
= wavefront reducewfscan
= wafecron scanwfany
= ???wfail
= ???wfsame
= ???- ??? =
warp_sync