pub struct SyncManager { /* private fields */ }Expand description
Multi-GPU synchronization manager
Implementations§
Source§impl SyncManager
impl SyncManager
Sourcepub fn new(devices: Vec<Arc<Device>>, queues: Vec<Arc<Queue>>) -> Result<Self>
pub fn new(devices: Vec<Arc<Device>>, queues: Vec<Arc<Queue>>) -> Result<Self>
Create a new synchronization manager
Sourcepub fn create_barrier(
&self,
name: &str,
gpu_count: usize,
) -> Result<Arc<Barrier>>
pub fn create_barrier( &self, name: &str, gpu_count: usize, ) -> Result<Arc<Barrier>>
Create a barrier for N GPUs
Sourcepub fn create_event(&self, name: &str) -> Arc<Event>
pub fn create_event(&self, name: &str) -> Arc<Event>
Create an event for GPU-to-GPU synchronization
Sourcepub async fn transfer_between_gpus(
&self,
src_gpu_idx: usize,
dst_gpu_idx: usize,
src_buffer: &Buffer,
dst_buffer: &Buffer,
size: u64,
) -> Result<Duration>
pub async fn transfer_between_gpus( &self, src_gpu_idx: usize, dst_gpu_idx: usize, src_buffer: &Buffer, dst_buffer: &Buffer, size: u64, ) -> Result<Duration>
Transfer data between GPUs
Sourcepub fn acquire_fence(&self) -> Fence
pub fn acquire_fence(&self) -> Fence
Acquire a fence from the pool
Sourcepub fn release_fence(&self, fence: Fence)
pub fn release_fence(&self, fence: Fence)
Release a fence back to the pool
Trait Implementations§
Source§impl Clone for SyncManager
impl Clone for SyncManager
Source§fn clone(&self) -> SyncManager
fn clone(&self) -> SyncManager
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 moreAuto Trait Implementations§
impl Freeze for SyncManager
impl !RefUnwindSafe for SyncManager
impl Send for SyncManager
impl Sync for SyncManager
impl Unpin for SyncManager
impl UnsafeUnpin for SyncManager
impl !UnwindSafe for SyncManager
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