Module Spoc_core_base.Make
Parameters
Signature
Element types
type ('a, 'b) scalar_kind = | Float32 : (float, Stdlib.Bigarray.float32_elt) scalar_kind| Float64 : (float, Stdlib.Bigarray.float64_elt) scalar_kind| Int32 : (int32, Stdlib.Bigarray.int32_elt) scalar_kind| Int64 : (int64, Stdlib.Bigarray.int64_elt) scalar_kind| Char : (char, Stdlib.Bigarray.int8_unsigned_elt) scalar_kind| Complex32 : (Stdlib.Complex.t, Stdlib.Bigarray.complex32_elt) scalar_kind
and (_, _) host_storage = | Bigarray_storage : ('a, 'b, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t ->
('a, 'b)
host_storage| Custom_storage : {ptr : Ops.handle;custom : 'a custom_type;length : int;
} -> ('a, unit) host_storage
and ('a, 'b) t = {host : ('a, 'b) host_storage;device_buffers : (int, Ops.device_buf) Stdlib.Hashtbl.t;length : int;kind : ('a, 'b) kind;mutable location : location;mutable auto_sync : bool;id : int;
}Kind helpers — pure
val to_bigarray_kind : ('a, 'b) scalar_kind -> ('a, 'b) Stdlib.Bigarray.kindval bigarray_elem_size : ('a, 'b) Stdlib.Bigarray.kind -> intval elem_size : ('a, 'b) kind -> intval kind_name : ('a, 'b) kind -> stringType-id helpers
Creation
val of_bigarray :
('a, 'b) scalar_kind ->
('a, 'b, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t ->
('a, 'b) tval of_raw_handle : 'a custom_type -> nativeint -> int -> ('a, unit) tAccessors
val to_bigarray :
('a, 'b) t ->
('a, 'b, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.tval is_sub : ('a, 'b) t -> boolval depth : ('a, 'b) t -> intval parent_id : ('a, 'b) t -> int optionval sub_start : ('a, 'b) t -> int optionval sub_ok_range : ('a, 'b) t -> int optionval sub_ko_range : ('a, 'b) t -> int optionCopy & slicing
val copy_host_only : ('a, 'b) t -> ('a, 'b) tval sub_vector_host : ('a, 'b) t -> start:int -> len:int -> ('a, 'b) tval sub_vector :
('a, 'b) t ->
start:int ->
len:int ->
ok_range:int ->
ko_range:int ->
('a, 'b) tval partition_host : ('a, 'b) t -> Ops.device_t array -> ('a, 'b) t arrayList / array creation
val of_list : ('a, 'b) kind -> 'a list -> ('a, 'b) tval of_array : ('a, 'b) kind -> 'a array -> ('a, 'b) tAuto-sync callback
type sync_callback = {sync : 'a 'b. ('a, 'b) t -> bool;
}val ensure_cpu_sync : ('a, 'b) t -> unitHandle access for the transfer layer
val host_raw : ('a, 'b) t -> nativeintConvenience scalar-kind values
val float32 : (float, Stdlib.Bigarray.float32_elt) kindval float64 : (float, Stdlib.Bigarray.float64_elt) kindval int32 : (int32, Stdlib.Bigarray.int32_elt) kindval int64 : (int64, Stdlib.Bigarray.int64_elt) kindval char : (char, Stdlib.Bigarray.int8_unsigned_elt) kindval complex32 : (Stdlib.Complex.t, Stdlib.Bigarray.complex32_elt) kind