KernelAbstractions.jl
KernelAbstractions.jl copied to clipboard
Heterogeneous programming in Julia
`nested task error: unsupported or misplaced expression aliasscope` when using `julia --compile=min`
I recently tried using the `julia --compile=min` flag to spend less time compiling (and more time debugging) but KernelAbstractions.jl started erroring. Turns out I can reproduce the same error by...
To eliminate code like https://github.com/SciML/DiffEqGPU.jl/blob/6c1886bf4e62a6293490d6c333a1302045a744d0/src/DiffEqGPU.jl#L369-L370, it would be nice if we could select the backend for the user automatically based on the input arguments provided. I propose an `Auto()` backend...
@ChrisRackauckas suggests that this package provides much of the utilities that would make broadcasting over specified axes efficient. This can be seen in [DiffEqGPU.jl](https://github.com/SciML/DiffEqGPU.jl/blob/master/src/DiffEqGPU.jl). Can we discuss a user facing...
I get `MethodError: no method matching __index_Local_Linear()` from code that I expect to work (`g`): ```julia julia> @kernel function f(xs) i = @index(Local, Linear) xs[i] = 1 end f (generic...
It'd be nice to have KernelAbstractions/CPU/CUDA "rosetta stone" in the documentation so that you can start coding quickly KernelAbstractions if you know some CUDA API. I guess it'd be something...
Does KernelAbstractions.jl support auto-setting workgroupsize when the kernel has local memory size that depends on groupsize? For example, `CUDA.launch_configuration` takes a `shmem` callback that maps a number of threads to...
If the caller (host-side code) of a kernel needs to pre-allocate buffer that depends on workgroupsize and the workgroupsize is not specified, the caller needs to run the auto-tuning of...
Often if a method is missing we see an error message of the form: ``` Reason: unsupported dynamic function invocation (call to boundary_state!) ``` Would it be possible to get...
The `@unroll` macro used to live in GPUifyLoops.jl. Now it lives in the `extras` folder of KernelAbstractions.jl. It doesn't seem like the `@unroll` functionality depends on anything else in KernelAbstractions....
The ClimateMachine kernels often specify the `ndrange` as an integer multiple of the workgroup, e.g.: https://github.com/CliMA/ClimateMachine.jl/blob/feacd0238343cdf268ae660e56b301f487689efc/src/Numerics/DGMethods/DGModel.jl#L1241-L1242 In this case, it would be simpler to be able to specify something like...