Module Kernel


module Kernel: sig .. end

type kernel 
val relax_vcustom : 'a Vector.vcustom -> 'b Vector.vcustom

type ('a, 'b) kernelArgs =
| VCustom of 'a Vector.vcustom
| VFloat32 of Vector.vfloat32
| VFloat64 of Vector.vfloat64
| VComplex32 of Vector.vcomplex32
| VInt32 of Vector.vint32
| VInt64 of Vector.vint64
| Int32 of int
| Int64 of int
| Float32 of float
| Float64 of float
| Vector of ('a, 'b) Vector.vector
| LocalFloat32 of Vector.localvfloat32

type block = {
   mutable blockX : int;
   mutable blockY : int;
   mutable blockZ : int;
}
type grid = {
   mutable gridX : int;
   mutable gridY : int;
   mutable gridZ : int;
}
val nbCaches : int
module Cuda: sig .. end
module OpenCL: sig .. end
exception ERROR_BLOCK_SIZE
exception ERROR_GRID_SIZE
val exec : string ->
string ->
('a, 'b) kernelArgs array ->
block * grid -> bool -> bool -> int -> Devices.device -> unit
val run : Devices.device ->
block * grid ->
?debug:bool ->
?cached:bool ->
?queue_id:int ->
(block * grid -> bool -> bool -> int -> Devices.device -> 'a) ->
'a
val max : 'a -> 'a -> 'a