graph LR
Core_Graph_Engine["Core Graph Engine"]
Graph_Neural_Network_Framework["Graph Neural Network Framework"]
Data_Pipeline_Utilities["Data Pipeline & Utilities"]
Distributed_Processing["Distributed Processing"]
Benchmarking_Analysis["Benchmarking & Analysis"]
Core_Graph_Engine -- "provides primitives for" --> Graph_Neural_Network_Framework
Core_Graph_Engine -- "provides data structures for" --> Data_Pipeline_Utilities
Core_Graph_Engine -- "supports" --> Distributed_Processing
Graph_Neural_Network_Framework -- "utilizes" --> Core_Graph_Engine
Graph_Neural_Network_Framework -- "consumes data from" --> Data_Pipeline_Utilities
Data_Pipeline_Utilities -- "provides data to" --> Graph_Neural_Network_Framework
Data_Pipeline_Utilities -- "operates on" --> Core_Graph_Engine
Distributed_Processing -- "leverages" --> Core_Graph_Engine
Distributed_Processing -- "integrates with" --> Data_Pipeline_Utilities
Benchmarking_Analysis -- "evaluates" --> Graph_Neural_Network_Framework
Benchmarking_Analysis -- "measures performance of" --> Core_Graph_Engine
click Core_Graph_Engine href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//dgl/Core_Graph_Engine.md" "Details"
click Graph_Neural_Network_Framework href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//dgl/Graph_Neural_Network_Framework.md" "Details"
click Data_Pipeline_Utilities href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//dgl/Data_Pipeline_Utilities.md" "Details"
click Distributed_Processing href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//dgl/Distributed_Processing.md" "Details"
click Benchmarking_Analysis href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//dgl/Benchmarking_Analysis.md" "Details"
This analysis consolidates the DGL architecture into five high-level components, highlighting their responsibilities, key source files, and interrelationships.
The foundational layer of DGL, responsible for managing fundamental graph data structures (nodes, edges, attributes), providing low-level graph manipulation, and serving as the Foreign Function Interface (FFI) to the optimized C/C++ backend for high-performance operations. It also defines the core message passing primitives and sparse tensor operations essential for Graph Neural Networks.
Related Classes/Methods:
dgl.heterograph(0:0)dgl.graph_index(0:0)dgl.frame(0:0)dgl.core(0:0)dgl._ffi(0:0)dgl.ndarray(0:0)dgl.sparse(0:0)dgl.function.message(0:0)dgl.function.reducer(0:0)dgl.ops(0:0)
Implements a comprehensive suite of Graph Neural Network (GNN) layers, attention mechanisms, and pooling layers compatible with various deep learning frameworks. It also includes modules for interpreting GNN model predictions to understand influential graph parts.
Related Classes/Methods:
dgl.nn.pytorch.conv(0:0)dgl.nn.pytorch.hetero(0:0)dgl.nn.pytorch.glob(0:0)dgl.nn.pytorch.network_emb(0:0)dgl.nn.pytorch.explain(0:0)
Manages all aspects of graph data, including built-in datasets, loading/saving graphs, and efficient data loading for GNN training (batching, lazy feature loading). It also provides various graph sampling algorithms, conversion utilities between graph representations, and general graph transformation functions. The high-performance GraphBolt framework is a key part of this component.
Related Classes/Methods:
dgl.data(0:0)dgl.dataloading(0:0)dgl.sampling(0:0)dgl.convert(0:0)dgl.transforms.functional(0:0)dgl.transforms.module(0:0)dgl.utils(0:0)dgl.homophily(0:0)dgl.merge(10:123)dgl.readout(0:0)dgl.graphbolt(0:0)
Enables scalable training and inference on large-scale graphs by providing distributed graph data structures, distributed data loaders, RPC mechanisms, and graph partitioning tools. It extends the core DGL functionalities for distributed environments.
Related Classes/Methods:
dgl.distributed(0:0)
Contains utilities for evaluating DGL's API performance, model accuracy, and speed. It includes implementations of common GNN models for testing and provides tools for analyzing model behavior.
Related Classes/Methods:
dgl.benchmarks(0:0)