pub struct GpuGeometricNetwork { /* private fields */ }Expand description
GPU-accelerated geometric network analysis
Implementations§
Source§impl GpuGeometricNetwork
impl GpuGeometricNetwork
Sourcepub async fn new() -> GpuNetworkResult<Self>
pub async fn new() -> GpuNetworkResult<Self>
Initialize GPU context for network analysis
Sourcepub async fn compute_all_pairwise_distances<const P: usize, const Q: usize, const R: usize>(
&self,
network: &GeometricNetwork<P, Q, R>,
) -> GpuNetworkResult<Vec<Vec<f64>>>
pub async fn compute_all_pairwise_distances<const P: usize, const Q: usize, const R: usize>( &self, network: &GeometricNetwork<P, Q, R>, ) -> GpuNetworkResult<Vec<Vec<f64>>>
Compute all pairwise Euclidean distances using GPU acceleration.
This GPU path supports vector-only Cl(P,0,0) embeddings with P <= 3.
Use AdaptiveNetworkCompute for automatic CPU fallback on unsupported
signatures or non-vector multivectors.
Sourcepub async fn compute_geometric_centrality<const P: usize, const Q: usize, const R: usize>(
&self,
network: &GeometricNetwork<P, Q, R>,
) -> GpuNetworkResult<Vec<f64>>
pub async fn compute_geometric_centrality<const P: usize, const Q: usize, const R: usize>( &self, network: &GeometricNetwork<P, Q, R>, ) -> GpuNetworkResult<Vec<f64>>
Compute geometric centrality using GPU distances plus CPU reduction.
Sourcepub async fn geometric_clustering<const P: usize, const Q: usize, const R: usize>(
&self,
network: &GeometricNetwork<P, Q, R>,
k: usize,
max_iterations: usize,
) -> GpuNetworkResult<Vec<Community<P, Q, R>>>
pub async fn geometric_clustering<const P: usize, const Q: usize, const R: usize>( &self, network: &GeometricNetwork<P, Q, R>, k: usize, max_iterations: usize, ) -> GpuNetworkResult<Vec<Community<P, Q, R>>>
GPU-distance-assisted k-medoids clustering for community detection.
Pairwise distances are computed by the GPU path; assignment, medoid updates, and cohesion scoring are CPU-side for 0.20.0.
Sourcepub fn should_use_gpu(num_nodes: usize) -> bool
pub fn should_use_gpu(num_nodes: usize) -> bool
Determine if GPU acceleration should be used based on network size.
Auto Trait Implementations§
impl Freeze for GpuGeometricNetwork
impl !RefUnwindSafe for GpuGeometricNetwork
impl Send for GpuGeometricNetwork
impl Sync for GpuGeometricNetwork
impl Unpin for GpuGeometricNetwork
impl UnsafeUnpin for GpuGeometricNetwork
impl !UnwindSafe for GpuGeometricNetwork
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
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.