Skip to main content

rknn

Struct rknn 

Source
pub struct rknn {
Show 35 fields pub rknn_init: Result<unsafe extern "C" fn(context: *mut rknn_context, model: *mut c_void, size: u32, flag: u32, extend: *mut rknn_init_extend) -> c_int, Error>, pub rknn_dup_context: Result<unsafe extern "C" fn(context_in: *mut rknn_context, context_out: *mut rknn_context) -> c_int, Error>, pub rknn_destroy: Result<unsafe extern "C" fn(context: rknn_context) -> c_int, Error>, pub rknn_query: Result<unsafe extern "C" fn(context: rknn_context, cmd: rknn_query_cmd, info: *mut c_void, size: u32) -> c_int, Error>, pub rknn_inputs_set: Result<unsafe extern "C" fn(context: rknn_context, n_inputs: u32, inputs: *mut rknn_input) -> c_int, Error>, pub rknn_set_batch_core_num: Result<unsafe extern "C" fn(context: rknn_context, core_num: c_int) -> c_int, Error>, pub rknn_set_core_mask: Result<unsafe extern "C" fn(context: rknn_context, core_mask: rknn_core_mask) -> c_int, Error>, pub rknn_run: Result<unsafe extern "C" fn(context: rknn_context, extend: *mut rknn_run_extend) -> c_int, Error>, pub rknn_wait: Result<unsafe extern "C" fn(context: rknn_context, extend: *mut rknn_run_extend) -> c_int, Error>, pub rknn_outputs_get: Result<unsafe extern "C" fn(context: rknn_context, n_outputs: u32, outputs: *mut rknn_output, extend: *mut rknn_output_extend) -> c_int, Error>, pub rknn_outputs_release: Result<unsafe extern "C" fn(context: rknn_context, n_ouputs: u32, outputs: *mut rknn_output) -> c_int, Error>, pub rknn_create_mem_from_phys: Result<unsafe extern "C" fn(ctx: rknn_context, phys_addr: u64, virt_addr: *mut c_void, size: u32) -> *mut rknn_tensor_mem, Error>, pub rknn_create_mem_from_fd: Result<unsafe extern "C" fn(ctx: rknn_context, fd: i32, virt_addr: *mut c_void, size: u32, offset: i32) -> *mut rknn_tensor_mem, Error>, pub rknn_create_mem_from_mb_blk: Result<unsafe extern "C" fn(ctx: rknn_context, mb_blk: *mut c_void, offset: i32) -> *mut rknn_tensor_mem, Error>, pub rknn_create_mem: Result<unsafe extern "C" fn(ctx: rknn_context, size: u32) -> *mut rknn_tensor_mem, Error>, pub rknn_create_mem2: Result<unsafe extern "C" fn(ctx: rknn_context, size: u64, alloc_flags: u64) -> *mut rknn_tensor_mem, Error>, pub rknn_destroy_mem: Result<unsafe extern "C" fn(ctx: rknn_context, mem: *mut rknn_tensor_mem) -> c_int, Error>, pub rknn_set_weight_mem: Result<unsafe extern "C" fn(ctx: rknn_context, mem: *mut rknn_tensor_mem) -> c_int, Error>, pub rknn_set_internal_mem: Result<unsafe extern "C" fn(ctx: rknn_context, mem: *mut rknn_tensor_mem) -> c_int, Error>, pub rknn_set_io_mem: Result<unsafe extern "C" fn(ctx: rknn_context, mem: *mut rknn_tensor_mem, attr: *mut rknn_tensor_attr) -> c_int, Error>, pub rknn_set_input_shape: Result<unsafe extern "C" fn(ctx: rknn_context, attr: *mut rknn_tensor_attr) -> c_int, Error>, pub rknn_set_input_shapes: Result<unsafe extern "C" fn(ctx: rknn_context, n_inputs: u32, attr: *mut rknn_tensor_attr) -> c_int, Error>, pub rknn_mem_sync: Result<unsafe extern "C" fn(context: rknn_context, mem: *mut rknn_tensor_mem, mode: rknn_mem_sync_mode) -> c_int, Error>, pub rknn_matmul_create: Result<unsafe extern "C" fn(ctx: *mut rknn_matmul_ctx, info: *mut rknn_matmul_info, io_attr: *mut rknn_matmul_io_attr) -> c_int, Error>, pub rknn_matmul_create_dynamic_shape: Result<unsafe extern "C" fn(ctx: *mut rknn_matmul_ctx, info: *mut rknn_matmul_info, shape_num: c_int, dynamic_shapes: *mut rknn_matmul_shape, io_attrs: *mut rknn_matmul_io_attr) -> c_int, Error>, pub rknn_matmul_set_io_mem: Result<unsafe extern "C" fn(ctx: rknn_matmul_ctx, mem: *mut rknn_tensor_mem, attr: *mut rknn_matmul_tensor_attr) -> c_int, Error>, pub rknn_matmul_set_core_mask: Result<unsafe extern "C" fn(context: rknn_matmul_ctx, core_mask: rknn_core_mask) -> c_int, Error>, pub rknn_matmul_set_quant_params: Result<unsafe extern "C" fn(context: rknn_matmul_ctx, params: *mut rknn_quant_params) -> c_int, Error>, pub rknn_matmul_get_quant_params: Result<unsafe extern "C" fn(ctx: rknn_matmul_ctx, params: *mut rknn_quant_params, scale: *mut f32) -> c_int, Error>, pub rknn_matmul_set_dynamic_shape: Result<unsafe extern "C" fn(ctx: rknn_matmul_ctx, shape: *mut rknn_matmul_shape) -> c_int, Error>, pub rknn_matmul_run: Result<unsafe extern "C" fn(ctx: rknn_matmul_ctx) -> c_int, Error>, pub rknn_matmul_destroy: Result<unsafe extern "C" fn(ctx: rknn_matmul_ctx) -> c_int, Error>, pub rknn_B_normal_layout_to_native_layout: Result<unsafe extern "C" fn(B_input: *mut c_void, B_output: *mut c_void, K: c_int, N: c_int, info: *mut rknn_matmul_info) -> c_int, Error>, pub rknn_register_custom_ops: Result<unsafe extern "C" fn(ctx: rknn_context, op: *mut rknn_custom_op, custom_op_num: u32) -> c_int, Error>, pub rknn_custom_op_get_op_attr: Result<unsafe extern "C" fn(op_ctx: *mut rknn_custom_op_context, attr_name: *const c_char, op_attr: *mut rknn_custom_op_attr), Error>, /* private fields */
}
Available on crate feature libloading only.

