* 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>
* data preprocessing for rgcn
* edge subgraph
* WIP: RGCN
* use edge feature in spmv
* fix bugs
* match AIFB accuracy
* match mutag accuracy
* avoid materializing in featureless case
* remove untouched nodes and relabel nodes
* fix python list concatenate overhead
* sparsely store edge types
* refactor entity classify code for clean link prediction implementation
* further refactor code
* refactoring
* rgcn block decompose layers
* link predict dataset
* link predict model and eval code
* dropout, self-loop, regularization, etc, plus bug fixes
* update to new api
* dataset update
* bugs, WIP, need to impl early stopping and filtered metrics
* instruction to run, and minor
* group conv and early stop
* clean slow code
* some code comments
* use new api in model code
* change data preprocessing
* entity classify model
* WIP
* move dgl graph out of model
* hot fix for extract zip
* fix link predict model
* use latest dgl apis
* still have memory issue...
* bug fix and move inference to cpu
* move rgcn data processing to contrib
* th.allclose -> U.allclose
* minor change in readme
* fix memory issue in entity classify
* fix and testing code for link predict
* fix entity classify
* clean up
* fix comments
* revert erroneous git merge changes
* code clean up and more comments
* minor
* dependent package version