* Split from NCCL PR
* Fix type in comment
* Expand documentation for sparse_all_to_all_push
* Restore previous behavior in example
* Re-work optimizer to use NCCL based on gradient location
* Allow for running with embedding on CPU but using NCCL for gradient exchange
* Optimize single partition case
* Fix pylint errors
* Add missing include
* fix gradient indexing
* Fix line continuation
* Migrate 'first_step'
* Skip tests without enough GPUs to run NCCL
* Improve empty tensor handling for pytorch 1.5
* Fix indentation
* Allow multiple NCCL communicator to coexist
* Improve handling of empty message
* Update python/dgl/nn/pytorch/sparse_emb.py
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
* Update python/dgl/nn/pytorch/sparse_emb.py
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
* Keepy empty tensor dimensionaless
* th.empty -> th.tensor
* Preserve shape for empty non-zero dimension tensors
* Use shared state, when embedding is shared
* Add support for gathering an embedding
* Fix typo
* Fix more typos
* Fix backend call
* Use NodeDataLoader to take advantage of ddp
* Update training script to share memory
* Only squeeze last dimension
* Better handle empty message
* Keep embedding on the target device GPU if dgl_sparse if false in RGCN example
* Fix typo in comment
* Add asserts
* Improve documentation in example
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
* add bruteforce impl
* add support for bruteforce-sharemem
* modify python API
* add tests
* change file path
* change python API
* fix lint
* fix test
* also check worst_dist in the last few dim
* use heap and early-stop on CPU
* fix lint
* fix lint
* add device check
* use cuda function to determine max shared mem
* use cuda to determine block info
* add memory free for tmp var
* update doc-string and add dist option
* fix lint
* add more tests
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
* Auto stash before rebase of "origin/pytorch-nn-working"
GCNII model added
* linting
* linting
* lint
* Frequency Adaptive gcn init comit
* Revert "Frequency Adaptive gcn init comit"
This reverts commit 86a80586ac0040497c1edfa0e80df719992dcc4a.
* Update python/dgl/nn/pytorch/conv/gcn2conv.py
modified docstring
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
* added beta formula and changed param name
* fix docstring
* lint
* white space lint
* update docstring
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
* docstring formula update
* added gcn2
* added GCN2Conv
* Update nn.pytorch.rst
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
* add implementation of twirls
* format the code
* fix some format error, and ignore others
* fix format errors
* fix format errors
* expose unfolding & attention
* Update nn.pytorch.rst
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
* add multihead in DotGatConv
* Fix spacing issue
* Add Unit test for dotgat
* Modified Unit test for dotgat
* Add transformer like divisor
* Update dotgatconv.py
Co-authored-by: Chen <chesirui@3c22fbe5458c.ant.amazon.com>
Co-authored-by: Zihao Ye <expye@outlook.com>
* mx tf relconv
* use method instead of private attr
* src and dst have different fc for gat
* update edgeconv
* change sage and sgconv
* no degree check on gin
* add remainding API doc
* fix pylint
* infer fc_src and fc_dst, only one tensor for block
* fix pytest
* go through gcn, relgcn
* fix tagconv formula
* fix doc in sageconv
* fix sgconv doc
* replace hat with tilde
* more comments on gmmconv
* fix agnnconv chebconv doc
* modify nnconv doc
* remove &
* add nn conv examples
* Rebase master
* More merge conflicts
* check homo
* add back self loop for some convs, check homo in tranform
* add example for denseconv
* add example and doc for dotgat and cfconv
* check in-degree for graphconv
* add language fix
* gconv address all comments
* another round of change based on api template
* change agnn
* go through agnn, appnp, atomic, cf, cheb, dense, gat, sage modules
* finish pytorch part of nn conv
* mxnet graphconv done
* tensorflow graphconv works
* add new modules into doc
* add comments to not split code
* refine doc
* resr
* more comments
* more fix
* finish conv and dense conv part api
* pylint fix
* fix pylink
* fix pylint
* more fix
* fix
* fix test fail because zere in degree
* fix test fail
* sage is not update for mxnet tf
Co-authored-by: Ubuntu <ubuntu@ip-172-31-0-81.us-east-2.compute.internal>