* 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
* Fix ref to message-passing guide
* Fix pygments and spacing
* Update build documentation steps in README.md
* Use links
* Adjust parameters in SAGEConv docstring in same order as init
* Fix spelling error
* Change doc link
* Added activation function as an optional parameter
* lint fixes
* Modified the input parameters in tandem with other classes
* lint corrections
* corrected tests
* Reverting back to the old interface
* lint corrections
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Doc: HetGConv note for `edge_type_subgraph`
For the rational behind this note see the discussion in #3003.
* WIP: Requirements for building the docs.
Had to install all these packages to get further with building the docs.
Didn't successfully build them yet, tho.
* Test
* Update
* Update hetero.py
* Update hetero.py
Co-authored-by: Ubuntu <ubuntu@ip-172-31-13-32.us-west-2.compute.internal>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* add unit test
* Extend NDArrayPartition object
* Add method for setting embedding, and improve documentation
* Sync before returning
* Use name unique to sparse embedding class to avoid delete
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
* add bruteforce impl
* add nn descent implementation
* change doc-string
* remove redundant func
* use local rng for cuda
* fix lint
* fix lint
* fix bug
* fix bug
* wrap nndescent_knn_graph into knn
* fix lint
* change function names
* add comment for dist funcs
* let the compiler do the unrolling
* use better blocksize setting
* remove redundant line
* check the return of the cub calls
Co-authored-by: Tong He <hetong007@gmail.com>
* 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>