Fields§

§rknn_init: Result<unsafe extern "C" fn(context: *mut rknn_context, model: *mut c_void, size: u32, flag: u32, extend: *mut rknn_init_extend) -> c_int, Error>§rknn_dup_context: Result<unsafe extern "C" fn(context_in: *mut rknn_context, context_out: *mut rknn_context) -> c_int, Error>§rknn_destroy: Result<unsafe extern "C" fn(context: rknn_context) -> c_int, Error>§rknn_query: Result<unsafe extern "C" fn(context: rknn_context, cmd: rknn_query_cmd, info: *mut c_void, size: u32) -> c_int, Error>§rknn_inputs_set: Result<unsafe extern "C" fn(context: rknn_context, n_inputs: u32, inputs: *mut rknn_input) -> c_int, Error>§rknn_set_batch_core_num: Result<unsafe extern "C" fn(context: rknn_context, core_num: c_int) -> c_int, Error>§rknn_set_core_mask: Result<unsafe extern "C" fn(context: rknn_context, core_mask: rknn_core_mask) -> c_int, Error>§rknn_run: Result<unsafe extern "C" fn(context: rknn_context, extend: *mut rknn_run_extend) -> c_int, Error>§rknn_wait: Result<unsafe extern "C" fn(context: rknn_context, extend: *mut rknn_run_extend) -> c_int, Error>§rknn_outputs_get: Result<unsafe extern "C" fn(context: rknn_context, n_outputs: u32, outputs: *mut rknn_output, extend: *mut rknn_output_extend) -> c_int, Error>§rknn_outputs_release: Result<unsafe extern "C" fn(context: rknn_context, n_ouputs: u32, outputs: *mut rknn_output) -> c_int, Error>§rknn_create_mem_from_phys: Result<unsafe extern "C" fn(ctx: rknn_context, phys_addr: u64, virt_addr: *mut c_void, size: u32) -> *mut rknn_tensor_mem, Error>§rknn_create_mem_from_fd: Result<unsafe extern "C" fn(ctx: rknn_context, fd: i32, virt_addr: *mut c_void, size: u32, offset: i32) -> *mut rknn_tensor_mem, Error>§rknn_create_mem_from_mb_blk: Result<unsafe extern "C" fn(ctx: rknn_context, mb_blk: *mut c_void, offset: i32) -> *mut rknn_tensor_mem, Error>§rknn_create_mem: Result<unsafe extern "C" fn(ctx: rknn_context, size: u32) -> *mut rknn_tensor_mem, Error>§rknn_create_mem2: Result<unsafe extern "C" fn(ctx: rknn_context, size: u64, alloc_flags: u64) -> *mut rknn_tensor_mem, Error>§rknn_destroy_mem: Result<unsafe extern "C" fn(ctx: rknn_context, mem: *mut rknn_tensor_mem) -> c_int, Error>§rknn_set_weight_mem: Result<unsafe extern "C" fn(ctx: rknn_context, mem: *mut rknn_tensor_mem) -> c_int, Error>§rknn_set_internal_mem: Result<unsafe extern "C" fn(ctx: rknn_context, mem: *mut rknn_tensor_mem) -> c_int, Error>§rknn_set_io_mem: Result<unsafe extern "C" fn(ctx: rknn_context, mem: *mut rknn_tensor_mem, attr: *mut rknn_tensor_attr) -> c_int, Error>§rknn_set_input_shape: Result<unsafe extern "C" fn(ctx: rknn_context, attr: *mut rknn_tensor_attr) -> c_int, Error>§rknn_set_input_shapes: Result<unsafe extern "C" fn(ctx: rknn_context, n_inputs: u32, attr: *mut rknn_tensor_attr) -> c_int, Error>§rknn_mem_sync: Result<unsafe extern "C" fn(context: rknn_context, mem: *mut rknn_tensor_mem, mode: rknn_mem_sync_mode) -> c_int, Error>§rknn_matmul_create: Result<unsafe extern "C" fn(ctx: *mut rknn_matmul_ctx, info: *mut rknn_matmul_info, io_attr: *mut rknn_matmul_io_attr) -> c_int, Error>§rknn_matmul_create_dynamic_shape: Result<unsafe extern "C" fn(ctx: *mut rknn_matmul_ctx, info: *mut rknn_matmul_info, shape_num: c_int, dynamic_shapes: *mut rknn_matmul_shape, io_attrs: *mut rknn_matmul_io_attr) -> c_int, Error>§rknn_matmul_set_io_mem: Result<unsafe extern "C" fn(ctx: rknn_matmul_ctx, mem: *mut rknn_tensor_mem, attr: *mut rknn_matmul_tensor_attr) -> c_int, Error>§rknn_matmul_set_core_mask: Result<unsafe extern "C" fn(context: rknn_matmul_ctx, core_mask: rknn_core_mask) -> c_int, Error>§rknn_matmul_set_quant_params: Result<unsafe extern "C" fn(context: rknn_matmul_ctx, params: *mut rknn_quant_params) -> c_int, Error>§rknn_matmul_get_quant_params: Result<unsafe extern "C" fn(ctx: rknn_matmul_ctx, params: *mut rknn_quant_params, scale: *mut f32) -> c_int, Error>§rknn_matmul_set_dynamic_shape: Result<unsafe extern "C" fn(ctx: rknn_matmul_ctx, shape: *mut rknn_matmul_shape) -> c_int, Error>§rknn_matmul_run: Result<unsafe extern "C" fn(ctx: rknn_matmul_ctx) -> c_int, Error>§rknn_matmul_destroy: Result<unsafe extern "C" fn(ctx: rknn_matmul_ctx) -> c_int, Error>§rknn_B_normal_layout_to_native_layout: Result<unsafe extern "C" fn(B_input: *mut c_void, B_output: *mut c_void, K: c_int, N: c_int, info: *mut rknn_matmul_info) -> c_int, Error>§rknn_register_custom_ops: Result<unsafe extern "C" fn(ctx: rknn_context, op: *mut rknn_custom_op, custom_op_num: u32) -> c_int, Error>§rknn_custom_op_get_op_attr: Result<unsafe extern "C" fn(op_ctx: *mut rknn_custom_op_context, attr_name: *const c_char, op_attr: *mut rknn_custom_op_attr), Error>

