Skip to main content

OpenedIpcMemory

Struct OpenedIpcMemory 

Source
pub struct OpenedIpcMemory<T> { /* private fields */ }

Implementations§

Source§

impl<T> OpenedIpcMemory<T>

Source

pub const fn as_ptr(&self) -> *mut T

Source

pub fn close(self) -> Result<()>

Decrements the reference count of the memory returned by IpcMemoryHandle::create_mapping by 1. When the reference count reaches 0, this unmaps the memory. The original allocation in the exporting process and imported mappings in other processes are unaffected.

Resources used to enable peer access are freed if this is the last mapping using them.

IPC is restricted to devices with support for unified addressing on Linux and Windows operating systems. IPC on Windows is supported for compatibility, but is not recommended because it has a performance cost. Check device IPC support through the device properties exposed by this crate, for example DeviceProperties::ipc_event_supported.

Additional CUDA diagnostics:

§Errors

Returns an error if CUDA Runtime cannot close the imported mapping.

Trait Implementations§

Source§

impl<T: Debug> Debug for OpenedIpcMemory<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T> Drop for OpenedIpcMemory<T>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

§

impl<T> !Send for OpenedIpcMemory<T>

§

impl<T> !Sync for OpenedIpcMemory<T>

§

impl<T> Freeze for OpenedIpcMemory<T>

§

impl<T> RefUnwindSafe for OpenedIpcMemory<T>
where T: RefUnwindSafe,

§

impl<T> Unpin for OpenedIpcMemory<T>

§

impl<T> UnsafeUnpin for OpenedIpcMemory<T>

§

impl<T> UnwindSafe for OpenedIpcMemory<T>
where T: RefUnwindSafe,

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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.