After a random initialization of the (global) GCN model, our graph domain is partitioned into \(c\)  clusters through the Cluster function (\(c=2\)  in Figure REF ).
This operation is particularly relevant for large graphs (\(n>50,\!000\) ), and we omit it (\(c=1\) ) for smaller graphs that can be efficiently handled without partitioning.
Though any clustering method can be used, we advocate the use of METIS [1]}, [2]} due to its proven efficiency in large-scale graphs.
We then partition our global GCN into \(m\)  smaller and disjoint sub-GCNs through the subGCNs function (\(m=2\)  in Figure REF  and Figure REF ).
This partition is achieved by sampling the feature space at the different layers of the GCN; see Section REF  for details.
Each sub-GCN is assigned to a different worker (i.e., a different GPU) for \(\zeta \)  rounds of distributed and independent training through subTrain.
After this, newly-learned sub-GCN parameters are aggregated (subAgg) into the global GCN model.
Then, the global model is again split into sub-GCNs and the process repeats for \(T\)  cycles or until a pre-specified stopping criterion is met.
More details on distributed training and aggregation are given in Section REF .
<FIGURE>