Skip to main content

GpuMemoryReservation

Struct GpuMemoryReservation 

Source
pub struct GpuMemoryReservation { /* private fields */ }
Expand description

One atomic claim on a GpuMemoryManager budget.

The claim protects a complete multi-allocation request from competing callers. Bytes remain reserved until they are transferred to returned allocation owners or released when this token is dropped.

Implementations§

Source§

impl GpuMemoryReservation

Source

pub fn memory_manager_ptr_value(&self) -> usize

Stable address of the memory manager that admitted this reservation.

Source

pub fn total_bytes(&self) -> u64

Complete byte claim made when this reservation was created.

Source

pub fn remaining_bytes(&self) -> u64

Bytes still available for materialization through this token.

Source

pub fn used_bytes(&self) -> u64

Bytes already transferred to allocation owners.

Source

pub fn alloc<T: DeviceRepr>( &mut self, len: usize, ) -> Result<TrackedCudaSlice<T>>

Allocate typed device memory from this reservation.

Source

pub fn alloc_raw( &mut self, bytes: usize, tag: AllocTag, ) -> Result<RuntimeAllocBlock>

Allocate raw device bytes from this reservation through the attached runtime resource stack.

Trait Implementations§

Source§

impl Debug for GpuMemoryReservation

Source§

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

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

impl Drop for GpuMemoryReservation

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§

Blanket Implementations§

§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

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<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, 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.