提交

提交图

3215 次代码提交

作者 SHA1 备注 提交日期
Da Zheng 8d14a739bc fix. (#3652)
Co-authored-by: Ubuntu <ubuntu@ip-172-31-30-164.us-west-2.compute.internal>
2022-01-15 09:12:13 +08:00
Da Zheng 2dd114ed24 [Distributed] Measure peak memory size in graph partitioning (#3633)
* measure peak memory size.

* fix lint.

Co-authored-by: Ubuntu <ubuntu@ip-172-31-30-164.us-west-2.compute.internal>
2022-01-13 15:41:53 -08:00
Quan (Andy) Gan d03138e2cb [Bugfix?] Remove simple graph requirement for to_bidirected (#3630)
* remove simple graph requirement

* doc

Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2022-01-13 18:46:06 +08:00
Andrew 7f83d7456a [Feature] method for merging graphs into graphs (#3522)
* Added graph updating method and tests. resolves #3488

* removed spaces around named args

* customizing indices for graph's idtype and ctx

* changing torch ops to generic backend ops

* changing tensors to np arrays

* created dgl merge function and tests

* Changed per-graph edge updates to single ag update

* removed update method and tests

* reformat newlines & spaces

* concatenating in one-shot instead of iteratively

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2022-01-12 00:20:22 +08:00
Rhett Ying 4b295d6080 [FIX] fix compute/test_data.py::test_csvdataset (#3643) 2022-01-11 16:41:18 +08:00
Quan (Andy) Gan 6dce19d8ff [Build] Fix compiler crashes when system's libuv-devel is older than required (#3640) 2022-01-11 16:08:12 +08:00
Rhett Ying 41124b3284 [Fix] Do not import DGLCSVDataset in default in case of dependency issue (#3642) 2022-01-11 15:25:03 +08:00
MaoYuan Xian b002f8f99f Pass the std:min argument's type, to avoid the compilation error. (#3637)
* Pass the std:min argument's type, to avoid the compilation error.

* Update parallel_for.h

* Update negative_sampling.cc

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2022-01-11 14:46:24 +08:00
Rhett Ying 37467e2589 [Feature][Dist] change TP::Receiver/TP::Sender for multiple connections (#3574)
* [Feature] enable TP::Receiver wait for any numbers of senders

* fix random unit test failure

* avoid endless future wait

* fix unit test failure

* fix seg fault when finalize wait in receiver

* [Feature] refactor sender connect logic and remove unnecessary sleeps in unit tests

* fix lint

* release RPCContext resources before process exits

* [Debug] TPReceiver wait start log

* [Debug] add log in get port

* [Debug] add log

* [ReDebug] revert time sleep in unit tests

* [Debug] remove sleep for test_distri,test_mp

* [debug] add more log

* [debug] add listen_booted_ flag

* [debug] restore commented code for queue

* [debug] sleep more in rpc_client

* restore change in tests

* Revert "restore change in tests"

This reverts commit 41a18926d181ec2517069389bfc41de2cc949280.

* Revert "[debug] sleep more in rpc_client"

This reverts commit a908e758eabca0a6ce62eb2e59baea02a840ac67.

* Revert "[debug] restore commented code for queue"

This reverts commit d3f993b3746e6bb6e2cc2f90204dd7e9461c6301.

* Revert "[debug] add listen_booted_ flag"

This reverts commit 244b2167d94942ff2a0acec8823b974975e52580.

* Revert "[debug] add more log"

This reverts commit 4b78447b0a575a824821dc7e25cca2246e6e30e2.

* Revert "[Debug] remove sleep for test_distri,test_mp"

This reverts commit e1df1aadcc8b1c2a0013ed77322ac391a8807612.

* remove debug code

* revert unnecessary change

* revert unnecessary changes

* always reset RPCContext when get started and reset all data

* remove time.sleep in dist tests

* fix lint

* reset envs before each dist test

* reset env properly

* add time sleep when start each server

* sleep for a while when boot server

* replace wait_thread with callback

* fix lint

* add dglconnect handshake check

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2022-01-11 08:55:36 +08:00
Rhett Ying 95c0ff6302 [Feature] add CSVDataset to load data from csv files (#3547)
* [Feature] add CSVDataset to load data from csv files

* add CSVDataset class file

* install pyyaml when running unit tests

* install pandas for unit tests

* utilize pydantic for YAML config check

* generate yaml and csv files during test

* make more keys as optional

* remove/rename several keys in yaml config and more tets though looks a bit clumsy

* fix test failure on mxnet

* pass /path/to/dataset instead of yaml path

* code refinement

* code refine

* change several yaml field such as feat and graph_id

* merge graph generation logic

* refine code

* Refactored_first_version

* DGLCSVDataset works for single heterograph

* add more tests

* fix test failure in mxnet

* add docstring

* use list comprehension for dict

* fix version in YAML

* refine data length assert

* use dict.pop directly

* remove ambiguous variable names

* refine graph id missing logic

* refine graph create call

* separate node/edge/graph data parser

* remove separator in DefaultDataParser

* refine validation error log for yaml field

* minor check

* refine code via dict.get()

* move load_from_csv into Node/Edge/GraphData

* move _parse_node/edge/graph_data into Node/Edge/GraphData

* refine id-related fields check

* check duplicate ntypes/etypes when load yaml

* refine docstring
2022-01-10 17:21:57 +08:00
Quan (Andy) Gan c04b5bc74c disabling cuda11 apis (#3635) 2022-01-10 16:10:21 +08:00
Quan (Andy) Gan 90f10b31cb [Feature] Negative sampling (#3599)
* first commit

* a bunch of fixes

* add unique

* lint

* lint

* lint

* address comments

* Update negative_sampler.py

* fix

* description

* address comments and fix

* fix

* replace unique with replace

* test pylint

* Update negative_sampler.py
2022-01-07 18:26:14 +08:00
Jinjing Zhou 01bec4a31d Fix #3623 (#3628) 2022-01-07 18:23:26 +08:00
Quan (Andy) Gan b226fe014e [Windows] Support NDArray in shared memory on Windows (#3615)
* support shared memory on windows

* Update shared_mem.cc
2022-01-04 18:51:14 +08:00
RONANKI SWAMY SRIHARSHA 9c1065479e [NN] Added activation function as an optional parameter to GINConv (#3565)
* 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>
2021-12-29 14:01:01 +08:00
xcwan 4889c57822 Add 'nccl' backend in train_dist.py and fix pad_data function cuda bug (#3607)
* Add nccl backend  and fix pad_data function cuda bug

* Update train_dist.py

* Update train_dist.py

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-12-24 18:45:01 +08:00
Zak Jost 42897c3652 [Example] An example that re-creates the PyG OGB performance on ogbnmag (#3563)
* Adding initial files of example

* Removing old timing code

* Improving doc strings and fixing some minor bugs

* Merging from upstream and addressing PR comments

Co-authored-by: zakjost <jostza@amazon.com>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-12-20 22:22:25 +08:00
Jinjing Zhou 421c362266 Update train_dist.py (#3594)
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-12-20 20:24:45 +08:00
Israt Nisa 5eca59d8dd [Feature] Add builtin binary op support in apply_edges() for heterogeneous graph (#3598)
* add unittest for binary ops

* Changed loss func

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-12-20 15:46:41 +08:00
Israt Nisa 88f5a8bec8 [Feature] Add heterogeneous graph API for edge_softmax (#3571)
* edge_softmax_hetero forwar+cpu+norm=dst

* convert eids to list

* addedunittest

* added unittest

* added backward. Not tested correctness

* minor

* changed reducer to max from sum

* bugfix

* docstring

* add GPU unittest

* output converted to dict from tuple

* lint check

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-12-19 13:51:51 -05:00
hirayaku 25538ba421 Fix CopyVectorToNDArray in src/c_api_common.h (#3597)
* fix CopyVectorToNDArray

* Fix lint

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-12-19 19:58:19 +08:00
Jinjing Zhou a62f2c14f6 [CI] Increase CI cpu machine cpus (#3595) 2021-12-17 18:18:19 +08:00
Zeyan Li 李则言 6418c1c541 fix reducer qualname and name to support pickle (#3540) 2021-12-17 16:16:15 +08:00
mszarma 4bb94b1559 [DOC] Fix typo in CPU best practices section (#3587) 2021-12-17 15:57:23 +08:00
Israt Nisa 6c81634b29 [Bugfix] Fixes wrong output in multi_update_all for reduce op max/min (Issue#3564)) (#3581)
* fixed bug

* added  in test cases

* unittest resolved

* bugfix

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-12-17 08:54:15 +08:00
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
Vasimuddin Md 78e0dae693 [DistGNN, Graph partitioning] Libra partition (#3376)
* added distgnn plus libra codebase

* Dist application codes

* added comments in partition code. changed the interface of partitioning call.

* updated readme

* create libra partitioning branch for the PR

* removed disgnn files for first PR

* updated kernel.cc

* added libra_partition.cc and moved libra code from kernel.cc to libra_partition.cc

* fixed lint error; merged libra2dgl.py and main_Libra.py to libra_partition.py; added graphsage/distgnn folder and partition script.

* removed libra2dgl.py

* fixed the lint error and cleaned the code.

* revisions due to PR comments. added distgnn/tools contains partitions routines

* update 2 PR revision I

* fixed errors; also improved the runtime by 10x.

* fixed minor lint error

* fixed some more lints

* PR revision II changed the interface of libra partition function

* rewrite docstring

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-12-15 10:02:31 +08:00
Jinjing Zhou 02880e9f86 Fix unnecessary trigger of lazy copy (#3585)
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-12-13 17:11:03 +08:00
ZZy979 7273a1661e [Doc] Fix docstring of MultiLayerNeighborSampler (#3579)
Make the default value of parameter replace in docstring consistent with code

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-12-13 17:10:46 +08:00
schmidt-ju 5f4c879399 Fix output dimensions of residual connection for GATv2Conv (#3584)
Number of heads needs to be considered for the transformation of the destination features. Otherwise this will crash if residual==True.
2021-12-13 12:41:30 +08:00
Muhyun Kim a2241faf47 [Doc] fixing link and format in Korean User Guide (#3583) 2021-12-09 16:50:24 +08:00
Tianqi Zhang (张天启) d798280f19 [Bugfix] Fix SetDevice issue for NeighborMatching (#3341)
* fix setdevice issue

* change to curand device API

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-12-08 20:16:11 +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
Jinjing Zhou 987db374fd Fix for distributed training (#3542)
* tmp fix

* add description
2021-12-06 18:35:29 +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
xiang song(charlie.song) 156c17f3a6 [BugFix] Fix a bug of distributed SparseAdam optimizer. (#3561)
* Fix dist user embed bug

* Add some comments

* trigger

Co-authored-by: xiangsx <xiangsx@ip-10-3-83-86.eu-west-1.compute.internal>
2021-12-03 21:29:25 -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
Jinjing Zhou 769718dfcf Bring back thrust for backward compatibility (#3562) 2021-12-03 16:30:35 +08:00
Jinjing Zhou 9f445a1362 Fix removed submodule (#3560) 2021-12-03 01:28:32 +08:00
Muhyun Kim 67f93144ed user guide korean version (#3559)
Co-authored-by: zhjwy9343 <6593865@qq.com>
2021-12-03 00:09:47 +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
Israt Nisa 490c5a8d72 [Model] RGCN with new heterograph API (#3025)
* rgcn with new heterograph API

* added new apply_edge()

* optimized forward pass

* renaming from *hetero to *heteroAPI

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
Co-authored-by: Da Zheng <zhengda1936@gmail.com>
2021-11-30 12:59:35 -08:00
ayasar70 66a5455597 [Performance][GPU] Improve csr2coo.cu:_RepeatKernel() for more robust GPU usage (#3537)
* 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

* working on repeat

* updating repeat kernel

* removing unnecessary parameter

* cleaning commented line

* cleaning time measures

* cleaning time measurement lines

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-30 11:08:57 -08:00
lixiaobai 44f0b5fe40 [PinSAGE samper] Adjust the APIs for PinSAGESamper (#3529)
* 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>
2021-11-30 01:19:57 +08:00
Jinjing Zhou da53275a17 Fix tgn example (#3543) 2021-11-29 14:58:38 +08:00
Jinjing Zhou 03c2c6d145 Fix #3497 (#3546) 2021-11-29 14:58:10 +08:00
esang a7b5085a5d Add a note about the order of TUDataset (#3549) 2021-11-28 00:12:29 +08:00