Implementations§

Source§

impl rknn

Source

pub unsafe fn new<P>(path: P) -> Result<Self, Error>
where P: AsRef<OsStr>,

Source

pub unsafe fn from_library<L>(library: L) -> Result<Self, Error>
where L: Into<Library>,

Source

pub unsafe fn rknn_init( &self, context: *mut rknn_context, model: *mut c_void, size: u32, flag: u32, extend: *mut rknn_init_extend, ) -> c_int

Source

pub unsafe fn rknn_dup_context( &self, context_in: *mut rknn_context, context_out: *mut rknn_context, ) -> c_int

Source

pub unsafe fn rknn_destroy(&self, context: rknn_context) -> c_int

Source

pub unsafe fn rknn_query( &self, context: rknn_context, cmd: rknn_query_cmd, info: *mut c_void, size: u32, ) -> c_int

Source

pub unsafe fn rknn_inputs_set( &self, context: rknn_context, n_inputs: u32, inputs: *mut rknn_input, ) -> c_int

Source

pub unsafe fn rknn_set_batch_core_num( &self, context: rknn_context, core_num: c_int, ) -> c_int

Source

pub unsafe fn rknn_set_core_mask( &self, context: rknn_context, core_mask: rknn_core_mask, ) -> c_int

Source

pub unsafe fn rknn_run( &self, context: rknn_context, extend: *mut rknn_run_extend, ) -> c_int

