package spoc

  1. Overview
  2. Docs
type kernel
val relax_vector : ('a, 'b) Vector.vector -> ('c, 'd) Vector.vector
type (!'a, !'b) kernelArgs =
  1. | VChar of ('a, 'b) Vector.vector
  2. | VFloat32 of ('a, 'b) Vector.vector
  3. | VFloat64 of ('a, 'b) Vector.vector
  4. | VComplex32 of ('a, 'b) Vector.vector
  5. | VInt32 of ('a, 'b) Vector.vector
  6. | VInt64 of ('a, 'b) Vector.vector
  7. | Int32 of int
  8. | Int64 of int
  9. | Float32 of float
  10. | Float64 of float
  11. | Custom of ('a, 'b) Vector.custom
  12. | Vector of ('a, 'b) Vector.vector
  13. | VCustom of ('a, 'b) Vector.vector
type block = {
  1. mutable blockX : int;
  2. mutable blockY : int;
  3. mutable blockZ : int;
}
type grid = {
  1. mutable gridX : int;
  2. mutable gridY : int;
  3. mutable gridZ : int;
}
exception ERROR_BLOCK_SIZE
exception ERROR_GRID_SIZE
module Cuda : sig ... end
module OpenCL : sig ... end
val exec : ('a, 'b) kernelArgs array -> (block * grid) -> int -> Devices.device -> kernel -> unit
val compile_and_run : Devices.device -> (block * grid) -> ?cached:bool -> ?debug:bool -> ?queue_id:int -> (('a * ((block * grid) -> bool -> bool -> int -> Devices.device -> 'b)) * 'c) -> 'b
exception No_source_for_device of Devices.device
exception Not_compiled_for_device of Devices.device
class virtual [!'a, !'b] spoc_kernel : string -> string -> object ... end
val run : Devices.device -> (block * grid) -> ('a, 'b) spoc_kernel -> 'a -> unit
val compile : Devices.device -> ('a, 'b) spoc_kernel -> unit
val set_arg : ('a, 'b) kernelArgs array -> int -> ('a, 'b) Vector.vector -> unit
OCaml

Innovation. Community. Security.