* min/max support for forward CPU heterograph
* Added etype with each argU values
* scatter_add needs fix
* added scatter_add_hetero. Grads dont match for max reducer
* storing ntype in argX
* fixing scatter_add_hetero
* hetero matches with torch's scatter add
* works copy_e forward+cpu
* added backward for copy_rhs
* Computes gradient for all node types in one kernel
* bug fix
* unnitest for max/min on CPU
* renamed scatter_add_hetero to update_grad_minmax_hetero
* lint check and comment out cuda call for max. Code is for CPU only
* lint check
* replace inf with zero
* minor
* lint check
* removed LIBXSMM code from hetro code
* fixing backward operator of UpdateGradMinMaxHetero
* removed backward from update_grad_minmax_hetero
* docstring
* improved docstring and coding style
* Added pass by pointer for output
* typos and pass by references
* Support for copy_rhs
* Added header <string>
* fix bug in copy_u_max
* Added comments and dimension check of all etypes
* skip mxnet check
* pass by pointer output arrays
* updated docstring
Co-authored-by: Israt Nisa <nisisrat@amazon.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
* Feat: support API "randomwalk_topk" in library
* Feat: use the new API "randomwalk_topk" for PinSAGESampler
* Minor
* Minor
* Refactor: modified codes as checker required
* Minor
* Minor
* Minor
* Minor
* Fix: checking errors in RandomWalkTopk
* Refactor: modified the docstring for randomwalk_topk
* change randomwalk_topk to internal
* fix
* rename
* Minor for pinsage.py
Co-authored-by: Quan Gan <coin2028@hotmail.com>
* Added SDDMMCOO_hetero support
* removed redundant CUDA kernels
* added benchmark for regression test
* fix
* fixed bug for single src node type
Co-authored-by: Israt Nisa <nisisrat@amazon.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
* [Feature] enable async transfer in NodeDataLoader for homograph
* fix lint issues
* fix device choose when creating stream
* fix test on cpu only machine
* fix pin_memory config
* support homo only
* avoid creating stream in each step and sync via event
* fix lint
* enable graph copy on non-default stream
* fix lint
* refine arg description
* fix conflicts
* squeeze node labels in FraudDataset
* fix RLModule
* update results in README.md
* fix KeyError in full graph training
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
* gpu compact graph template
* cuda compact graph draft
* fix typo
* compact graphs
* pass unit test but fail in training
* example using EdgeDataLoader on the GPU
* refactor cuda_compact_graph and cuda_to_block
* update training scripts
* fix linting
* fix linting
* fix exclude_edges for the GPU
* add --data-cpu & fix copyright
* [Feature] enable create/set/free cuda stream for internal use
* add unit test
* fix unit test failure on mxnet and tf
* refactor stream wrapper
* fix lint error
* fix lint error
* [Feature] Exclude edges in sample_neighbors
Extending sample_neighbors and sample_frontier
API to support exclude_edges parameter.
exclude_edges support tensor and dict data
Feature enable excluding certain edges
during neighborhood sampling
Exclude_edges contains EID's of edges
which will be excluded
during neighbor picking for seed nodes.
Added test case for heterograph and homograph
RFC issue id: 2944
* compatibility
* fix
* fix
Co-authored-by: Quan Gan <coin2028@hotmail.com>
* rgcn with new heterograph API
* apply_edge() forward for multi relation
* undoing changes from rgcn-hetero
* backward apply_edge(copy_u) added
* unittest for apply_edge(copy_e)
* Compatible with new PRs
* resolving conflict with master
* Bringing back change after resolving conflict
* minor
* minor
Co-authored-by: Israt Nisa <nisisrat@amazon.com>
* Make column double indices lazy
* Copy indices to proper contexts
* Fix initialization
* Add unit test
* Fix unit test for tensorflow
* Remove unused member
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.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>
* allow for configuring default_dir
* allow for using DGLDEFAULTDIR environment variable
* Update env_var.rst
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>