pylibcugraphops.operators.agg_simple_n2n_e2n_fwd#

pylibcugraphops.operators.agg_simple_n2n_e2n_fwd = <nanobind.nb_func object>#
Computes the forward pass for both a simple aggregation (agg_simple) using node features in an

node-to-node reduction (n2n) and a simple aggregation using edge features in an edge-to-node reduction (e2n) on a graph where the results are concatenated.

agg_simple_n2n_e2n_fwd(
    output_embedding: device array, input_node_embedding: device array,
    input_edge_embedding: device array,
    graph: Union[pylibcugraphops.csc_int[32|64], pylibcugraphops.bipartite_csc_int[32|64]],
    aggregation_operation: pylibcugraphops.operators.AggOp = pylibcugraphops.operators.AggOp.Sum,
    output_extrema_location: Optional[device array] = None, stream_id: int = 0
) -> None
Parameters:
output_embeddingdevice array type

Device array containing the output node embeddings. Shape: (graph.n_dst_nodes, dim_in_node + dim_in_edge).

input_node_embeddingdevice array type

Device array containing the input node embeddings. Shape: (graph.n_dst_nodes, dim_in_node).

input_edge_embeddingdevice array type

Device array containing the input edge embeddings. Shape: (n_edges, dim_in_edge).

graphopaque graph type

The graph used for the operation.

aggregation_operationAggOp, default=AggOp.Sum

The kind of aggregation operation.

output_extrema_locationdevice array type | None

Device array containing the location of the min/max embeddings. This is required for min/max aggregation only, and can be None otherwise. Shape: (graph.n_dst_nodes, dim_in_node + dim_in_edge) if set.

stream_idint, default=0

CUDA stream pointer as a python int.