class_docstr: The relational graph convolutional operator from the `"Modeling
  Relational Data with Graph Convolutional Networks"
  <https://arxiv.org/abs/1703.06103>`_ paper.
  
  :class:`CuGraphRGCNConv` is an optimized version of
  :class:`~torch_geometric.nn.conv.RGCNConv` based on the :obj:`cugraph-ops`
  package that fuses message passing computation for accelerated execution
  and lower memory footprint.
class_docstr_tok: ["The","relational","graph","convolutional","operator","from","the","`","``","Modeling","Relational","Data","with","Graph","Convolutional","Networks","''","<","https",":","\/\/arxiv.org\/abs\/1703.06103",">","`","_","paper",".",":","class",":","`","CuGraphRGCNConv","`","is","an","optimized","version","of",":","class",":","`","~torch_geometric.nn.conv.RGCNConv","`","based","on","the",":","obj",":","`","cugraph-ops","`","package","that","fuses","message","passing","computation","for","accelerated","execution","and","lower","memory","footprint","."]
docstr: Runs the forward pass of the module.
  
  Args:
      x (torch.Tensor): The node features.
      csc ((torch.Tensor, torch.Tensor)): A tuple containing the CSC
          representation of a graph, given as a tuple of
          :obj:`(row, colptr)`. Use the :meth:`to_csc` method to convert
          an :obj:`edge_index` representation to the desired format.
      edge_type (torch.Tensor): The edge type.
      max_num_neighbors (int, optional): The maximum number of neighbors
          of a target node. It is only effective when operating in a
          bipartite graph.. When not given, the value will be computed
          on-the-fly, leading to slightly worse performance.
          (default: :obj:`None`)
docstr_tok: ["Runs","the","forward","pass","of","the","module",".","Args",":","x","(","torch.Tensor",")",":","The","node","features",".","csc","(","(","torch.Tensor",",","torch.Tensor",")",")",":","A","tuple","containing","the","CSC","representation","of","a","graph",",","given","as","a","tuple","of",":","obj",":","`","(","row",",","colptr",")","`",".","Use","the",":","meth",":","`","to_csc","`","method","to","convert","an",":","obj",":","`","edge_index","`","representation","to","the","desired","format",".","edge_type","(","torch.Tensor",")",":","The","edge","type",".","max_num_neighbors","(","int",",","optional",")",":","The","maximum","number","of","neighbors","of","a","target","node",".","It","is","only","effective","when","operating","in","a","bipartite","graph","..","When","not","given",",","the","value","will","be","computed","on-the-fly",",","leading","to","slightly","worse","performance",".","(","default",":",":","obj",":","`","None","`",")"]
code: def forward(
      self,
      x: Tensor,
      csc: Tuple[Tensor, Tensor, int],
      edge_type: Tensor,
      max_num_neighbors: Optional[int] = None,
  ) -> Tensor:
      r"""Runs the forward pass of the module.
  
      Args:
          x (torch.Tensor): The node features.
          csc ((torch.Tensor, torch.Tensor)): A tuple containing the CSC
              representation of a graph, given as a tuple of
              :obj:`(row, colptr)`. Use the :meth:`to_csc` method to convert
              an :obj:`edge_index` representation to the desired format.
          edge_type (torch.Tensor): The edge type.
          max_num_neighbors (int, optional): The maximum number of neighbors
              of a target node. It is only effective when operating in a
              bipartite graph.. When not given, the value will be computed
              on-the-fly, leading to slightly worse performance.
              (default: :obj:`None`)
      """
      graph = self.get_typed_cugraph(
          csc, edge_type, self.num_relations, max_num_neighbors
      )
  
      out = RGCNConvAgg(
          x,
          self.comp,
          graph,
          concat_own=self.root_weight,
          norm_by_out_degree=bool(self.aggr == "mean"),
      )
  
      out = out @ self.weight.view(-1, self.out_channels)
  
      if self.bias is not None:
          out = out + self.bias
  
      return out
  
file_path: pytorch_geometric/torch_geometric/nn/conv/cugraph/rgcn_conv.py
imports: from typing import Optional, Tuple
  import torch
  from torch import Tensor
  from torch.nn import Parameter
  from torch_geometric.nn.conv.cugraph import CuGraphModule
  from torch_geometric.nn.conv.cugraph.base import LEGACY_MODE
  from torch_geometric.nn.inits import glorot, zeros
label_desc: Use image node_id 3 for calling the CuGraphRGCNConv obj's underlying member method code with example usage: obj.forward(x, csc, edge_type, max_num_neighbors) and returns: out