sig
  type cuda_extra
  external cuda_create_extra : int -> Kernel.Cuda.cuda_extra
    = "spoc_cuda_create_extra"
  external cuda_launch_grid :
    int Pervasives.ref ->
    Kernel.kernel ->
    Kernel.grid ->
    Kernel.block ->
    Kernel.Cuda.cuda_extra -> Spoc.Devices.generalInfo -> int -> unit
    = "spoc_cuda_launch_grid_b" "spoc_cuda_launch_grid_n"
  val cuda_load_arg :
    int Pervasives.ref ->
    Kernel.Cuda.cuda_extra ->
    Spoc.Devices.device -> '-> '-> ('a, 'b) Kernel.kernelArgs -> unit
end