* WIP: TypedLinear and new RelGraphConv
* wip
* further simplify RGCN
* a bunch of tweak for performance; add basic cpu support
* update on segmm
* wip: segment.cu
* new backward kernel works
* fix a bunch of bugs in kernel; leave idx_a for future
* add nn test for typed_linear
* rgcn nn test
* bugfix in corner case; update RGCN README
* doc
* fix cpp lint
* fix lint
* fix ut
* wip: hgtconv; presorted flag for rgcn
* hgt code and ut; WIP: some fix on reorder graph
* better typed linear init
* fix ut
* fix lint; add docstring
* 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