Da Zheng
223795eb82
[Distributed] Distributed heterograph training ( #3069 )
...
* support hetero RGCN.
* fix.
* simplify code.
* sample_neighbors return heterograph directly.
* avoid using to_heterogeneous.
* compute canonical etypes in advance.
* fix tests.
* fix.
* fix distributed data loader for heterograph.
* use NodeDataLoader.
* fix bugs in partitioning on heterogeneous graphs.
* fix lint.
* fix tests.
* fix.
* fix.
* fix bugs.
* fix tests.
* fix.
* enable coo for distributed.
* fix.
* fix.
* fix.
* fix.
* fix.
Co-authored-by: Ubuntu <ubuntu@ip-172-31-71-112.ec2.internal >
Co-authored-by: Zheng <dzzhen@3c22fba32af5.ant.amazon.com >
2021-11-02 09:18:15 +00:00
Da Zheng
0fc649523b
[Doc] Distributed heterogeneous graph training ( #2654 )
...
* update DistGraph docstrings.
* add user guide.
* add doc string.
* fix.
* fix.
* fix.
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com >
2021-02-19 10:48:05 -08:00
Da Zheng
25ac334403
[Distributed] Heterogeneous graph support ( #2457 )
...
* Distributed heterograph (#3 )
* heterogeneous graph partition.
* fix graph partition book for heterograph.
* load heterograph partitions.
* update DistGraphServer to support heterograph.
* make DistGraph runnable for heterograph.
* partition a graph and store parts with homogeneous graph structure.
* update DistGraph server&client to use homogeneous graph.
* shuffle node Ids based on node types.
* load mag in heterograph.
* fix per-node-type mapping.
* balance node types.
* fix for homogeneous graph
* store etype for now.
* fix data name.
* fix a bug in example.
* add profiler in rgcn.
* heterogeneous RGCN.
* map homogeneous node ids to hetero node ids.
* fix graph partition book.
* fix DistGraph.
* shuffle eids.
* verify eids and their mappings when loading a partition.
* Id map from homogneous Ids to per-type Ids.
* verify partitioned results.
* add test for distributed sampler.
* add mapping from per-type Ids to homogeneous Ids.
* update example.
* fix DistGraph.
* Revert "add profiler in rgcn."
This reverts commit 36daaed8b660933dac8f61a39faec3da2467d676.
* add tests for homogeneous graphs.
* fix a bug.
* fix test.
* fix for one partition.
* fix for standalone training and evaluation.
* small fix.
* fix two bugs.
* initialize projection matrix.
* small fix on RGCN.
* Fix rgcn performance (#17 )
Co-authored-by: Ubuntu <ubuntu@ip-172-31-62-171.ec2.internal >
* fix lint.
* fix lint.
* fix lint.
* fix lint.
* fix lint.
* fix lint.
* fix.
* fix test.
* fix lint.
* test partitions.
* remove redundant test for partitioning.
* remove commented code.
* fix partition.
* fix tests.
* fix RGCN.
* fix test.
* fix test.
* fix test.
* fix.
* fix a bug.
* update dmlc-core.
* fix.
* fix rgcn.
* update readme.
* add comments.
Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-202.us-west-1.compute.internal >
Co-authored-by: Ubuntu <ubuntu@ip-172-31-9-132.us-west-1.compute.internal >
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com >
Co-authored-by: Ubuntu <ubuntu@ip-172-31-62-171.ec2.internal >
* fix.
* fix.
* add div_int.
* fix.
* fix.
* fix lint.
* fix.
* fix.
* fix.
* adjust.
* move code.
* handle heterograph.
* return pytorch tensor in GPB.
* remove some tests in example.
* add to_block for distributed training.
* use distributed to_block.
* remove unnecessary function in DistGraph.
* remove distributed to_block.
* use pytorch tensor.
* fix a bug in ntypes and etypes.
* enable norm.
* make the data loader compatible with the old format.
* fix.
* add comments.
* fix a bug.
* add test for heterograph.
* support partition without reshuffle.
* add test.
* support partition without reshuffle.
* fix.
* add test.
* fix bugs.
* fix lint.
* fix dataset.
* fix for mxnet.
* update docstring.
* rename to floor_div
* avoid exposing NodePartitionPolicy and EdgePartitionPolicy.
* fix docstring.
* fix error.
* fixes.
* fix comments.
* rename.
* rename.
* explain IdMap.
* fix docstring.
* fix docstring.
* update docstring.
* remove the code of returning heterograph.
* remove argument.
* fix example.
* make GraphPartitionBook an abstract class.
* fix.
* fix.
* fix a bug.
* fix a bug in example
* fix a bug
* reverse heterograph sampling.
* temp fix.
* fix lint.
* Revert "temp fix."
This reverts commit c450717b9f578b8c48769c675f2a19d6c1e64381.
* compute norm.
* Revert "reverse heterograph sampling."
This reverts commit bd6deb7f52998de76508f800441ff518e2fadcb9.
* fix.
* move id_map.py
* remove check
* add more comments.
* update docstring.
Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-202.us-west-1.compute.internal >
Co-authored-by: Ubuntu <ubuntu@ip-172-31-9-132.us-west-1.compute.internal >
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com >
Co-authored-by: Ubuntu <ubuntu@ip-172-31-62-171.ec2.internal >
2021-01-24 19:18:00 -08:00
Da Zheng
75ffc31f76
[Doc] Update the docstring of distributed APIs. ( #2025 )
...
* add doc.
* update DistGraph.
* add DistTensor.
* update DistEmbedding.
* add partition.py
* add sampling.
* fix.
* add graph partition book and create a base class.
* fix test.
* add rst.
* update doc rst.
* update.
* fix.
* fix docs
* update distributed tensor and embeddings.
* add checks.
* update DistGraph.
* update initialization.
* fix graph partition book.
* update graph partition book.
* update partition.
* update partition.
* fix.
* add example code.
* update DistGraph
* Update python/dgl/distributed/dist_context.py
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com >
* Update python/dgl/distributed/dist_context.py
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com >
* Update python/dgl/distributed/dist_dataloader.py
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com >
* Update python/dgl/distributed/dist_dataloader.py
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com >
* Update python/dgl/distributed/dist_dataloader.py
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com >
* update initialize.
* update dataloader.
* update distgraph.
* update DistGraph.
* update DistTensor.
* update.
* more updates.
* fix lint.
* add num_nodes and num_edges
Co-authored-by: Chao Ma <mctt90@gmail.com >
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com >
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com >
2020-08-18 11:53:45 -07:00
Da Zheng
d1cf5c383e
[Distributed] adjust various APIs. ( #1993 )
...
* rename get_data_size.
* remove g from DistTensor.
* remove g from DistEmbedding.
* clean up API of graph partition book.
* fix DistGraph
* fix lint.
* collect all part policies.
* fix.
* fix.
* support distributed sampler.
* remove partition.py
2020-08-11 20:22:00 -07:00
Da Zheng
562871e76b
[Distributed] add distributed evaluation. ( #1810 )
...
* add eval.
* extend DistTensor.
* fix.
* add barrier.
* add more print.
* add more checks in kvstore.
* fix lint.
* get all neighbors for eval.
* reorganize.
* fix.
* fix.
* fix.
* fix test.
* add reuse_if_exist.
* add test for reuse_if_exist.
* fix lint.
* fix bugs.
* fix.
* print errors of tcp socket.
* support delete tensors.
* fix lint.
* fix
* fix example
Co-authored-by: Ubuntu <ubuntu@ip-172-31-19-1.us-west-2.compute.internal >
2020-07-22 00:40:14 -07:00
Da Zheng
ea420c0abd
[Distributed] Reduce memory consumption in graph partitioning ( #1823 )
...
* save mem.
* save mem.
* reduce mem
* fix test
* fix lint
* fix test
* fix.
* fix.
* fix.
* fix.
* fix lint.
* fix backend operator.
* fix tensorflow operators.
* fix.
* revert change in mxnet operator.
Co-authored-by: Ubuntu <ubuntu@ip-172-31-19-1.us-west-2.compute.internal >
2020-07-18 06:53:48 -07:00
Da Zheng
6a3685bea0
[BUGFIX] fix a bug in graph partitioning. ( #1769 )
...
* fix
* use utils.toindex in the right place.
* fix.
* update tensor for mxnet backend.
* fix
* fix
2020-07-09 01:16:42 -07:00
Da Zheng
cadcc1c2a6
[Feature] add sparse embedding. ( #1497 )
...
* add sparse embedding.
* fix
* add test.
* man fixes.
* many fixes
* fix sparse emb.
* fix.
* fix lint.
* fix lint.
* fix kvstore.
* expose DistTensor.
* test sparse embeddings.
* add attach_grad to the backends.
* remove part_id
* fix.
* move backward computation.
* move more computation to backend.
* fix a bug when applying learning rate.
* fix a few things.
* fix a few things.
* add docstring
* fix.
* apply no_grad.
* fix tests.
* fix for other frameworks.
* add examples in docstring.
2020-07-03 10:42:09 -07:00
Da Zheng
fa1478a4bd
[BUGFIX] fix a bug in partition book. ( #1698 )
...
* fix a bug.
* add msg for assert
2020-06-24 12:38:58 -07:00
Jinjing Zhou
fb248b678a
[RPC] Sampling over RPC ( #1616 )
...
* fix
* test1111
* 111
* 111
* fff
* lint
* 111
* lint
* lint
* 111
* fijx
* 111
* fix
* 111
* commit
* 111
* 111
* lint
* fix typo
* fix
* lint
* fix
* 111
* support mxnet
* support mxnet
* lint
* remove print
* fix
* fix test.
* fix test.
* fix test.
* try to fix an undetermistic error.
Co-authored-by: Chao Ma <mctt90@gmail.com >
Co-authored-by: Da Zheng <zhengda1936@gmail.com >
2020-06-18 12:05:23 -07:00
Da Zheng
ff5b5a4a10
[Distributed] support no shared memory. ( #1663 )
...
* support no shared memory.
* add test.
* add CAPI to check existence of shared memory.
* revert the change in src/runtime/ndarray.cc
* update docstring.
* fix compile.
2020-06-18 09:42:11 -07:00
Da Zheng
41349dcef5
[Feature] Range partition ( #1522 )
...
* add reorder immutable graph.
* add python API.
* add reorder for csr.
* remove gk version.
* fix
* add cpp test.
* bug fixes
* fix tests.
* fix bugs and add check
* fix test.
* add omp.
* add comments.
* add coo reorder.
* fix a bug.
* handle reorder for different graph structues.
* fix lint.
* fix.
* add original ids.
* reshuffle nodes before metis partition.
* inner nodes are in contiguous Id range.
* reshuffle nodes/edges when partitioning.
* load partition return graph partition book.
* use inner_node/inner_edges
* add and test range partition book.
* count inner_edge correctly.
* fix lint.
* fix lint.
* fix lint.
* fix errors.
* fix errors.
* fix for TF.
* fix.
* fix.
* change docstring.
* support logical and.
* add comments.
* avoid copy.
* fix
* update docstring.
* fix a bug.
* add range search.
* fix
* fix a bug.
* add more tests.
* load graph partition book.
* support shared memory for range partition book.
* fix a bug.
* fix.
* fix lint.
* remove check
* fix test.
* remove num_nodes and num_edges
* fix lint.
* fix graph partition book.
* address comments.
* use makedirs.
* fix compile
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com >
Co-authored-by: Chao Ma <mctt90@gmail.com >
2020-06-15 11:43:04 -07:00
Da Zheng
50962c433f
Refactor distributed graph store ( #1597 )
...
* refactor graph store for new kvstore.
* fix kvstore.
* fix.
* fix lint complains.
* add docstring.
* small fix in graph partition book.
* fix.
* remove tests
* disable sampling.
* Revert "disable sampling."
This reverts commit 70451008f61ff1481d5dadbf8bd199470aee559d.
* Revert "remove tests"
This reverts commit 1394364243bdd73b669abde6193a74e2cda5521d.
2020-06-10 18:51:32 -07:00
Chao Ma
64f49703af
[KVStore] Re-write kvstore using DGL RPC infrastructure ( #1569 )
...
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update init_data
* update server_state
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* debug init_data
* update
* update
* update
* update
* update
* update
* test get_meta_data
* update
* update
* update
* update
* update
* debug push
* update
* update
* update
* update
* update
* update
* update
* update
* update
* use F.reverse_data_type_dict
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* fix lint
* update
* fix lint
* update
* fix lint
* update
* update
* update
* update
* fix test
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* set random seed
* update
2020-06-04 16:48:53 +08:00
Da Zheng
96984faca4
[Feature] Split data for distributed training ( #1505 )
...
* fix tests in graph partition book.
* implement node_split and edge_split.
* fix a bug.
* add tests.
* remove unnecessary code.
* avoid storing graph structure in partition book.
* add partition book in DistGraph.
* Revert "avoid storing graph structure in partition book."
This reverts commit 55b11fbf9293efcae5f8c97e93f1e121399dadae.
* small fixes.
* add a test for boolean mask vector.
* fix test.
* fix bugs.
* make it work for all different cases.
* fix tests.
* fix boolean mask
* fix for TF
* fix for tensorflow.
* fix test for TF
* only support boolean mask for now.
* fix tests.
* make the code more readable.
* fix test.
Co-authored-by: Chao Ma <mctt90@gmail.com >
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com >
2020-05-14 12:46:37 -07:00
Chao Ma
ef7e475051
[Distributed] Add GraphPartitionBook ( #1496 )
...
* Add graph-partition-book
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
* udpate
* fix lint
* update
* update
* update
* update
* update
* update
* update
* skip test on GPU
* update
* update
* update
* update
* update
* update
* update
* fix lint
* update
* update
* update
* update
* fix unittest
* update
* update
* update
* update
* update
* update
* update
* update
* update
* update
2020-05-08 14:52:12 +08:00