CUDABackend
accepts two keyword arguments. the default for prefer_blocks
is false. i have a custom kernel for which i need that to be true. KernelAbstractions.get_backend
has no way to pass that in. so how do i write vendor agnostic code then?
it seems to me that get_backend
needs to accept keyword argments too. so in KernelAbstractions.jl:
get_backend(::Array; kwargs...) = CPU()
etc...
and in CUDAKernels.jl:
KernelAbstractions.get_backend(::CUDA.CuArray; kwargs...) = CUDABackend(kwargs)
does that make sense? happy to submit a PR if so.