Opencl_api.Devicetype t = {id : int;handle : Opencl_types.cl_device_id;platform : Platform.t;name : string;vendor : string;max_compute_units : int;max_work_group_size : int;max_work_item_dims : int;max_work_item_sizes : int array;global_mem_size : int64;local_mem_size : int64;max_clock_freq : int;supports_fp64 : bool;version : int * int;supports_subgroup_shuffle : bool;supports_int64 : bool;is_cpu : bool;mem_base_addr_align : int;max_mem_alloc_size : int64;single_fp_config : int64;}val get_devices :
Opencl_types.cl_platform_id ->
Opencl_types.cl_bitfield ->
Opencl_types.cl_device_id arrayval get_info_string :
Opencl_types.cl_device_id ->
Opencl_types.cl_device_info ->
stringval get_info_int :
Opencl_types.cl_device_id ->
Opencl_types.cl_device_info ->
intval get_info_long :
Opencl_types.cl_device_id ->
Opencl_types.cl_device_info ->
int64val get_info_size :
Opencl_types.cl_device_id ->
Opencl_types.cl_device_info ->
intval make_device : Platform.t -> int -> Opencl_types.cl_device_id -> tval subgroup_build_options : t -> stringBuild options a SUB-GROUP kernel needs on d. The sub-group built-ins are invisible at the default language level (OpenCL C 1.2) of an OpenCL 2.x/3.0 device, so the level is raised to what the device implements: OpenCL C 3.0 for a 3.0 device (where sub-groups are the optional core feature __opencl_c_subgroups), 2.0 for a 2.x device. Empty on a 1.x device, which has no sub-groups.
val get : int -> t