cugraph_pyg.data.graph_store.GraphStore#
- class cugraph_pyg.data.graph_store.GraphStore(is_multi_gpu: bool = False)[source]#
cuGraph-backed PyG GraphStore implementation that distributes the graph across workers. This object uses lazy graph creation. Users can repeatedly call put_edge_index, and the tensors won’t be converted into a cuGraph graph until one is needed (i.e. when creating a loader). Supports single-node/single-GPU, single-node/multi-GPU, and multi-node/multi-GPU graph storage.
Each worker should have a slice of the graph locally, and call put_edge_index with its slice.
- Attributes:
- is_homogeneous
- is_multi_gpu
Methods
get_all_edge_attrs
()Returns all registered edge attributes.
- __init__(is_multi_gpu: bool = False)[source]#
Constructs a new, empty GraphStore object. This object represents one slice of a graph on particular worker.
Methods
__init__
([is_multi_gpu])Constructs a new, empty GraphStore object.
coo
([edge_types, store])Returns the edge indices in the
GraphStore
in COO format.csc
([edge_types, store])Returns the edge indices in the
GraphStore
in CSC format.csr
([edge_types, store])Returns the edge indices in the
GraphStore
in CSR format.get_all_edge_attrs
()Returns all registered edge attributes.
get_edge_index
(*args, **kwargs)Synchronously obtains an
edge_index
tuple from theGraphStore
.put_edge_index
(edge_index, *args, **kwargs)Synchronously adds an
edge_index
tuple to theGraphStore
.remove_edge_index
(*args, **kwargs)Synchronously deletes an
edge_index
tuple from theGraphStore
.Attributes
is_homogeneous
is_multi_gpu