sig
  val auto : bool Pervasives.ref
  val auto_transfers : bool -> unit
  val to_device :
    ('a, 'b) Vector.vector -> ?queue_id:int -> Devices.device -> unit
  val to_cpu : ('a, 'b) Vector.vector -> ?queue_id:int -> unit -> unit
  val unsafe_set : ('a, 'b) Vector.vector -> int -> '-> unit
  val unsafe_get : ('a, 'b) Vector.vector -> int -> 'a
  val set : ('a, 'b) Vector.vector -> int -> '-> unit
  val get : ('a, 'b) Vector.vector -> int -> 'a
  external sub_custom_array :
    Vector.customarray -> 'Vector.custom -> int -> Vector.customarray
    = "spoc_sub_custom_array"
  val sub_vector :
    ('a, 'b) Vector.vector -> int -> int -> ('a, 'b) Vector.vector
end