#[repr(C)]pub struct starpu_worker_collection {Show 19 fields
pub workerids: *mut c_int,
pub collection_private: *mut c_void,
pub nworkers: c_uint,
pub unblocked_workers: *mut c_void,
pub nunblocked_workers: c_uint,
pub masters: *mut c_void,
pub nmasters: c_uint,
pub present: [c_char; 48],
pub is_unblocked: [c_char; 48],
pub is_master: [c_char; 48],
pub type_: starpu_worker_collection_type,
pub has_next: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection, it: *mut starpu_sched_ctx_iterator) -> c_uint>,
pub get_next: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection, it: *mut starpu_sched_ctx_iterator) -> c_int>,
pub add: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection, worker: c_int) -> c_int>,
pub remove: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection, worker: c_int) -> c_int>,
pub init: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection)>,
pub deinit: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection)>,
pub init_iterator: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection, it: *mut starpu_sched_ctx_iterator)>,
pub init_iterator_for_parallel_tasks: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection, it: *mut starpu_sched_ctx_iterator, task: *mut starpu_task)>,
}Expand description
A scheduling context manages a collection of workers that can be memorized using different data structures. Thus, a generic structure is available in order to simplify the choice of its type. Only the list data structure is available but further data structures(like tree) implementations are foreseen.
Fields§
§workerids: *mut c_intThe workerids managed by the collection
collection_private: *mut c_void§nworkers: c_uintThe number of workers in the collection
unblocked_workers: *mut c_void§nunblocked_workers: c_uint§masters: *mut c_void§nmasters: c_uint§present: [c_char; 48]§is_unblocked: [c_char; 48]§is_master: [c_char; 48]§type_: starpu_worker_collection_typeThe type of structure
has_next: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection, it: *mut starpu_sched_ctx_iterator) -> c_uint>Check if there is another element in collection
get_next: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection, it: *mut starpu_sched_ctx_iterator) -> c_int>Return the next element in the collection
add: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection, worker: c_int) -> c_int>Add a new element in the collection
remove: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection, worker: c_int) -> c_int>Remove an element from the collection
init: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection)>Initialize the collection
deinit: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection)>Deinitialize the collection
init_iterator: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection, it: *mut starpu_sched_ctx_iterator)>Initialize the cursor if there is one
init_iterator_for_parallel_tasks: Option<unsafe extern "C" fn(workers: *mut starpu_worker_collection, it: *mut starpu_sched_ctx_iterator, task: *mut starpu_task)>Trait Implementations§
Source§impl Clone for starpu_worker_collection
impl Clone for starpu_worker_collection
Source§fn clone(&self) -> starpu_worker_collection
fn clone(&self) -> starpu_worker_collection
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for starpu_worker_collection
impl Debug for starpu_worker_collection
Source§impl Default for starpu_worker_collection
impl Default for starpu_worker_collection
impl Copy for starpu_worker_collection
Auto Trait Implementations§
impl Freeze for starpu_worker_collection
impl RefUnwindSafe for starpu_worker_collection
impl !Send for starpu_worker_collection
impl !Sync for starpu_worker_collection
impl Unpin for starpu_worker_collection
impl UnwindSafe for starpu_worker_collection
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more