Skip to main content

VertexSelection

Enum VertexSelection 

Source
pub enum VertexSelection<'a, V: CugraphElement = i32> {
    All,
    Device(&'a DeviceArrayView<'a, V>),
    Host(&'a [V]),
}
Expand description

Unified public vertex-selection input used across graph algorithms.

This type covers three distinct semantics:

  • All for algorithms that operate over every graph vertex
  • Device for an explicit device-resident subset
  • Host for a host-resident subset uploaded at the API boundary

§Examples

use cugraph::{
    ResourceHandle, cudf_interop::device_array_view_from_slice,
    structure::VertexSelection,
};

let runtime = std::sync::Arc::new(cudf::Runtime::new().unwrap());
let handle =
    ResourceHandle::for_runtime(std::sync::Arc::clone(&runtime)).unwrap();

let device_vertices = runtime.series(&[0i32, 1]).unwrap();
let column = device_vertices.as_column();
let slice = column.device_slice::<i32>().unwrap();
let device_view = device_array_view_from_slice::<i32>(&slice).unwrap();
let selection = VertexSelection::from(&device_view);

let host_selection: VertexSelection<'_, i32> =
    VertexSelection::from(&[0i32, 1][..]);
let all: VertexSelection<'_, i32> = VertexSelection::All;

Variants§

§

All

Select all graph vertices.

§

Device(&'a DeviceArrayView<'a, V>)

Select an explicit subset that already lives on the GPU.

§

Host(&'a [V])

Select an explicit subset from host memory, uploaded on demand.

Trait Implementations§

Source§

impl<'a, V: Clone + CugraphElement> Clone for VertexSelection<'a, V>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<'a, V: Copy + CugraphElement> Copy for VertexSelection<'a, V>

Source§

impl<'a, V: Debug + CugraphElement> Debug for VertexSelection<'a, V>

Source§

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

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

impl<'a, V: CugraphElement> Default for VertexSelection<'a, V>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'a, V: CugraphElement> From<&'a DeviceArrayView<'a, V>> for VertexSelection<'a, V>

Source§

fn from(view: &'a DeviceArrayView<'a, V>) -> Self

Converts to this type from the input type.
Source§

impl<'a, V: CugraphElement> From<&'a [V]> for VertexSelection<'a, V>

Source§

fn from(slice: &'a [V]) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<'a, V = i32> !Send for VertexSelection<'a, V>

§

impl<'a, V = i32> !Sync for VertexSelection<'a, V>

§

impl<'a, V> Freeze for VertexSelection<'a, V>
where &'a DeviceArrayView<'a, V>: Freeze, &'a [V]: Freeze,

§

impl<'a, V> RefUnwindSafe for VertexSelection<'a, V>

§

impl<'a, V> Unpin for VertexSelection<'a, V>
where &'a DeviceArrayView<'a, V>: Unpin, &'a [V]: Unpin,

§

impl<'a, V> UnsafeUnpin for VertexSelection<'a, V>
where &'a DeviceArrayView<'a, V>: UnsafeUnpin, &'a [V]: UnsafeUnpin,

§

impl<'a, V> UnwindSafe for VertexSelection<'a, V>
where &'a DeviceArrayView<'a, V>: UnwindSafe, &'a [V]: UnwindSafe,

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, 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 = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.