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 the GraphStore.

put_edge_index(edge_index, *args, **kwargs)

Synchronously adds an edge_index tuple to the GraphStore.

remove_edge_index(*args, **kwargs)

Synchronously deletes an edge_index tuple from the GraphStore.

Attributes

is_homogeneous

is_multi_gpu