[][src]Trait opencv::prelude::DeviceInfoTrait

pub trait DeviceInfoTrait {
    fn as_raw_DeviceInfo(&self) -> *const c_void;
fn as_raw_mut_DeviceInfo(&mut self) -> *mut c_void; fn device_id(&self) -> Result<i32> { ... }
fn name(&self) -> Result<String> { ... }
fn total_global_mem(&self) -> Result<size_t> { ... }
fn shared_mem_per_block(&self) -> Result<size_t> { ... }
fn regs_per_block(&self) -> Result<i32> { ... }
fn warp_size(&self) -> Result<i32> { ... }
fn mem_pitch(&self) -> Result<size_t> { ... }
fn max_threads_per_block(&self) -> Result<i32> { ... }
fn max_threads_dim(&self) -> Result<Vec3i> { ... }
fn max_grid_size(&self) -> Result<Vec3i> { ... }
fn clock_rate(&self) -> Result<i32> { ... }
fn total_const_mem(&self) -> Result<size_t> { ... }
fn major_version(&self) -> Result<i32> { ... }
fn minor_version(&self) -> Result<i32> { ... }
fn texture_alignment(&self) -> Result<size_t> { ... }
fn texture_pitch_alignment(&self) -> Result<size_t> { ... }
fn multi_processor_count(&self) -> Result<i32> { ... }
fn kernel_exec_timeout_enabled(&self) -> Result<bool> { ... }
fn integrated(&self) -> Result<bool> { ... }
fn can_map_host_memory(&self) -> Result<bool> { ... }
fn compute_mode(&self) -> Result<DeviceInfo_ComputeMode> { ... }
fn max_texture1_d(&self) -> Result<i32> { ... }
fn max_texture1_d_mipmap(&self) -> Result<i32> { ... }
fn max_texture1_d_linear(&self) -> Result<i32> { ... }
fn max_texture_2d(&self) -> Result<Vec2i> { ... }
fn max_texture2_d_mipmap(&self) -> Result<Vec2i> { ... }
fn max_texture2_d_linear(&self) -> Result<Vec3i> { ... }
fn max_texture2_d_gather(&self) -> Result<Vec2i> { ... }
fn max_texture_3d(&self) -> Result<Vec3i> { ... }
fn max_texture_cubemap(&self) -> Result<i32> { ... }
fn max_texture1_d_layered(&self) -> Result<Vec2i> { ... }
fn max_texture2_d_layered(&self) -> Result<Vec3i> { ... }
fn max_texture_cubemap_layered(&self) -> Result<Vec2i> { ... }
fn max_surface1_d(&self) -> Result<i32> { ... }
fn max_surface_2d(&self) -> Result<Vec2i> { ... }
fn max_surface_3d(&self) -> Result<Vec3i> { ... }
fn max_surface1_d_layered(&self) -> Result<Vec2i> { ... }
fn max_surface2_d_layered(&self) -> Result<Vec3i> { ... }
fn max_surface_cubemap(&self) -> Result<i32> { ... }
fn max_surface_cubemap_layered(&self) -> Result<Vec2i> { ... }
fn surface_alignment(&self) -> Result<size_t> { ... }
fn concurrent_kernels(&self) -> Result<bool> { ... }
fn ecc_enabled(&self) -> Result<bool> { ... }
fn pci_bus_id(&self) -> Result<i32> { ... }
fn pci_device_id(&self) -> Result<i32> { ... }
fn pci_domain_id(&self) -> Result<i32> { ... }
fn tcc_driver(&self) -> Result<bool> { ... }
fn async_engine_count(&self) -> Result<i32> { ... }
fn unified_addressing(&self) -> Result<bool> { ... }
fn memory_clock_rate(&self) -> Result<i32> { ... }
fn memory_bus_width(&self) -> Result<i32> { ... }
fn l2_cache_size(&self) -> Result<i32> { ... }
fn max_threads_per_multi_processor(&self) -> Result<i32> { ... }
fn query_memory(
        &self,
        total_memory: &mut size_t,
        free_memory: &mut size_t
    ) -> Result<()> { ... }
fn free_memory(&self) -> Result<size_t> { ... }
fn total_memory(&self) -> Result<size_t> { ... }
fn supports(&self, feature_set: FeatureSet) -> Result<bool> { ... }
fn is_compatible(&self) -> Result<bool> { ... } }

Class providing functionality for querying the specified GPU properties.

Required methods

Loading content...

Provided methods

fn device_id(&self) -> Result<i32>

Returns system index of the CUDA device starting with 0.

fn name(&self) -> Result<String>

ASCII string identifying device

fn total_global_mem(&self) -> Result<size_t>

global memory available on device in bytes

fn shared_mem_per_block(&self) -> Result<size_t>

shared memory available per block in bytes

fn regs_per_block(&self) -> Result<i32>

32-bit registers available per block

fn warp_size(&self) -> Result<i32>

warp size in threads

fn mem_pitch(&self) -> Result<size_t>

maximum pitch in bytes allowed by memory copies

fn max_threads_per_block(&self) -> Result<i32>

maximum number of threads per block

fn max_threads_dim(&self) -> Result<Vec3i>

maximum size of each dimension of a block

fn max_grid_size(&self) -> Result<Vec3i>

maximum size of each dimension of a grid

fn clock_rate(&self) -> Result<i32>

clock frequency in kilohertz

fn total_const_mem(&self) -> Result<size_t>

constant memory available on device in bytes

fn major_version(&self) -> Result<i32>

major compute capability

fn minor_version(&self) -> Result<i32>

minor compute capability

fn texture_alignment(&self) -> Result<size_t>

alignment requirement for textures

fn texture_pitch_alignment(&self) -> Result<size_t>

pitch alignment requirement for texture references bound to pitched memory

fn multi_processor_count(&self) -> Result<i32>

number of multiprocessors on device

fn kernel_exec_timeout_enabled(&self) -> Result<bool>

specified whether there is a run time limit on kernels

fn integrated(&self) -> Result<bool>

device is integrated as opposed to discrete

fn can_map_host_memory(&self) -> Result<bool>

device can map host memory with cudaHostAlloc/cudaHostGetDevicePointer

fn compute_mode(&self) -> Result<DeviceInfo_ComputeMode>

compute mode

fn max_texture1_d(&self) -> Result<i32>

maximum 1D texture size

fn max_texture1_d_mipmap(&self) -> Result<i32>

maximum 1D mipmapped texture size

fn max_texture1_d_linear(&self) -> Result<i32>

maximum size for 1D textures bound to linear memory

fn max_texture_2d(&self) -> Result<Vec2i>

maximum 2D texture dimensions

fn max_texture2_d_mipmap(&self) -> Result<Vec2i>

maximum 2D mipmapped texture dimensions

fn max_texture2_d_linear(&self) -> Result<Vec3i>

maximum dimensions (width, height, pitch) for 2D textures bound to pitched memory

fn max_texture2_d_gather(&self) -> Result<Vec2i>

maximum 2D texture dimensions if texture gather operations have to be performed

fn max_texture_3d(&self) -> Result<Vec3i>

maximum 3D texture dimensions

fn max_texture_cubemap(&self) -> Result<i32>

maximum Cubemap texture dimensions

fn max_texture1_d_layered(&self) -> Result<Vec2i>

maximum 1D layered texture dimensions

fn max_texture2_d_layered(&self) -> Result<Vec3i>

maximum 2D layered texture dimensions

fn max_texture_cubemap_layered(&self) -> Result<Vec2i>

maximum Cubemap layered texture dimensions

fn max_surface1_d(&self) -> Result<i32>

maximum 1D surface size

fn max_surface_2d(&self) -> Result<Vec2i>

maximum 2D surface dimensions

fn max_surface_3d(&self) -> Result<Vec3i>

maximum 3D surface dimensions

fn max_surface1_d_layered(&self) -> Result<Vec2i>

maximum 1D layered surface dimensions

fn max_surface2_d_layered(&self) -> Result<Vec3i>

maximum 2D layered surface dimensions

fn max_surface_cubemap(&self) -> Result<i32>

maximum Cubemap surface dimensions

fn max_surface_cubemap_layered(&self) -> Result<Vec2i>

maximum Cubemap layered surface dimensions

fn surface_alignment(&self) -> Result<size_t>

alignment requirements for surfaces

fn concurrent_kernels(&self) -> Result<bool>

device can possibly execute multiple kernels concurrently

fn ecc_enabled(&self) -> Result<bool>

device has ECC support enabled

fn pci_bus_id(&self) -> Result<i32>

PCI bus ID of the device

fn pci_device_id(&self) -> Result<i32>

PCI device ID of the device

fn pci_domain_id(&self) -> Result<i32>

PCI domain ID of the device

fn tcc_driver(&self) -> Result<bool>

true if device is a Tesla device using TCC driver, false otherwise

fn async_engine_count(&self) -> Result<i32>

number of asynchronous engines

fn unified_addressing(&self) -> Result<bool>

device shares a unified address space with the host

fn memory_clock_rate(&self) -> Result<i32>

peak memory clock frequency in kilohertz

fn memory_bus_width(&self) -> Result<i32>

global memory bus width in bits

fn l2_cache_size(&self) -> Result<i32>

size of L2 cache in bytes

fn max_threads_per_multi_processor(&self) -> Result<i32>

maximum resident threads per multiprocessor

fn query_memory(
    &self,
    total_memory: &mut size_t,
    free_memory: &mut size_t
) -> Result<()>

gets free and total device memory

fn free_memory(&self) -> Result<size_t>

fn total_memory(&self) -> Result<size_t>

fn supports(&self, feature_set: FeatureSet) -> Result<bool>

Provides information on CUDA feature support.

Parameters

  • feature_set: Features to be checked. See cuda::FeatureSet.

This function returns true if the device has the specified CUDA feature. Otherwise, it returns false

fn is_compatible(&self) -> Result<bool>

Checks the CUDA module and device compatibility.

This function returns true if the CUDA module can be run on the specified device. Otherwise, it returns false .

Loading content...

Implementors

Loading content...