Source

pub unsafe fn rknn_wait( &self, context: rknn_context, extend: *mut rknn_run_extend, ) -> c_int

Source

pub unsafe fn rknn_outputs_get( &self, context: rknn_context, n_outputs: u32, outputs: *mut rknn_output, extend: *mut rknn_output_extend, ) -> c_int

Source

pub unsafe fn rknn_outputs_release( &self, context: rknn_context, n_ouputs: u32, outputs: *mut rknn_output, ) -> c_int

Source

pub unsafe fn rknn_create_mem_from_phys( &self, ctx: rknn_context, phys_addr: u64, virt_addr: *mut c_void, size: u32, ) -> *mut rknn_tensor_mem

Source

pub unsafe fn rknn_create_mem_from_fd( &self, ctx: rknn_context, fd: i32, virt_addr: *mut c_void, size: u32, offset: i32, ) -> *mut rknn_tensor_mem

Source

pub unsafe fn rknn_create_mem_from_mb_blk( &self, ctx: rknn_context, mb_blk: *mut c_void, offset: i32, ) -> *mut rknn_tensor_mem

Source

pub unsafe fn rknn_create_mem( &self, ctx: rknn_context, size: u32, ) -> *mut rknn_tensor_mem

Source

pub unsafe fn rknn_create_mem2( &self, ctx: rknn_context, size: u64, alloc_flags: u64, ) -> *mut rknn_tensor_mem

