Struct sloth256_189::opencl::OpenClEncoder
source · [−]pub struct OpenClEncoder { /* private fields */ }
Expand description
OpenCL codec
Implementations
sourceimpl OpenClEncoder
impl OpenClEncoder
sourcepub fn new(batch: Option<OpenClBatch>) -> Result<Self, OpenCLEncodeError>
pub fn new(batch: Option<OpenClBatch>) -> Result<Self, OpenCLEncodeError>
Create new OpenCL codec instance for batch encoding on GPU.
Batch information can be provided upfront to determine load distribution and do necessary memory allocation.
sourcepub fn encode(
&mut self,
pieces: &mut [u8],
ivs: &[u8],
layers: usize
) -> Result<(), OpenCLEncodeError>
pub fn encode(
&mut self,
pieces: &mut [u8],
ivs: &[u8],
layers: usize
) -> Result<(), OpenCLEncodeError>
Sequentially encodes a batch of pieces using OpenCL.
NOTE: This encode function works on batches of pieces and IVs.
For smaller batches or encoding of individual pieces use CPU implementation.
sourcepub fn destroy(self) -> Result<(), OpenCLEncodeError>
pub fn destroy(self) -> Result<(), OpenCLEncodeError>
Cleans up the resources allocated in the initialization of the encode kernel.
Prefer this over drop()
because drop()
will panic in case of error.
NOTE: In case error is returned, memory used for kernel initialization might be leaked.
Trait Implementations
sourceimpl Debug for OpenClEncoder
impl Debug for OpenClEncoder
sourceimpl Drop for OpenClEncoder
impl Drop for OpenClEncoder
impl Send for OpenClEncoder
Auto Trait Implementations
impl RefUnwindSafe for OpenClEncoder
impl !Sync for OpenClEncoder
impl Unpin for OpenClEncoder
impl UnwindSafe for OpenClEncoder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more