pub struct DistributedGNN {
pub config: DistributedConfig,
pub local_partition: GraphData,
pub partition_info: PartitionInfo,
pub comm_manager: CommunicationManager,
pub sync_state: Arc<Mutex<SyncState>>,
pub metrics: DistributedMetrics,
}Expand description
Distributed graph neural network coordinator
Fields§
§config: DistributedConfigConfiguration
local_partition: GraphDataLocal graph partition
partition_info: PartitionInfoPartition information
comm_manager: CommunicationManagerCommunication manager
sync_state: Arc<Mutex<SyncState>>Parameter synchronization state
metrics: DistributedMetricsPerformance metrics
Implementations§
Source§impl DistributedGNN
impl DistributedGNN
Sourcepub fn new(
config: DistributedConfig,
full_graph: &GraphData,
) -> Result<Self, DistributedError>
pub fn new( config: DistributedConfig, full_graph: &GraphData, ) -> Result<Self, DistributedError>
Create a new distributed GNN
Sourcepub fn distributed_forward(
&mut self,
layer: &dyn GraphLayer,
) -> Result<GraphData, DistributedError>
pub fn distributed_forward( &mut self, layer: &dyn GraphLayer, ) -> Result<GraphData, DistributedError>
Perform distributed forward pass
Sourcepub fn synchronize_parameters(
&mut self,
parameters: &[Tensor],
) -> Result<Vec<Tensor>, DistributedError>
pub fn synchronize_parameters( &mut self, parameters: &[Tensor], ) -> Result<Vec<Tensor>, DistributedError>
Synchronize parameters across workers
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for DistributedGNN
impl !RefUnwindSafe for DistributedGNN
impl Send for DistributedGNN
impl Sync for DistributedGNN
impl Unpin for DistributedGNN
impl UnsafeUnpin for DistributedGNN
impl !UnwindSafe for DistributedGNN
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more