Source

pub unsafe fn rknn_destroy_mem( &self, ctx: rknn_context, mem: *mut rknn_tensor_mem, ) -> c_int

Source

pub unsafe fn rknn_set_weight_mem( &self, ctx: rknn_context, mem: *mut rknn_tensor_mem, ) -> c_int

Source

pub unsafe fn rknn_set_internal_mem( &self, ctx: rknn_context, mem: *mut rknn_tensor_mem, ) -> c_int

Source

pub unsafe fn rknn_set_io_mem( &self, ctx: rknn_context, mem: *mut rknn_tensor_mem, attr: *mut rknn_tensor_attr, ) -> c_int

Source

pub unsafe fn rknn_set_input_shape( &self, ctx: rknn_context, attr: *mut rknn_tensor_attr, ) -> c_int

Source

pub unsafe fn rknn_set_input_shapes( &self, ctx: rknn_context, n_inputs: u32, attr: *mut rknn_tensor_attr, ) -> c_int

Source

pub unsafe fn rknn_mem_sync( &self, context: rknn_context, mem: *mut rknn_tensor_mem, mode: rknn_mem_sync_mode, ) -> c_int

Source

pub unsafe fn rknn_matmul_create( &self, ctx: *mut rknn_matmul_ctx, info: *mut rknn_matmul_info, io_attr: *mut rknn_matmul_io_attr, ) -> c_int

Source

pub unsafe fn rknn_matmul_create_dynamic_shape( &self, ctx: *mut rknn_matmul_ctx, info: *mut rknn_matmul_info, shape_num: c_int, dynamic_shapes: *mut rknn_matmul_shape, io_attrs: *mut rknn_matmul_io_attr, ) -> c_int

Source

pub unsafe fn rknn_matmul_set_io_mem( &self, ctx: rknn_matmul_ctx, mem: *mut rknn_tensor_mem, attr: *mut rknn_matmul_tensor_attr, ) -> c_int

Source

pub unsafe fn rknn_matmul_set_core_mask( &self, context: rknn_matmul_ctx, core_mask: rknn_core_mask, ) -> c_int

Source

pub unsafe fn rknn_matmul_set_quant_params( &self, context: rknn_matmul_ctx, params: *mut rknn_quant_params, ) -> c_int

Source

pub unsafe fn rknn_matmul_get_quant_params( &self, ctx: rknn_matmul_ctx, params: *mut rknn_quant_params, scale: *mut f32, ) -> c_int

Source

pub unsafe fn rknn_matmul_set_dynamic_shape( &self, ctx: rknn_matmul_ctx, shape: *mut rknn_matmul_shape, ) -> c_int

Source

pub unsafe fn rknn_matmul_run(&self, ctx: rknn_matmul_ctx) -> c_int

Source

pub unsafe fn rknn_matmul_destroy(&self, ctx: rknn_matmul_ctx) -> c_int

Source

pub unsafe fn rknn_B_normal_layout_to_native_layout( &self, B_input: *mut c_void, B_output: *mut c_void, K: c_int, N: c_int, info: *mut rknn_matmul_info, ) -> c_int

Source

pub unsafe fn rknn_register_custom_ops( &self, ctx: rknn_context, op: *mut rknn_custom_op, custom_op_num: u32, ) -> c_int

Source

pub unsafe fn rknn_custom_op_get_op_attr( &self, op_ctx: *mut rknn_custom_op_context, attr_name: *const c_char, op_attr: *mut rknn_custom_op_attr, )

Auto Trait Implementations§

§

impl Freeze for rknn

§

impl !RefUnwindSafe for rknn

§

impl Send for rknn

§

impl Sync for rknn

§

impl Unpin for rknn

§

impl UnsafeUnpin for rknn

§

impl !UnwindSafe for rknn

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.