Valentin Churavy

Results 1413 comments of Valentin Churavy

I would like to direct people as quickly as possible to the docs, but you are of course right there is no elevator pitch, but just a table of CI...

The CPU kernel is: ``` function cpu_f_test_kernel!(__ctx__, a; ) let $(Expr(:aliasscope)) begin N = length(input) a = 0 var"##N#273" = length((KernelAbstractions.__workitems_iterspace)(__ctx__)) end if tid < N for i = 1:10...

I have been thinking about this. The reason I went with `ndrange` over `ngroups`, was that traditional CUDA kernels need to include bounds-checks, and the hope was that we could...

Yeah... this is a fundamental issue. You need to split the type union so:: ``` meh = tid%tuple_size+1 if meh == 1 f = tuple_thingy[1] input[tid] = f(tid) elseif meh...

Yeah you could do: ``` @macroexpand Base.Cartesian.@nif 3 d->meh == d d->tuple_thingy[d](tid) ``

Probably an issue with using the prefix form... The challenge of doing this as a macro, things are not normalized yet.

Yeah we would need to add a variant of `KernelAbstractions.@index` for https://github.com/JuliaGPU/KernelAbstractions.jl/blob/d983201a47460eee32705bd9ee3903c242519ce1/src/macros.jl#L160-L175 I am hesitant to do that since people might think `Oceanigans.KernelAbstractions.@index` would then also work, but on the...

We could add a separate backend that then uses GPUCompiler to do so. Or add tools to use Cthulhu to find dynamic dispatch.

Ahhh, this makes sense... The `error` terminates the kernel execution. What happens if you add a `wait` on `nested_kernel(CPU())(v, ndrange = 10)`, eg. ``` wait(nested_kernel(CPU())(v, ndrange = 10)) ``` The...