pub struct ExternalMemory { /* private fields */ }Implementations§
Source§impl ExternalMemory
impl ExternalMemory
Sourcepub unsafe fn import_opaque_file_descriptor(
fd: RawFd,
size: usize,
flags: ExternalMemoryFlags,
) -> Result<Self>
pub unsafe fn import_opaque_file_descriptor( fd: RawFd, size: usize, flags: ExternalMemoryFlags, ) -> Result<Self>
Imports an opaque file descriptor as CUDA external memory.
§Safety
fd must reference a valid external memory object of size bytes.
CUDA takes ownership of the descriptor on a successful import.
Sourcepub unsafe fn import_opaque_win32_handle(
handle: *mut c_void,
size: usize,
flags: ExternalMemoryFlags,
) -> Result<Self>
pub unsafe fn import_opaque_win32_handle( handle: *mut c_void, size: usize, flags: ExternalMemoryFlags, ) -> Result<Self>
Imports an opaque Win32 shared handle as CUDA external memory.
§Safety
handle must be a valid shared handle for a memory object of size
bytes and must remain valid according to CUDA’s external-memory import
rules.
Sourcepub unsafe fn import_opaque_win32_name(
name: *const c_void,
size: usize,
flags: ExternalMemoryFlags,
) -> Result<Self>
pub unsafe fn import_opaque_win32_name( name: *const c_void, size: usize, flags: ExternalMemoryFlags, ) -> Result<Self>
Imports an opaque named Win32 shared object as CUDA external memory.
§Safety
name must point to a valid null-terminated Win32 object name for a
memory object of size bytes and remain valid for the import call.
pub fn map_buffer<T: DeviceRepr>( &self, offset_bytes: usize, length: usize, ) -> Result<MappedBuffer<'_, T>>
pub const fn byte_len(&self) -> usize
pub const fn as_raw(&self) -> CUexternalMemory
Sourcepub unsafe fn from_raw(handle: CUexternalMemory, size: usize) -> Result<Self>
pub unsafe fn from_raw(handle: CUexternalMemory, size: usize) -> Result<Self>
Takes ownership of a raw CUDA external-memory handle.
§Safety
handle must be a valid CUexternalMemory that is not owned by any
other wrapper, and size must match the imported memory object’s byte
size so mapped ranges can be bounds-checked correctly.
Sourcepub fn into_raw(self) -> CUexternalMemory
pub fn into_raw(self) -> CUexternalMemory
Transfers ownership of the raw CUDA external-memory handle to the caller without destroying it.
The caller becomes responsible for eventually destroying the returned
handle with cuDestroyExternalMemory.