pub struct MulticastObject { /* private fields */ }Expand description
A multicast object. Drop releases it via cudaMemRelease.
Implementations§
Source§impl MulticastObject
impl MulticastObject
Sourcepub fn new(prop: &MulticastProp) -> Result<Self>
pub fn new(prop: &MulticastProp) -> Result<Self>
Create a multicast object with the given props.
pub fn as_raw(&self) -> cudaMemGenericAllocationHandle_t
Sourcepub fn add_device(&self, device: &Device) -> Result<()>
pub fn add_device(&self, device: &Device) -> Result<()>
Add a participating device to this object.
Sourcepub unsafe fn bind_mem(
&self,
mc_offset: usize,
mem_handle: cudaMemGenericAllocationHandle_t,
mem_offset: usize,
size: usize,
flags: u64,
) -> Result<()>
pub unsafe fn bind_mem( &self, mc_offset: usize, mem_handle: cudaMemGenericAllocationHandle_t, mem_offset: usize, size: usize, flags: u64, ) -> Result<()>
Bind a physical-memory handle (from crate::vmm::MemHandle) at
mc_offset within this object, size bytes.
§Safety
mem_handle must be a live VMM allocation on a device that was
already added via Self::add_device.
Trait Implementations§
Source§impl Debug for MulticastObject
impl Debug for MulticastObject
Auto Trait Implementations§
impl Freeze for MulticastObject
impl RefUnwindSafe for MulticastObject
impl Send for MulticastObject
impl Sync for MulticastObject
impl Unpin for MulticastObject
impl UnsafeUnpin for MulticastObject
impl UnwindSafe for MulticastObject
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