Skip to main content

StreamOrderedAllocConfig

Struct StreamOrderedAllocConfig 

Source
pub struct StreamOrderedAllocConfig {
    pub initial_pool_size: usize,
    pub max_pool_size: usize,
    pub release_threshold: usize,
    pub device: i32,
}
Expand description

Configuration for a stream-ordered memory pool.

All sizes are in bytes.

Fields§

§initial_pool_size: usize

Initial pool size in bytes. The pool pre-reserves this amount of device memory when created.

§max_pool_size: usize

Maximum pool size in bytes. 0 means unlimited — the pool will grow as needed (subject to device memory limits).

§release_threshold: usize

Release threshold in bytes. When the pool is trimmed, at least this much memory is kept reserved for future allocations.

§device: i32

The device ordinal to create the pool on.

Implementations§

Source§

impl StreamOrderedAllocConfig

Source

pub fn validate(&self) -> CudaResult<()>

Validate that the configuration is internally consistent.

§Rules
  • initial_pool_size must not exceed max_pool_size (when max_pool_size > 0).
  • release_threshold must not exceed max_pool_size (when max_pool_size > 0).
  • device must be non-negative.
§Errors

Returns CudaError::InvalidValue if any rule is violated.

Source

pub fn default_for_device(device: i32) -> Self

Returns a sensible default configuration for the given device.

  • initial_pool_size = 0 (grow on demand)
  • max_pool_size = 0 (unlimited)
  • release_threshold = 0 (release everything on trim)

Trait Implementations§

Source§

impl Clone for StreamOrderedAllocConfig

Source§

fn clone(&self) -> StreamOrderedAllocConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StreamOrderedAllocConfig

Source§

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

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

impl PartialEq for StreamOrderedAllocConfig

Source§

fn eq(&self, other: &StreamOrderedAllocConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for StreamOrderedAllocConfig

Source§

impl StructuralPartialEq for StreamOrderedAllocConfig

Auto Trait Implementations§

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more