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:
Allfor algorithms that operate over every graph vertexDevicefor an explicit device-resident subsetHostfor 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>
impl<'a, V: Clone + CugraphElement> Clone for VertexSelection<'a, V>
impl<'a, V: Copy + CugraphElement> Copy for VertexSelection<'a, V>
Source§impl<'a, V: Debug + CugraphElement> Debug for VertexSelection<'a, V>
impl<'a, V: Debug + CugraphElement> Debug for VertexSelection<'a, V>
Source§impl<'a, V: CugraphElement> Default for VertexSelection<'a, V>
impl<'a, V: CugraphElement> Default for VertexSelection<'a, V>
Source§impl<'a, V: CugraphElement> From<&'a DeviceArrayView<'a, V>> for VertexSelection<'a, V>
impl<'a, V: CugraphElement> From<&'a DeviceArrayView<'a, V>> for VertexSelection<'a, V>
Source§fn from(view: &'a DeviceArrayView<'a, V>) -> Self
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>
impl<'a, V: CugraphElement> From<&'a [V]> for VertexSelection<'a, V>
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>
impl<'a, V> RefUnwindSafe for VertexSelection<'a, V>
impl<'a, V> Unpin for VertexSelection<'a, V>
impl<'a, V> UnsafeUnpin for VertexSelection<'a, V>
impl<'a, V> UnwindSafe for VertexSelection<'a, V>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more