[][src]Enum accel::memory::MemoryType

pub enum MemoryType {
    Host,
    PageLocked,
    Device,
    Array,
}

Memory type

Because of unified addressing, we can get the memory type after casted into slice:

let mem = DeviceMemory::<i32>::zeros(&ctx, 12);
let sl = mem.as_slice();
assert_eq!(sl.memory_type(), MemoryType::Device);
let mem = PageLockedMemory::<i32>::zeros(&ctx, 12);
let sl = mem.as_slice();
assert_eq!(sl.memory_type(), MemoryType::PageLocked);
let mut a = vec![0_i32; 12];
let mem = RegisteredMemory::<i32>::new(&ctx, &mut a);
let sl = mem.as_slice();
assert_eq!(sl.memory_type(), MemoryType::PageLocked);

Variants

Host

Host memory not managed by CUDA memory system

PageLocked

Host memory managed by CUDA memory system, i.e. RegisteredMemory, and PageLockedMemory

Device

Device memory

Array

Array memory

Trait Implementations

impl Clone for MemoryType[src]

impl Copy for MemoryType[src]

impl Debug for MemoryType[src]

impl PartialEq<MemoryType> for MemoryType[src]

impl PartialOrd<MemoryType> for MemoryType[src]

impl StructuralPartialEq for MemoryType[src]

Auto Trait Implementations

impl RefUnwindSafe for MemoryType

impl Send for MemoryType

impl Sync for MemoryType

impl Unpin for MemoryType

impl UnwindSafe for MemoryType

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.