Struct fil_ocl_core::types::abs::Kernel [−][src]
cl_kernel
Thread Safety
Currently not thread safe: does not implement Send
or Sync
. It’s
probably possible to implement one or both with some work but it’s
potentially problematic on certain (all?) platforms due to issues while
setting arguments. If you need to transfer a kernel you’re better off
creating another one in the other thread or using some other mechanism
such as channels to manipulate kernels in other threads. This issue will
be revisited in the future (please provide input by filing an issue if you
have any thoughts on the matter).
[UPDATE]: Enabling Send
for a while to test.
Implementations
impl Kernel
[src]
pub unsafe fn from_raw_create_ptr(ptr: cl_kernel) -> Kernel
[src]
Only call this when passing the original newly created pointer
directly from clCreate...
. Do not use this to clone or copy.
pub unsafe fn from_raw_copied_ptr(ptr: cl_kernel) -> Kernel
[src]
Only call this when passing a copied pointer such as from an
clGet*****Info
function.
pub fn as_ptr(&self) -> cl_kernel
[src]
Returns a pointer, do not store it.
pub fn program(&self) -> OclCoreResult<Program>
[src]
Returns the program associated with this kernel.
pub fn devices(&self) -> OclCoreResult<Vec<DeviceId>>
[src]
Trait Implementations
impl ClVersions for Kernel
[src]
fn device_versions(&self) -> OclCoreResult<Vec<OpenclVersion>>
[src]
fn platform_version(&self) -> OclCoreResult<OpenclVersion>
[src]
fn verify_device_versions(
&self,
required_version: [u16; 2]
) -> OclCoreResult<()>
[src]
&self,
required_version: [u16; 2]
) -> OclCoreResult<()>
fn verify_platform_version(
&self,
required_version: [u16; 2]
) -> OclCoreResult<()>
[src]
&self,
required_version: [u16; 2]
) -> OclCoreResult<()>
impl Clone for Kernel
[src]
impl Debug for Kernel
[src]
impl Drop for Kernel
[src]
impl Send for Kernel
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,