MCPcopy Index your code
hub / github.com/Qihoo360/dgl-operator

github.com/Qihoo360/dgl-operator @v0.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.1 ↗ · + Follow
243 symbols 654 edges 27 files 130 documented · 53% updated 4y ago★ 444 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DGL Operator

The DGL Operator makes it easy to run Deep Graph Library (DGL) graph neural network distributed or non-distributed training on Kubernetes. Please check out here for an introduction to DGL and dgl distributed training philosophy.

🛠Prerequisites

  • Kubernetes >= 1.16

🚀Installation

You can deploy the operator with default settings by running the following commands:

git clone https://github.com/Qihoo360/dgl-operator
cd dgl-operator
kubectl create -f deploy/v1alpha1/dgl-operator.yaml

You can check whether the DGL Job custom resource is installed via:

kubectl get crd

The output should include dgljobs.qihoo.net like the following:

NAME                                       AGE
...
dgljobs.qihoo.net                          1m
...

🔬Creating a DGL Job

You can create a DGL job by defining an DGLJob config file. See GraphSAGE.yaml or GraphSAGE_dist.yaml example config file for launching a single-node or multi-node GraphSAGE training job. You may change the config file based on your requirements.

# standalone GraphSAGE
cat examples/v1alpha1/GraphSAGE.yaml
# or a distributed version
cat examples/v1alpha1/GraphSAGE_dist.yaml

Deploy the DGLJob resource to start training:

# standalone GraphSAGE
kubectl create -f examples/v1alpha1/GraphSAGE.yaml
# or a distributed version
kubectl create -f examples/v1alpha1/GraphSAGE_dist.yaml

💭 Reference

Please check out these previous works that helped inspire the creation of DGL Operator

Core symbols most depended-on inside this repo

init_data
called by 8
examples/DGL-KE/hotfix/dis_kvstore.py
isPartitionModeDGLAPI
called by 6
controllers/dgljob_controller.go
kubexec
called by 6
python/dglrun/tools/launch.py
createResource
called by 5
controllers/dgljob_controller.go
initializeDGLJobStatus
called by 5
controllers/dgljob_controller.go
get_ip_host_pairs
called by 5
python/dglrun/tools/launch.py
get_id
called by 5
examples/DGL-KE/hotfix/dis_kvstore.py
kubecp
called by 4
python/dglrun/tools/launch.py

Shape

Method 110
Function 103
Class 16
Struct 10
TypeAlias 4

Languages

Python60%
Go40%

Modules by API surface

controllers/dgljob_controller.go50 symbols
examples/DGL-KE/hotfix/dis_kvstore.py40 symbols
python/dglrun/tools/launch.py17 symbols
examples/DGL-KE/hotfix/dist_train.py14 symbols
api/v1alpha1/zz_generated.deepcopy.go14 symbols
examples/GraphSAGE_dist/code/train_dist.py13 symbols
examples/GraphSAGE/code/3_message_passing.py12 symbols
examples/link_predict/code/4_link_predict.py11 symbols
api/v1alpha1/dgljob_types.go11 symbols
examples/DGL-KE/hotfix/kvserver.py9 symbols
examples/DGL-KE/hotfix/kvclient.py8 symbols
watcher-loop/controllers/controller.go7 symbols

For agents

$ claude mcp add dgl-operator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page