KernelAbstractions.jl
KernelAbstractions.jl copied to clipboard
Start removing event system
As I have mentioned over the last little while I would like to remove the event system. Over the years it has proven itself to be cumbersome, and prone to introduce bugs.
In contrast @maleadt developed a task-based concurrency scheme for CUDA.jl that is rather elegant and doesn't introduce a new terminology beside Julia's existing tasks.
This is the last big chance I forsee and I plan on KernelAbstractions 0.9 to be a direct pre-cursor to 1.0.
Things that need to be hammered out:
- Does this also work with the oneAPI and ROCm backend?
synchronize(::Device)is rather nice, but is also exported by CUDA.jl- For 1.0 can we add KA as a dependency to GPUArrays.jl and move CUDAKernels.jl into CUDA.jl