文件历史

提交图

1069 次代码提交

作者 SHA1 备注 提交日期
Israt Nisa 70a499e388 [Feature] Add CUDA support for min and max reducer in heterogeneous API for unary message functions (#3566)
* CUDA support max/min reducer on forward pass

* docstring

* concised UpdateGradMinMax_hetero

* reorganized UpdateGradMinMax_hetero

* CUDA kernels for max/min reducer

* variable name

* lint check

* changed CUDA 2D thread mapping to 1D

* removed legacy cusparse for min/max reducer

* git CI issue

* restarting git CI

* adding namespace std

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-12-16 09:18:51 -08:00
lixiaobai dd762a1e8a [PinSAGESampler] support PinSAGE sampler on GPU (#3567)
* 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

* Feat: support randomwalk and SelectPinSageNeighbors on GPU

Port RandomWalk algorithm on GPU,
and port SelectPinSageNeighbors on GPU.

* Feat: support GPU on python APIs

* Feat: remove perf print information in FrequenchHashmap

* Fix: modified the code format

Modified the code format as task_lint.sh suggested

* Feat: let test script support PinSAGESampler on GPU

Let test script support PinSAGESampler on GPU,
minor of "restart_prob".

* Minor

* Minor

* Minor

* Refactor: use the atomic operations from the array module

* Minor: change the long lines

* Refactor: modified the get_node_types for gpu

* Feat: update the contributor date

* Perf: remove unnecessary stream sync

* Feat: support other random walk

But the non-uniform choice is still not supported.

* Fix: add CUDA switch for random walk

Co-authored-by: Quan Gan <coin2028@hotmail.com>
2021-12-15 13:42:26 +08:00
Mufei Li d6eecf90a1 [NN] TransE and TransR (#3530)
* Update

* Update

* Update

* Update

* Update

* CI

* CI

* CI

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-12-07 10:13:13 +08:00
Yongyi c3103b62bf [BugFix] Fix a bug in TWIRLS, add unittest (#3573)
* Fix a bug in TWIRLS, add unittest

* reformatting the code

* modify unittest for TWIRLS

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-12-07 00:23:09 +08:00
Jinjing Zhou a3ce780d29 [RPC] Use tensorpipe for rpc communication (#3335)
* doesn't know whether works

* add change

* fix

* fix

* fix

* remove

* revert

* lint

* lint

* fix

* revert

* lint

* fix

* only build rpc on linux

* lint

* lint

* fix build on windows

* fix windows

* remove old test

* fix cmake

* Revert "remove old test"

This reverts commit f1ea75c777c34cdc1f08c0589676ba6aee1feb29.

* fix windows

* fix

* fix

* fix indent

* fix indent

* address comment

* fix

* fix

* fix

* fix

* fix

* lint

* fix indent

* fix lint

* add introduction

* fix

* lint

* lint

* add more logs

* fix

* update xbyak for C++14 with gcc5

* Remove channels

* fix

* add test script

* fix

* remove unused file

* fix lint

* add timeout
2021-12-06 20:03:33 +08:00
Quan (Andy) Gan eb08ef3831 [Distributed] Edge-type-specific fanouts for heterogeneous graphs (#3558)
* first commit

* second commit

* spaghetti unit tests

* rewrite test
2021-12-06 13:59:29 +08:00
Israt Nisa cb0e1103ed [Feature] Add Min/max reducer in heterogeneous API for unary message functions (#3514)
* 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>
2021-12-04 00:39:30 +08:00
Mufei Li d2ef24335c [NN] EdgePredictor (#3518)
* Update

* Update

* Fix

* Update

* Update

* update

* Fix test

* CI

* CI
2021-12-02 14:25:31 +08:00
VoVAllen ea8b5d7933 fix #2278 2021-11-22 10:53:27 +00:00
Jinjing Zhou 7b4b8129e3 Add edge_weight parameters to nn modules (#3455)
* add

* fix optional docing

* fix

* lint

* add normalized by edge weight

* add test

* fix

* lint

* fix docs

* fix

* fix docs
2021-11-21 14:59:46 +08:00
Mufei Li 9e7fbf9567 [NN] JumpingKnowledge (#3512)
* Update

* Fix
2021-11-19 16:37:25 +08:00
Rhett Ying e053df7965 [Feature] enable async transfer in NodeDataLoader for homograph (#3407)
* [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
2021-11-17 10:06:48 +08:00
Quan (Andy) Gan b8ce0f41a3 [Sampling] Cluster-GCN and ShaDow-GNN DataLoader (#3487)
* first commit

* next commit

* third commit

* add ShaDow-GNN sampler and unit tests

* fixes

* lint

* cr*p

* lint

* fix lint

* fixes and more unit tests

* more tests

* fix docs

* lint

* fix

* fix

* fix

* fixes

* fix doc
2021-11-16 13:16:25 +08:00
Mufei Li dfa32ae092 [NN] GNNExplainer (#3490)
* Update

* Update

* Update

* Fix

* Update

* Update

* Update

* Update

* Update

* Update

* Fix

* Fix

* Update

* Update

* Update

* Update

* Update

* Update

* lint fix

* lint fix

* Fix lint

* Update

* Fix CI

* Fix CI

* Fix

* CI

* Fix

* Update

* Fix

* Fix

* Fix CI

* Fix CI
2021-11-11 02:22:22 +08:00
Rhett Ying ea8b93f9b2 [BugFix] fix in_degree/out_degree computation logic (#3477)
* [BugFix] fix in/out degree computation

* add unit tests
2021-11-10 15:43:54 +08:00
ayasar70 96cd2ee653 [Performance][GPU] Improve _SegmentCopyKernel() (#3470)
* Based on issue #3436. Improving _SegmentCopyKernel s GPU utilization by switching to nonzero based thread assignment

* fixing lint issues

* Update cub for cuda 11.5 compatibility (#3468)

* fixing type mismatch

* tx guaranteed to be smaller than nnz. Hence removing last check

* minor: updating comment

* adding three unit tests for csr slice method to cover some corner cases

Co-authored-by: Abdurrahman Yasar <ayasar@nvidia.com>
Co-authored-by: nv-dlasalle <63612878+nv-dlasalle@users.noreply.github.com>
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-11-06 10:53:53 -07:00
Xin Yao efe0b06162 fix test dataloader (#3482)
Co-authored-by: Rhett Ying <85214957+Rhett-Ying@users.noreply.github.com>
2021-11-05 15:13:56 +08:00
Xin Yao b717c8bf0d [BugFix] Fix bugs in GPU sampling and enable unit tests for dataloaders on the GPU (#3474)
* enable unit tests for dataloader on the GPU

* fix compatibility

* copyright

* fix linting

Co-authored-by: nv-dlasalle <63612878+nv-dlasalle@users.noreply.github.com>
2021-11-04 10:34:56 -07:00
Xin Yao d3ae7544cd [Feature] aten::Relabel_() for the GPU (#3445)
* relabel gpu

* unittest for ralebl_ on the GPU

* finish Relabel_ for the GPU

* copyright

* re-enable the unittest for edge_subgrah on the GPU

* fix unittest for tensorflow

* use a fixed number of threads

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
Co-authored-by: nv-dlasalle <63612878+nv-dlasalle@users.noreply.github.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-11-04 08:58:31 -07:00
Mufei Li f46080a4d1 [Feature] k-hop Subgraph Extraction (#3458)
* Update

* Fix

* Fix

* Update

* Update

* Update

* Fix CI

* Fix

* Fix

* Fix

* Update

* Update

* Update

* Fix

* Fix

* Fix for TF
2021-11-04 15:47:35 +08:00
Shaked Brody e2f33fd5cc [NN][Model] GATv2 (#3473)
* [Model][Core] GATv2

* lint

* gatv2conv.py

* lint

* lint

* style and docs

* lint

* gatv2conv fix

Co-authored-by: Shaked Brody shakedbr@campus.technion.ac.il <shakedbr@tangerine.cslcs.technion.ac.il>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-11-03 21:55:56 +08:00
Kamil Kamiński 51c6509704 [NN] Add EGATConv nn.module (#3425)
* added nn pytorch egatconv

* aligned with test build

* aligned with test build

* fixed wihite spaces

* fixed wihite spaces

* fixed wihite spaces

* added missing egatconv in imports

* added indentation in forward

* GATConv based implementation

* removed **kw_args

* added dgl relative imports

* PR corrections

* added DGL Error to EGATConv imports

* Update test_nn.py

Co-authored-by: Argusmocny <k.kaminski@cent.uw.edu.pl>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-10-28 00:38:08 +08:00
Xin Yao a8c81018c5 [Sampling] Implement dgl.compact_graphs() for the GPU (#3423)
* 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
2021-10-20 22:07:35 -07:00
Rhett Ying 8798872f54 [Bug] Do not skip graphconv even no edge exists (#3416) 2021-10-14 14:34:42 +08:00
Rhett Ying 7c7b60be18 [BugFix] add count_nonzero() into SA_Client (#3417) 2021-10-12 06:17:30 -07:00
Rhett Ying 2d88db5a3c [Bug] check dtype before convert to gk (#3414) 2021-10-12 14:34:40 +08:00
Rhett Ying f9fd7fd7f7 [BugFix] extract gz into target dir (#3389) 2021-09-30 11:35:40 +08:00
Rhett Ying e234fcfa8f [Feature] enable create/set/free cuda stream for internal use (#3334)
* [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
2021-09-29 15:35:02 +08:00
Jingcheng Yu 5cf48fc69c [Feature] Implement one thread multiple socket (#3200)
Co-authored-by: JingchengYu94 <jingchengyu94@gmail.com>
2021-09-27 21:45:52 -07:00
Quan (Andy) Gan a04a8d066e [Feature] Graceful handling of exceptions thrown within OpenMP blocks (#3353)
* graceful c++ exception in OpenMP

* credits

* add test

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-09-22 13:44:46 +08:00
mszarma bc14829fb3 [Feature] Exclude edges in sample_neighbors (#2971)
* [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>
2021-09-22 02:15:56 +08:00
Rhett Ying bacc9047f2 [BugFix] initialize data if null when converting from row sorted coo to csr (#3360) 2021-09-17 17:07:05 +08:00
nv-dlasalle 2647afc9b3 [Performance][Feature] Add src_nodes paramter to to_block() to avoid cost running unique() when available. (#2973)
* Add lhs_nodes are paremeter to to_block

* Update unit test

* Switch to simplified node conversion

* Switch lhs_nodes to be in/out parameter

* Update docs

Co-authored-by: Da Zheng <zhengda1936@gmail.com>
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2021-09-16 09:05:16 +08:00
Rhett Ying f4c79f7f6d [Performance] improve coo2csr space complexity when row is not sorted (#3326)
* [Performance] improve coo2csr space complexity when row is not sorted

* [Perf] replace std::vector<> by NDArray

* keep both impl of unsorted coo to csr and choose according to graph density dynamically

* refine criteria to choose btw Unsorted algos

Co-authored-by: Ubuntu <ubuntu@ip-172-31-34-27.us-west-2.compute.internal>
2021-09-14 10:41:55 +08:00
esang 6454c791b8 [Bugfix] Fix bugs of farthest_point_sampler (#3327)
* fix start_idx

* fix the bug when cuda > 0

Co-authored-by: Tong He <hetong007@gmail.com>
2021-09-10 17:50:06 +08:00
Israt Nisa d17b299a13 [Feature] Update edge features (apply_edge) for heterogeneous graph (#3250)
* 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>
2021-09-09 22:39:08 +08:00
Israt Nisa 298e4fa627 [Feature] Support builtin binary message function for heterogenenous graph (#3273)
* Added binary builtinMsgFunc forward() for heterograph

* Added backward for u_op_v

* Supports all binary builtin forward

* Supports binary message funcs with reduce func sum

* lint check

* removed import torch from unittest

* enabled GPU test

* lint check

* Fixed docstrings

* rename func get_hs_id

* edited comment

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
2021-09-07 10:01:33 -07:00
Jinjing Zhou c81efdf215 Remove deprecated kernels (#3316)
* remove

* remove

* fix

* remove

* remove
2021-09-06 13:59:41 +08:00
Rhett Ying 5a2451047f [Feature] enable to specify stream in UnitGraph::CopyTo() which could lead to async copy (#3297)
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2021-09-01 17:57:20 +08:00
xiang song(charlie.song) f4fe518ff7 [Feature] Add a HINT for the per edge type sampler of heterogeneous DistGraph that highlighting the etypes are sorted already. (#3260)
* pass cpp test

* distgraph use sorted edge flag.

* lint

* triger

* update test

Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-66.ec2.internal>
2021-09-01 15:36:01 +08:00
nv-dlasalle a53783c81d [Performance] Only copy and slice index's in subcolumn when data is used. (#2930)
* 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>
2021-08-30 19:17:25 -07:00
Da Zheng e5ed7adc12 [Distributed] Fix a bug in sampling an empty frontier (#3298)
* handle empty frontiers.

* fix lint.

* fix

Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-202.us-west-1.compute.internal>
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
2021-08-29 10:54:46 -07:00
nv-dlasalle 7f9279397a [Feature][DistDGL] Add NCCL support for range based partitions (#3213)
* Implement range based NDArrayPartition

* Finish implement range based partition support

* Add unit test

* Fix whitepace

* Add Kernel suffix

* Fix argument passing

* Add doxygen docs and improve variable naming

* Add unit test

* Add function for converting a partition book

* Add example to partition_op docs

* Fix dtype conversion for mxnet and tensorflow
2021-08-19 21:17:55 -07:00
nv-dlasalle f634950825 [Performance][Feature] Implement edge excluding in EdgeDataLoader on GPU (#3226)
* Update filter code

* Add unit tests

* Fixes

* Switch to indices

* Rename functions

* Fix linting

* Fix whitespace

* Add doc

* Fix heterograph

* Change workspace allocation

* Fix linting

* Fix docs in filter.py

* Add todo

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-08-19 12:24:15 -07:00
Quan (Andy) Gan a536772ed2 fix cuda 11.1 crashing bug (#3265) 2021-08-18 21:16:49 +08:00
Eric Kim ac01e88082 [Tools] In tools/launch.py, correctly pass all DGL client/server env vars if udf is a multi-command (#3245)
* Correctly pass all DGL client/server env vars if udf is a multi-command

* Refactor to use wrap_cmd_with_local_envvars() helper fn
2021-08-16 18:54:48 -07:00
xiang song(charlie.song) bcf92f6c21 [Bugfix] Distributed training can not work with dgl.dataloading.negative_sampler (#3215)
* Fix dist negative data loader bug

* upd

* Fix

Co-authored-by: Da Zheng <zhengda1936@gmail.com>
2021-08-06 20:41:20 +08:00
Eric Kim c40bbf4f33 [Tools] Refactor tools/launch.py to handle more python binary names (#3205)
* Refactors torch dist launcher udf-wrap code to handle more python versions

* minor changes
2021-08-02 17:31:02 +08:00
David Min c793593577 [Feature] Add multi-GPU UnifiedTensor unit test (#3184)
* Add pytorch-direct version

* remove

* Add multi-gpu unified tensor test for pytorch

* relocate verification step to each process

* reduce number of workers

* add parameter

Co-authored-by: shhssdm <shhssdm@gmail.com>
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-08-02 12:41:03 +08:00
Rhett Ying c4791fd46e [bugfix] fix default ntypes/etypes consistency between dgl.DGLGraph and dgl.graph (#3198) 2021-07-29 14:05:28 +08:00