文件历史

提交图

147 次代码提交

作者 SHA1 备注 提交日期
Minjie Wang 3bcb268a36 [Doc] Update distributed chapter according to new pipeline (#4275)
* dist index chapter

* preproc chapter

* rst

* tools page

* partition chapter

* rst

* hetero chapter

* 7.1 step1

* add parmetis back

* changed based on feedback

* address comments
2022-08-17 13:30:04 +08:00
Rhett Ying 39987bc599 [Feature] enable graph partition book support canonical etypes (#4343)
* [Feature] enable graph partition book support canonical etypes

* fix lint

* fix lint

* add todo

* refine according to review comments

* fix lint

* refine naming

* revert PartitionPolicy __init__

* refine docstring

* fix doc string
2022-08-16 11:52:02 +08:00
Rhett Ying 43ba94ee49 [BugFix] fix etype check in DistGraph.edge_subgraph (#4322) 2022-08-03 11:56:00 +08:00
Rhett Ying 4dd16f5dd8 [BugFix] enable DistGraph.find_edge() works with str or tuple of str (#4319) 2022-08-01 20:47:15 +08:00
Serge Panev 7cd531c4d6 [Dist][Optim] Change op order in SparseAdagrad to be numerically closer to PyTorch (#4253)
Signed-off-by: Serge Panev <spanev@nvidia.com>

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-07-25 14:53:53 +08:00
Rhett Ying 8292bf329f [Dist] remove deprecated arguments from initialize() (#4284) 2022-07-25 10:45:19 +08:00
Rhett Ying 740cd70610 [Doc]Fix doc typo in DistEmbedding (#4258)
* [Doc] fix docstring typo

* Update sparse_emb.py

* Update sparse_emb.py

* update link
2022-07-19 10:37:14 +08:00
Rhett Ying 14e4e1b0f7 [Dist] enable to specify sort_etype for sample_etype_neighbours (#4212)
* [Dist] enable to specify sort_etype for sample_etype_neighbours

* fix lint

* pass argument instead of env

* fix lint and doc string

* refine args

* remove unnecessary lines

* debug only

* debug add sort time log

* change interface

* fix typo

Co-authored-by: Xin Yao <xiny@nvidia.com>
2022-07-11 18:37:25 +08:00
Rhett Ying c65d6fa55f [Dist] format dtypes when loading graph in server (#4228)
* [Dist] format dtypes when loading graph in server

* add test

* refine

* add comments
2022-07-11 14:08:17 +08:00
Rhett Ying ab1b28111d [Dist] etype is not guaranteed to be sorted (#4156) 2022-06-23 09:23:08 +08:00
Rhett Ying 69226588a5 [Dist] defer to load node/edge feats (#4143)
* [Dist] defer to load node/edge feats

* fix lint

* Update python/dgl/distributed/partition.py

Co-authored-by: Minjie Wang <minjie.wang@nyu.edu>

* Update python/dgl/distributed/partition.py

Co-authored-by: Minjie Wang <minjie.wang@nyu.edu>

* fix lint

Co-authored-by: Minjie Wang <minjie.wang@nyu.edu>
2022-06-20 19:44:37 +08:00
Rhett Ying b258729b3f [Dist] set socket as default backend for RPC (#4120)
* [Dist] set socket as default backend for RPC

* add tests both for socket and tensorpipe
2022-06-16 13:08:19 +08:00
Rhett Ying abcc9cce83 disable multiple groups tests due to random failure in CI (#4101) 2022-06-09 17:40:53 +08:00
Rhett Ying cac3720b48 [Dist] enable time out when fetching msg (#4043)
* [ist] enable time out when fetching msg

* fix lint error

* minor refinements

* improve minor log

* fix dist test

* fix timeout issue in tensorpipe
2022-06-08 20:20:03 +08:00
Rhett Ying 53835bdb75 [Dist][BugFix] enable sampling on bipartite (#4014)
* [Dist][BugFix] enable sampling on bipartite

* add comments for tests
2022-05-18 10:14:54 +08:00
Rhett Ying 22e218d335 [Dist] Enable maximum try times for socket backend via DGL_DIST_MAX_T… (#3977)
* [Dist] Enable maximum try times for socket backend via DGL_DIST_MAX_TRY_TIMES

* reset env before/after test

* print log for info when trying to connect

* fix

* print log in python instead of cpp
2022-05-11 13:03:06 +08:00
ndickson-nvidia edf2d52666 [Dist][Optim] Fixed race conditions in distributed SparseAdam and SparseAdagrad (#3971)
* * Fixed race condition bug in distributed/optim/pytorch/sparse_optim.py's SparseAdam::update, corresponding with the bug fixed in the non-distributed version in https://github.com/dmlc/dgl/pull/3013 , though using the newer Event-based approach from that corresponding function.  The race condition would often result in NaNs, like the previously fixed bug. https://github.com/dmlc/dgl/issues/2760

* * Fixed race condition bug in SparseAdagrad::update corresponding with the one fixed in SparseAdam::update in the previous commit.  Same info applies.

* * Fixed typo in all copies of a repeatedly-copied comment near bug fixed 3 commits ago, checking all implementations nearby for a corresponding bug.  (All of them appear to have been fixed as of 2 commits ago.)

* * Removed trailing whitespace

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
Co-authored-by: Rhett Ying <85214957+Rhett-Ying@users.noreply.github.com>
2022-05-09 09:05:31 -07:00
Rhett Ying 37be02a486 [Feature] enable socket net_type for rpc (#3951)
* [Feature] enable socket net_type for rpc

* fix lint

* fix lint

* fix build issue on windows

* fix test failure on windows

* fix test failure

* fix cpp unit test failure

* net_type blocking max_try_times

* fix other comments

* fix lint

* fix comment

* fix lint

* fix cpp
2022-04-28 00:10:06 +08:00
Cheng Wan fbbca994b7 [Feature] METIS Partition with Communication Volume Minimization (#3821)
* upd

* upd

* upd

* upd

* upd

* fix OpenMP compatibility issues

* typo

* partition

* misc

* fix typo

* num_parts=1

* import torch

* long

* print info

* print info

* print info

* upd

* remove debug code

* revert partition.py

* fix cut count

* fix cut count

* Revert "fix cut count"

This reverts commit 10926b4fd48f45c8f1ddb58be7db6c22e653effd.

* Revert "fix cut count"

This reverts commit 76465283bef093a2b4209ad70dd15d2437b2ec8a.

* type of deprecate

* typo in deprecate info

* fix typo

* use cv for partitioning

* CE

* no message

* revert

* typo

* add objtype

* no message

* fix bug

* fix bug

* fix bug

* ?

* semicolon

* drop tensors

* no message

* backward

* backward

* max op

* store X.shape

* th

* test

* Revert "test"

This reverts commit 92b3b2f64a3a1128590098fa03ce429c5466e6ce.

* test

* tolist

* debug

* to cuda

* tuple

* fix bug

* remove X

* no message

* fix bug

* workload balance

* Revert "workload balance"

This reverts commit d7f8e4a16ba2a7eabb4a9bb945523bfe6623e723.

* reverse

* Revert "reverse"

This reverts commit 8a71cf25685aa7d889b9b8881b46f7a16b7d6e6d.

* Revert "Revert "reverse""

This reverts commit 196b143932d5cf9813576ece7c990b63d322d063.

* Revert "Revert "Revert "reverse"""

This reverts commit cf9e89a07013582056e7cde235e51331aca7fa9c.

* no message

* Merge commit '5498cf051e9cf450dcb798ca09920bbde008a661'

# Conflicts:
#	python/dgl/distributed/partition.py

* Revert "Merge commit '5498cf051e9cf450dcb798ca09920bbde008a661'"

This reverts commit f79be2ad777897c7025b28308454cad81ad6bb27.

* fix bug

* third party

* no message

* try to avoid memory leak

* try to avoid memory leak

* avoid memory leak with no hope

* Revert "avoid memory leak with no hope"

This reverts commit c77befe9479f46758e744642f66dd209b50eef7d.

* no message

* Revert "no message"

This reverts commit 478cb28fe25fb1002b2f1dc202bb9bdaad8b2a56.

* del

* Revert "del"

This reverts commit 1b468e45ce646b400ff3ffa61a0b2da058b3bdfd.

* no message

* no message

* Revert "no message"

This reverts commit 92e4f5561ed42da0606618b2fff9f1ad5ed439d9.

* third party

* document

* Update metis_partition.cc

* Update metis_partition_hetero.cc

* Update metis_partition_hetero.cc

* Update partition.py

* Update partition.py

* Update partition.py

Co-authored-by: yzh119 <expye@outlook.com>
Co-authored-by: chwan-rice <54331508+chwan-rice@users.noreply.github.com>
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
Co-authored-by: Da Zheng <zhengda1936@gmail.com>
2022-03-27 14:22:01 -07:00
Rhett Ying 480a4ae35c [BugFix] pass ntype/etype into partition book when node/edge_split (#3828)
* [BugFix] pass ntype/etype into partition book when node/edge_split

* fix test failure

* fix test failue on mxnet

* fix test failure
2022-03-14 15:11:01 -07:00
Rhett Ying bb6cec23b4 [BugFix] fix incorrect name when fetch data in sparse optim (#3808) 2022-03-06 10:43:43 -08:00
Rhett Ying 1d80d91a32 [BugFix] call g.is_homogenous instead of len(g.etypes) (#3793) 2022-03-02 14:27:52 +08:00
Da Zheng e0f0fa2a78 Fix a bug in sparse optimizer. (#3779)
* fix a bug.

* Update pylintrc

* fix.

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2022-02-28 12:04:32 -08:00
Mufei Li 6d9433b04f [Transform] [Doc] Rename transform to transforms and update doc (#3765)
* Update

* Update

* Update

* Fix

* Update

* Update

* Update

* Fix
2022-02-24 21:28:15 +08:00
Rhett Ying fcd8ed9acc [Feature] Launch Long Live Servers and Multiple Client Groups (#3688)
* enable to launch multiple client groups sequentially

* launch simultaneously is enabled

* refine docstring

* revert unnecessary change

* [DOC] add doc for long live server

* refine

* refine doc

* refine doc
2022-02-09 15:56:38 +08:00
Xin Yao 738e8318fd [Feature] CUDA UVA sampling for MultiLayerNeighborSampler (#3674)
* implement pin_memory/unpin_memory/is_pinned for dgl.graph

* update python docstring

* update c++ docstring

* add test

* fix the broken UnifiedTensor

* XPU_SWITCH for kDLCPUPinned

* a rough version ready for testing

* eliminate extra context parameter for pin/unpin

* update train_sampling

* fix linting

* fix typo

* multi-gpu uva sampling case

* disable new format materialization for pinned graphs

* update python doc for pin_memory_

* fix unit test

* UVA sampling for link prediction

* dispatch most csr ops

* update graphsage example to combine uva sampling and UnifiedTensor

* update graphsage example to combine uva sampling and UnifiedTensor

* update graphsage example to combine uva sampling and UnifiedTensor

* update doc

* update examples

* change unitgraph and heterograph's PinMemory to in-place

* update examples for multi-gpu uva sampling

* update doc

* fix linting

* fix cpu build

* fix is_pinned for DistGraph

* fix is_pinned for DistGraph

* update graphsage unsupervised example

* update doc for gpu sampling

* update some check for sampling device switching

* fix linting

* adapt for new dataloader

* fix linting

* fix

* fix some name issue

* adjust device check

* add unit test for uva sampling & fix some zero_copy bug

* fix linting

* update num_threads in graphsage examples

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2022-02-09 14:06:17 +08:00
Quan (Andy) Gan 701b4fccc2 [Sampling] New sampling pipeline plus asynchronous prefetching (#3665)
* initial update

* more

* more

* multi-gpu example

* cluster gcn, finalize homogeneous

* more explanation

* fix

* bunch of fixes

* fix

* RGAT example and more fixes

* shadow-gnn sampler and some changes in unit test

* fix

* wth

* more fixes

* remove shadow+node/edge dataloader tests for possible ux changes

* lints

* add legacy dataloading import just in case

* fix

* update pylint for f-strings

* fix

* lint

* lint

* lint again

* cherry-picking commit fa9f494

* oops

* fix

* add sample_neighbors in dist_graph

* fix

* lint

* fix

* fix

* fix

* fix tutorial

* fix

* fix

* fix

* fix warning

* remove debug

* add get_foo_storage apis

* lint
2022-01-30 16:13:00 +08:00
Quan (Andy) Gan 92db4bd5a0 fix (#3700) 2022-01-28 20:51:15 +08:00
Quan (Andy) Gan da877df238 [CI] Migrate to pylint 2.6.0 (#3698)
* migrate to pylint 2.6.0

* fix

* fix?

* ???

* oops
2022-01-28 18:32:18 +08:00
Rhett Ying 6255c95aae [Fix] too many open files (#3694)
* [Fix] too many open files
2022-01-28 13:24:20 +08:00
Rhett Ying 02e4cd8b56 [Feature] long live server for multiple client groups (#3645)
* [Feature] long live server for multiple client groups

* generate globally unique name for DistTensor within DGL automatically
2022-01-26 15:21:14 +08:00
Rhett Ying e4cb4a3779 [Fix] reduce error msg, refine fetch logic of available ports (#3658)
* [Fix] reduce error msg, refine fetch logic of available ports

* un-initialize client before sending shutdown request

* fix import error

* print connect failure log only in debug mode

* enable DMLC_LOG_DEBUG=1 in CI
2022-01-19 09:41:58 +08:00
Da Zheng 2dd114ed24 [Distributed] Measure peak memory size in graph partitioning (#3633)
* measure peak memory size.

* fix lint.

Co-authored-by: Ubuntu <ubuntu@ip-172-31-30-164.us-west-2.compute.internal>
2022-01-13 15:41:53 -08:00
Rhett Ying 37467e2589 [Feature][Dist] change TP::Receiver/TP::Sender for multiple connections (#3574)
* [Feature] enable TP::Receiver wait for any numbers of senders

* fix random unit test failure

* avoid endless future wait

* fix unit test failure

* fix seg fault when finalize wait in receiver

* [Feature] refactor sender connect logic and remove unnecessary sleeps in unit tests

* fix lint

* release RPCContext resources before process exits

* [Debug] TPReceiver wait start log

* [Debug] add log in get port

* [Debug] add log

* [ReDebug] revert time sleep in unit tests

* [Debug] remove sleep for test_distri,test_mp

* [debug] add more log

* [debug] add listen_booted_ flag

* [debug] restore commented code for queue

* [debug] sleep more in rpc_client

* restore change in tests

* Revert "restore change in tests"

This reverts commit 41a18926d181ec2517069389bfc41de2cc949280.

* Revert "[debug] sleep more in rpc_client"

This reverts commit a908e758eabca0a6ce62eb2e59baea02a840ac67.

* Revert "[debug] restore commented code for queue"

This reverts commit d3f993b3746e6bb6e2cc2f90204dd7e9461c6301.

* Revert "[debug] add listen_booted_ flag"

This reverts commit 244b2167d94942ff2a0acec8823b974975e52580.

* Revert "[debug] add more log"

This reverts commit 4b78447b0a575a824821dc7e25cca2246e6e30e2.

* Revert "[Debug] remove sleep for test_distri,test_mp"

This reverts commit e1df1aadcc8b1c2a0013ed77322ac391a8807612.

* remove debug code

* revert unnecessary change

* revert unnecessary changes

* always reset RPCContext when get started and reset all data

* remove time.sleep in dist tests

* fix lint

* reset envs before each dist test

* reset env properly

* add time sleep when start each server

* sleep for a while when boot server

* replace wait_thread with callback

* fix lint

* add dglconnect handshake check

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2022-01-11 08:55:36 +08:00
Jinjing Zhou a3ce780d29 [RPC] Use tensorpipe for rpc communication (#3335)
* doesn't know whether works

* add change

* fix

* fix

* fix

* remove

* revert

* lint

* lint

* fix

* revert

* lint

* fix

* only build rpc on linux

* lint

* lint

* fix build on windows

* fix windows

* remove old test

* fix cmake

* Revert "remove old test"

This reverts commit f1ea75c777c34cdc1f08c0589676ba6aee1feb29.

* fix windows

* fix

* fix

* fix indent

* fix indent

* address comment

* fix

* fix

* fix

* fix

* fix

* lint

* fix indent

* fix lint

* add introduction

* fix

* lint

* lint

* add more logs

* fix

* update xbyak for C++14 with gcc5

* Remove channels

* fix

* add test script

* fix

* remove unused file

* fix lint

* add timeout
2021-12-06 20:03:33 +08:00
Quan (Andy) Gan eb08ef3831 [Distributed] Edge-type-specific fanouts for heterogeneous graphs (#3558)
* first commit

* second commit

* spaghetti unit tests

* rewrite test
2021-12-06 13:59:29 +08:00
xiang song(charlie.song) 156c17f3a6 [BugFix] Fix a bug of distributed SparseAdam optimizer. (#3561)
* Fix dist user embed bug

* Add some comments

* trigger

Co-authored-by: xiangsx <xiangsx@ip-10-3-83-86.eu-west-1.compute.internal>
2021-12-03 21:29:25 -08:00
Rhett Ying 7c7b60be18 [BugFix] add count_nonzero() into SA_Client (#3417) 2021-10-12 06:17:30 -07:00
Jingcheng Yu 5cf48fc69c [Feature] Implement one thread multiple socket (#3200)
Co-authored-by: JingchengYu94 <jingchengyu94@gmail.com>
2021-09-27 21:45:52 -07:00
xiang song(charlie.song) f4fe518ff7 [Feature] Add a HINT for the per edge type sampler of heterogeneous DistGraph that highlighting the etypes are sorted already. (#3260)
* pass cpp test

* distgraph use sorted edge flag.

* lint

* triger

* update test

Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-66.ec2.internal>
2021-09-01 15:36:01 +08:00
Da Zheng e5ed7adc12 [Distributed] Fix a bug in sampling an empty frontier (#3298)
* handle empty frontiers.

* fix lint.

* fix

Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-202.us-west-1.compute.internal>
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
2021-08-29 10:54:46 -07:00
nv-dlasalle 7f9279397a [Feature][DistDGL] Add NCCL support for range based partitions (#3213)
* Implement range based NDArrayPartition

* Finish implement range based partition support

* Add unit test

* Fix whitepace

* Add Kernel suffix

* Fix argument passing

* Add doxygen docs and improve variable naming

* Add unit test

* Add function for converting a partition book

* Add example to partition_op docs

* Fix dtype conversion for mxnet and tensorflow
2021-08-19 21:17:55 -07:00
xiang song(charlie.song) 6f36dd6366 Cleanup some code in graph_services.py (#3238)
* Fix bug

* Fix

* Fix

* upd

* Merge some code

* lint
2021-08-15 11:58:37 -07:00
xiang song(charlie.song) cd2cf606db [Bugfix] Fix bug introduced by https://github.com/dmlc/dgl/pull/3131 (#3234)
* Fix bug

* Fix

* Fix

* upd

* trigger
2021-08-10 11:36:57 +08:00
xiang song(charlie.song) bcf92f6c21 [Bugfix] Distributed training can not work with dgl.dataloading.negative_sampler (#3215)
* Fix dist negative data loader bug

* upd

* Fix

Co-authored-by: Da Zheng <zhengda1936@gmail.com>
2021-08-06 20:41:20 +08:00
freeliuzc 45858d6803 [feature] add count_nonzero function for DistTensor (#3203)
* add count_nonzero function for DistTensor

* change the load method of local data

Co-authored-by: liuzichang04 <liuzichang04@meituan.com>
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
Co-authored-by: Da Zheng <zhengda1936@gmail.com>
2021-08-05 10:47:50 -07:00
Jinjing Zhou 8bc91414e9 [Distributed] Fix distributed training hang with multiple samplers (#3169)
Rewrite the multiprocessing worker pool
2021-08-01 21:31:04 +08:00
Da Zheng cb4a83a233 [Distributed] Enable distributed EdgeDataLoader (#3192)
* make heterogeneous find_edges

* add distributed EdgeDataLoader.

* fix.

* fix a bug.

* fix bugs.

* add tests on distributed heterogeneous graph sampling.

* fix.

Co-authored-by: Zheng <dzzhen@3c22fba32af5.ant.amazon.com>
2021-07-28 15:28:27 +08:00
xiang song(charlie.song) ba7e7cf931 [New Feature] Per edge type sampler for to_homogeneous graphs. (#3131)
* fix.

* fix.

* fix.

* fix.

* Fix test

* Deprecate old DistEmbedding impl, use synchronized embedding impl

* Basic imple of heterogeneous on homogenenous sampling

* make pass

* Pass C++ test

* Add python test code

* lint

* lint

* Add MultiLayerEtypeNeighborSampler

* Add unitest for single machine dataloader

* Add dist dataloader test for edge type sampler

* Fix lint

* fix

* support for per etype sample

* Fix some bug and enable distributed training with per edge sample

* fix

* Now distributed training works

* turn off some mxnet

* turn off mxnet for some dist test

* fix

* upd

* upd according to the comments

* Fix

* Fix test and now distributed works.

* upd

* upd

* Fix

* Fix bug

* remove dead code.

* upd

* Fix

* upd

* Fix

Co-authored-by: Ubuntu <ubuntu@ip-172-31-71-112.ec2.internal>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-66.ec2.internal>
Co-authored-by: Da Zheng <zhengda1936@gmail.com>
2021-07-28 11:51:32 +08:00
Da Zheng 34426a98e9 [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-07-17 10:57:00 +08:00