string ->
string ->
object
  val binaries : (Spoc.Devices.device, Kernel.kernel) Hashtbl.t
  val mutable cuda_sources : string list
  val file_file : string
  val kernel_name : string
  val mutable opencl_sources : string list
  method virtual args_to_list : '-> 'b
  method compile : ?debug:bool -> Spoc.Devices.device -> unit
  method compile_and_run :
    '->
    Kernel.block * Kernel.grid ->
    ?debug:bool -> int -> Spoc.Devices.device -> unit
  method virtual exec :
    '->
    Kernel.block * Kernel.grid ->
    int -> Spoc.Devices.device -> Kernel.kernel -> unit
  method get_binaries :
    unit -> (Spoc.Devices.device, Kernel.kernel) Hashtbl.t
  method get_cuda_sources : unit -> string list
  method get_opencl_sources : unit -> string list
  method virtual list_to_args : '-> 'a
  method reload_sources : unit -> unit
  method reset_binaries : unit -> unit
  method run :
    '-> Kernel.block * Kernel.grid -> int -> Spoc.Devices.device -> unit
  method set_cuda_sources : string -> unit
  method set_opencl_sources : string -> unit
end