Skip to content

Start removing event system#317

Merged
vchuravy merged 39 commits intomasterfrom
vc/nix_dependencies
Feb 15, 2023
Merged

Start removing event system#317
vchuravy merged 39 commits intomasterfrom
vc/nix_dependencies

Conversation

@vchuravy
Copy link
Member

@vchuravy vchuravy commented Aug 3, 2022

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:

  1. Does this also work with the oneAPI and ROCm backend?
  2. synchronize(::Device) is rather nice, but is also exported by CUDA.jl
  3. For 1.0 can we add KA as a dependency to GPUArrays.jl and move CUDAKernels.jl into CUDA.jl

end

function KernelAbstractions.async_copy!(::CUDADevice, A, B; dependencies=nothing, progress=yield)
function KernelAbstractions.async_copy!(::CUDADevice, A, B, progress=yield)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the progress argument still needed?

@vchuravy vchuravy mentioned this pull request Sep 23, 2022
@leios
Copy link
Contributor

leios commented Jan 6, 2023

We recently had a discussion about using KernelAbstractions in GPUArrays. To do this, we need to:

  1. Fix up AMDGPU to work with this PR
  2. Move CUDAKernels, ROCKernels, etc to AMDGPU, CUDA, etc... (as package extensions in 1.9?)
  3. Make GPUArrays dependent on KA

@vchuravy vchuravy force-pushed the vc/nix_dependencies branch from 937da29 to 0f00358 Compare February 12, 2023 22:37
@vchuravy vchuravy marked this pull request as ready for review February 13, 2023 00:38
@vchuravy vchuravy merged commit 985e350 into master Feb 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants