Trait opencv::core::prelude::KernelTrait
source · pub trait KernelTrait: KernelTraitConst {
fn as_raw_mut_Kernel(&mut self) -> *mut c_void;
fn create(&mut self, kname: &str, prog: &Program) -> Result<bool> { ... }
fn create_ext(
&mut self,
kname: &str,
prog: &ProgramSource,
buildopts: &str,
errmsg: &mut String
) -> Result<bool> { ... }
unsafe fn set(
&mut self,
i: i32,
value: *const c_void,
sz: size_t
) -> Result<i32> { ... }
fn set_1(&mut self, i: i32, image_2d: &Image2D) -> Result<i32> { ... }
fn set_umat(&mut self, i: i32, m: &UMat) -> Result<i32> { ... }
fn set_kernel_arg(&mut self, i: i32, arg: &KernelArg) -> Result<i32> { ... }
fn run(
&mut self,
dims: i32,
globalsize: &mut [size_t],
localsize: &mut [size_t],
sync: bool,
q: &Queue
) -> Result<bool> { ... }
fn run_(
&mut self,
dims: i32,
globalsize: &mut [size_t],
localsize: &mut [size_t],
sync: bool,
q: &Queue
) -> Result<bool> { ... }
fn run_task(&mut self, sync: bool, q: &Queue) -> Result<bool> { ... }
fn run_profiling(
&mut self,
dims: i32,
globalsize: &mut [size_t],
localsize: &mut [size_t],
q: &Queue
) -> Result<i64> { ... }
}
Required Methods
fn as_raw_mut_Kernel(&mut self) -> *mut c_void
Provided Methods
fn create(&mut self, kname: &str, prog: &Program) -> Result<bool>
sourcefn create_ext(
&mut self,
kname: &str,
prog: &ProgramSource,
buildopts: &str,
errmsg: &mut String
) -> Result<bool>
fn create_ext(
&mut self,
kname: &str,
prog: &ProgramSource,
buildopts: &str,
errmsg: &mut String
) -> Result<bool>
C++ default parameters
- errmsg: 0
unsafe fn set(&mut self, i: i32, value: *const c_void, sz: size_t) -> Result<i32>
fn set_1(&mut self, i: i32, image_2d: &Image2D) -> Result<i32>
fn set_umat(&mut self, i: i32, m: &UMat) -> Result<i32>
fn set_kernel_arg(&mut self, i: i32, arg: &KernelArg) -> Result<i32>
sourcefn run(
&mut self,
dims: i32,
globalsize: &mut [size_t],
localsize: &mut [size_t],
sync: bool,
q: &Queue
) -> Result<bool>
fn run(
&mut self,
dims: i32,
globalsize: &mut [size_t],
localsize: &mut [size_t],
sync: bool,
q: &Queue
) -> Result<bool>
Run the OpenCL kernel (globalsize value may be adjusted)
Parameters
- dims: the work problem dimensions. It is the length of globalsize and localsize. It can be either 1, 2 or 3.
- globalsize: work items for each dimension. It is not the final globalsize passed to OpenCL. Each dimension will be adjusted to the nearest integer divisible by the corresponding value in localsize. If localsize is NULL, it will still be adjusted depending on dims. The adjusted values are greater than or equal to the original values.
- localsize: work-group size for each dimension.
- sync: specify whether to wait for OpenCL computation to finish before return.
- q: command queue
Note: Use run_() if your kernel code doesn’t support adjusted globalsize.
C++ default parameters
- q: Queue()
sourcefn run_(
&mut self,
dims: i32,
globalsize: &mut [size_t],
localsize: &mut [size_t],
sync: bool,
q: &Queue
) -> Result<bool>
fn run_(
&mut self,
dims: i32,
globalsize: &mut [size_t],
localsize: &mut [size_t],
sync: bool,
q: &Queue
) -> Result<bool>
Run the OpenCL kernel
Parameters
- dims: the work problem dimensions. It is the length of globalsize and localsize. It can be either 1, 2 or 3.
- globalsize: work items for each dimension. This value is passed to OpenCL without changes.
- localsize: work-group size for each dimension.
- sync: specify whether to wait for OpenCL computation to finish before return.
- q: command queue
C++ default parameters
- q: Queue()
sourcefn run_task(&mut self, sync: bool, q: &Queue) -> Result<bool>
fn run_task(&mut self, sync: bool, q: &Queue) -> Result<bool>
C++ default parameters
- q: Queue()
sourcefn run_profiling(
&mut self,
dims: i32,
globalsize: &mut [size_t],
localsize: &mut [size_t],
q: &Queue
) -> Result<i64>
fn run_profiling(
&mut self,
dims: i32,
globalsize: &mut [size_t],
localsize: &mut [size_t],
q: &Queue
) -> Result<i64>
Similar to synchronized run_() call with returning of kernel execution time
Separate OpenCL command queue may be used (with CL_QUEUE_PROFILING_ENABLE)
Returns
Execution time in nanoseconds or negative number on error
C++ default parameters
- q: Queue()