pub trait FullDeviceInfo {
Show 76 methods fn device_type(&self) -> OclResult<DeviceType>; fn vendor_id(&self) -> OclResult<u32>; fn max_compute_units(&self) -> OclResult<u32>; fn max_work_item_dimensions(&self) -> OclResult<u32>; fn max_work_group_size(&self) -> OclResult<usize>; fn max_work_item_sizes(&self) -> OclResult<Vec<usize>>; fn preferred_vector_width_char(&self) -> OclResult<u32>; fn preferred_vector_width_short(&self) -> OclResult<u32>; fn preferred_vector_width_int(&self) -> OclResult<u32>; fn preferred_vector_width_long(&self) -> OclResult<u32>; fn preferred_vector_width_float(&self) -> OclResult<u32>; fn preferred_vector_width_double(&self) -> OclResult<u32>; fn max_clock_frequency(&self) -> OclResult<u32>; fn address_bits(&self) -> OclResult<u32>; fn max_read_image_args(&self) -> OclResult<u32>; fn max_write_image_args(&self) -> OclResult<u32>; fn max_mem_alloc_size(&self) -> OclResult<u64>; fn image2d_max_width(&self) -> OclResult<usize>; fn image2d_max_height(&self) -> OclResult<usize>; fn image3d_max_width(&self) -> OclResult<usize>; fn image3d_max_height(&self) -> OclResult<usize>; fn image3d_max_depth(&self) -> OclResult<usize>; fn image_support(&self) -> OclResult<bool>; fn max_parameter_size(&self) -> OclResult<usize>; fn max_samplers(&self) -> OclResult<u32>; fn mem_base_addr_align(&self) -> OclResult<u32>; fn min_data_type_align_size(&self) -> OclResult<u32>; fn single_fp_config(&self) -> OclResult<DeviceFpConfig>; fn global_mem_cache_type(&self) -> OclResult<DeviceMemCacheType>; fn global_mem_cacheline_size(&self) -> OclResult<u32>; fn global_mem_cache_size(&self) -> OclResult<u64>; fn global_mem_size(&self) -> OclResult<u64>; fn max_constant_buffer_size(&self) -> OclResult<u64>; fn max_constant_args(&self) -> OclResult<u32>; fn local_mem_type(&self) -> OclResult<DeviceLocalMemType>; fn local_mem_size(&self) -> OclResult<u64>; fn error_correction_support(&self) -> OclResult<bool>; fn profiling_timer_resolution(&self) -> OclResult<usize>; fn endian_little(&self) -> OclResult<bool>; fn available(&self) -> OclResult<bool>; fn compiler_available(&self) -> OclResult<bool>; fn execution_capabilities(&self) -> OclResult<DeviceExecCapabilities>; fn queue_properties(&self) -> OclResult<CommandQueueProperties>; fn name(&self) -> OclResult<String>; fn vendor(&self) -> OclResult<String>; fn driver_version(&self) -> OclResult<String>; fn profile(&self) -> OclResult<String>; fn version(&self) -> OclResult<OpenclVersion>; fn extensions(&self) -> OclResult<String>; fn platform(&self) -> OclResult<PlatformId>; fn double_fp_config(&self) -> OclResult<DeviceFpConfig>; fn half_fp_config(&self) -> OclResult<DeviceFpConfig>; fn preferred_vector_width_half(&self) -> OclResult<u32>; fn host_unified_memory(&self) -> OclResult<bool>; fn native_vector_width_char(&self) -> OclResult<u32>; fn native_vector_width_short(&self) -> OclResult<u32>; fn native_vector_width_int(&self) -> OclResult<u32>; fn native_vector_width_long(&self) -> OclResult<u32>; fn native_vector_width_float(&self) -> OclResult<u32>; fn native_vector_width_double(&self) -> OclResult<u32>; fn native_vector_width_half(&self) -> OclResult<u32>; fn opencl_c_version(&self) -> OclResult<String>; fn linker_available(&self) -> OclResult<bool>; fn built_in_kernels(&self) -> OclResult<String>; fn image_max_buffer_size(&self) -> OclResult<usize>; fn image_max_array_size(&self) -> OclResult<usize>; fn parent_device(&self) -> OclResult<Option<DeviceId>>; fn partition_max_sub_devices(&self) -> OclResult<u32>; fn partition_properties(&self) -> OclResult<Vec<DevicePartitionProperty>>; fn partition_affinity_domain(&self) -> OclResult<DeviceAffinityDomain>; fn partition_type(&self) -> OclResult<Vec<DevicePartitionProperty>>; fn reference_count(&self) -> OclResult<u32>; fn preferred_interop_user_sync(&self) -> OclResult<bool>; fn printf_buffer_size(&self) -> OclResult<usize>; fn image_pitch_alignment(&self) -> OclResult<u32>; fn image_base_address_alignment(&self) -> OclResult<u32>;
}
Expand description

Provides a more convenient and safe interface to access less commonly used device information. The methods return the appropriate type for the given device info, rather than a DeviceInfoResult which must then be manually converted. This saves a significant amount of boilerplate when querying multiple different types of device information or using ones which don’t already have a method on Device.

Examples

Instead of using device.info like this…

let compute_units = match device.info(DeviceInfo::MaxComputeUnits)? {
    DeviceInfoResult::MaxComputeUnits(c) => c,
    _ => panic!("...")
};

…you can use the trait and then call the method for whichever device information you need:

use ocl-extras::full_device_info::FullDeviceInfo;
let compute_units = device.max_compute_units()?;

Required Methods

Implementations on Foreign Types

Implementors