JuliaGPU / JuliaGPU/KernelAbstractions.jl
Suggestion: Better ergonomics around collecting multiple kernels
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 523
- Forks
- 88
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 25
Description
Hey there, I'm really enjoying using KernelAbstractions so far!
Doing Multievents feels clunky, from looking at the source I've used it as follows:
events = []
for layer in 1:layers
push!(events, kernel_func!(cuda_grids, layer))
end
wait(MultiEvent(Tuple(events)))
Perhaps I missed something, but a suggestion would be to make wait accept an Array{Event,1}?
Under the hood, I understand it's using a tuple. Is there any limitation to the way that wait is implemented such that it couldn't accept an Array?
For instance:
events = [box_blur!(model.grids, layer) for layer in 1:length(model.agent_configs)]
wait(events)
Thanks,
Tom
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the MultiEvent and wait entry points mentioned in the issue, then inspect how event collections are currently handled. Compare the existing tuple-based behavior with the proposed Array{Event,1} and comprehension examples; done means the requested collection form works without breaking the current usage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100