Spoc_core.Kernelmodule type KERNEL = sig ... endA compiled kernel packages backend-specific kernel with its operations
module type ARGS = sig ... endKernel arguments builder packages backend-specific args with setters
val set_arg_buffer : args -> int -> 'a Memory.buffer -> unitSet buffer argument
val set_arg_int32 : args -> int -> int32 -> unitSet int32 argument
val set_arg_int64 : args -> int -> int64 -> unitSet int64 argument
val set_arg_float32 : args -> int -> float -> unitSet float32 argument
val set_arg_float64 : args -> int -> float -> unitSet float64 argument
val set_arg_ptr : args -> int -> nativeint -> unitSet raw device pointer argument (CUDA only)
val launch :
t ->
args:args ->
grid:Spoc_framework.Framework_sig.dims ->
block:Spoc_framework.Framework_sig.dims ->
?shared_mem:int ->
unit ->
unitLaunch a kernel
val clear_cache : Device.t -> unitClear all kernel caches
val name : t -> stringGet kernel name
val get_kargs : args -> Spoc_framework.Framework_sig.kargsGet wrapped kargs for direct backend use