提交

提交图

2937 次代码提交

作者 SHA1 备注 提交日期
Rhett Ying 2de80dde7d [DistTest] add python test of RPC (#4093)
* [DistTest] add python test of RPC

* remove return
2022-06-08 17:03:02 +08:00
Rhett Ying c1ff4c9b41 [DistTest] add basic pipeline for dist test across machines (#3984)
* [DistTest] add basic pipeline for dist test across machines

* move launch remote cmd to separate file

* add test for rpc

* fix function naming rule

Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2022-06-08 12:37:02 +08:00
ndickson-nvidia d92a4e8b64 [Bug] Fixed missing dgl.transforms.functional __all__ entries (#4089) 2022-06-08 09:31:44 +08:00
ndickson-nvidia eabcc58e41 [Bug][Feature] Added cublasGemm<__half> specialization (#3988) (#4029)
* * Added specialization of cublasGemm function for `__half` type, to try to address https://github.com/dmlc/dgl/issues/3988

* * Added USE_FP16 guard

* * Added test cases to test_segment_mm, to test newly-added FP16 specialization of cublasGemm

* * Replaced for loop in test_segment_mm with pytest.mark.parametrize, as recommended

Co-authored-by: Xin Yao <xiny@nvidia.com>
2022-06-07 16:00:02 +08:00
Tudor Andrei Dumitrascu 85c2ff7131 [Doc] Update link to correct destination. (#3966)
* Update link to correct destination.

* Update 4_rgcn.py

* Update 4_rgcn.py

* Update tutorials/models/1_gnn/4_rgcn.py

* Update tutorials/models/1_gnn/4_rgcn.py

* Update tutorials/models/1_gnn/4_rgcn.py

Co-authored-by: Rhett Ying <85214957+Rhett-Ying@users.noreply.github.com>
2022-06-07 09:56:34 +08:00
ndickson-nvidia ea44da50de [Bug] Added common operations for FP16 on older GPUs (#4079)
* * Added support for common operations on FP16 (`half` or `__half`) for older GPU architectures
* Fixed an issue with previous check for FP16 support

* * Removing FP16 type checks, since they should no longer be needed

* * Fixed AtomicAdd to be atomic for `float` and `double` for old GPU architectures.  Unfortunately, it seems that atomicCAS for unsigned short seems to be unavailable until architecture 70, so half will have to stay non-atomic on old GPUs.

* * Fixed non-atomic version of `AtomicAdd<half>` for older GPUs to return old value instead value of new
2022-06-07 01:48:33 +08:00
Quan (Andy) Gan 31a81438fc parallelize csr2coo (#4081)
Co-authored-by: Xin Yao <xiny@nvidia.com>
2022-06-06 15:14:25 +08:00
Xin Yao 6014623d8f wrap all cuda kernel calls with macro (#4066)
Co-authored-by: nv-dlasalle <63612878+nv-dlasalle@users.noreply.github.com>
Co-authored-by: Israt Nisa <neesha295@gmail.com>
2022-06-06 09:16:44 +08:00
Sai Kandregula a3ea4873d3 [Example] Remove Bias in Linear layer because of BatchNorm1d usage (#4071)
* typo fix in TUDataset docs

* remove bias in Linear layer because of BatchNorm1d

Co-authored-by: decoherencer <decoherencer@users.noreply.github.com>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-06-04 17:16:20 +08:00
Mufei Li 6a91d18151 [DGL-Go] Graph Property Prediction Pipeline (#3927)
* Update

* Update

* Update

* Fix

* Update

* Update

* Update

* Update

* Update

* Fix

* Update

* Update

* Update

* Fix

* Update

* Update

* update

* Update

* Update

* Update

* Fix

* Fix

* Update

* Update

* Update

* Update

* lr_scheduler

* Update

* Update

* Update

* Update

* Update

* Update

* Fix

* Fix

* Fix

* Fix

* Update

* Update

* Update

* Update

* Update

* Fix

* Update

* Update

* Update

* Update

* Fix

* Update

* Update

* Update

* Fix

* Fix

* Fix

* Update

* Update

* Fix

* Fix

* Update

* Update

* Update

* Update

* Update

* Update

* update

* CI

* Update

* Update

* Update

* Update

* Update

Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2022-06-04 15:43:34 +08:00
Chang Liu d31448dd24 [Bugfix] Fix GCMC examples (#4082)
* [Example][Bug] Fix GCMC examples

* Revert the change of model.py from #74f01405
2022-06-04 11:19:33 +08:00
RecLusIve-F 0f2ff47de6 [Example] Add BGRL example (#4077)
* Add BGRL example

* Update README.md

* Update utils.py

* Update

* Update utils.py
2022-06-03 23:13:30 +08:00
Sai Kandregula c9c79b4401 typo fix in TUDataset docs (#4056)
Co-authored-by: decoherencer <decoherencer@users.noreply.github.com>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-06-03 13:29:32 +08:00
Riju Mukherjee efd909e62e [NN] Enhance EGATConv branch (#4062)
* enhance EGATConv| nfeats as tuples

* egatconv modified for bipartite graphs

* modified docstrings

* added/modified unittests for EGATConv

* Update egatconv.py

* rectified lint errors

Co-authored-by: rijulizer <riju.mukherjee@gmail.com>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-06-03 11:53:10 +08:00
Xin Zhang 92063d88f0 fix indent in minibatch-custom-sampler.rst (#4063)
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-06-03 01:00:31 +08:00
RecLusIve-F 89655cfda2 [Dataset] Add WikiCS Dataset (#4035)
* Fix bugs & Update dataset

* Update

* Update wikics.py

* Update wikics.py

* Update test_data.py

* Update wikics.py

* Update wikics.py

* Update wikics.py

* update

* Update module.py

* Update dgl.data.rst

* Update wikics.py

* Update wikics.py

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-06-02 23:03:17 +08:00
Chang Liu 9e46423e4f [Bugfix] Fix cluster-gat examples (#4068)
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-06-02 21:39:59 +08:00
Mufei Li d9c25521bc [Data] AsGraphPredDataset (#4073)
* Update

* CI

* Update

* Update

* Fix

* Fix
2022-06-02 16:18:48 +08:00
Quan (Andy) Gan 9922f41f06 Change warning message for tensoradapter when not found (#4055)
* change warning message

* Update tensordispatch.cc
2022-05-29 02:04:31 +08:00
Quan (Andy) Gan 00c09b9f91 Revert "[bugfix] Explicitly unpin tensoradapter allocated arrays (#3997)" (#4061)
This reverts commit fdd1fe1908.
2022-05-28 20:44:20 +08:00
Quan (Andy) Gan c577dc9fc3 add sanity check (#4050) 2022-05-28 18:51:33 +08:00
Sai Kandregula 7ec165c2c5 default value typo fix in GlobalUniform negative sampler (#4060)
Co-authored-by: decoherencer <decoherencer@users.noreply.github.com>
2022-05-28 13:22:41 +08:00
Mufei Li bef993076e [Bugfix] Fix PinSAGE Benchmark (#4058)
* Update

* Update

* Update dgl.data.rst

* CI
2022-05-28 00:31:57 +08:00
nv-dlasalle 7a065a9c56 [Build][Tests] Enable FP16 for GPU builds in CI (#4030)
* Enable FP16 for GPU builds in CI

* Limit default GPU archs to pascal and above

* Disable FP16 dispatching for cuda architectures less than 60

* Fix linting

* Fix typos
2022-05-26 09:48:28 -07:00
彭齐荣 d1124b7bef [Example][BugFix] Fix Lightning GraphSAGE examples (dmlc#4046) (#4053) 2022-05-26 12:40:40 +08:00
Minjie Wang 3c129ad71f [Bugfix] Cython CAPI holding GIL causes deadlock when Python callback is asynchronous (#4036)
* cython nogil

* move APIs to internal and add unit test

* fix lint

* disable callback array test
2022-05-25 10:02:44 +08:00
Mufei Li 230b886ec5 [Bug fix] Misc Fix for Transforms and NN Modules (#4038)
* Update module.py

* Update utils.py

* Update utils.py

* Update utils.py

* Update module.py

* Update

* Update

* Update
2022-05-24 18:08:08 +08:00
Quan (Andy) Gan 744896e2d8 fix examples (#4016)
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-05-23 23:41:12 +08:00
Mufei Li bdaccc8270 [Bug Fix] Fix KeyError for rgcn-hetero Entity Classification w/ minibatch training (#4022)
* Update model.py

* Update entity_classify_mb.py
2022-05-23 20:25:01 +08:00
Feiyang(Vance) Chen d70a362dba Update shadow.py (#4034)
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-05-23 19:06:18 +08:00
nv-dlasalle 1425150459 Fix test naming (#4023)
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-05-23 17:21:06 +08:00
Da Zheng 7c598aac6c Revert "[Distributed Training Pipeline] Initial implementation of Distributed data processing step in the Dis… (#3926)" (#4037)
This reverts commit 4b87e47f15.
2022-05-23 14:42:28 +08:00
rudongyu 3fe5eea791 [NN] Label Propagation & Directional Graph Networks (#4017)
* add label propagation module

* fix prev bug in example

* add dgn

* fix linting and doc issues

* update label propagation & dgn

* update label propagation & dgn

* update example

* fix unit test

* fix agg heritage issue

* fix agg issue

* fix lint

* fix idx

* fix lp gpu issue

* Update

* Update

Co-authored-by: mufeili <mufeili1996@gmail.com>
2022-05-20 15:23:19 +08:00
Hao Yuan 6de7d5faa7 [Bugfix] Fix conditional judgment of cuda (#4026) (#4027) 2022-05-20 11:01:03 +08:00
kylasa 4b87e47f15 [Distributed Training Pipeline] Initial implementation of Distributed data processing step in the Dis… (#3926)
* Initial implementation of Distributed data processing step in the Distributed Training pipeline

Implemented the following:
1) Read the output of parmetis (node-id to partition-id mappings)
2) Read the original graph files
3) Shuffle the node/edge metadata and features
4) output the partition specific files in DGL format using convert_partition.py functionality
5) Graph meta data is serialized in json format on rank-0 machine.

* Bug Fixes identified during verification of the dataset

1. When sending out global-id lookups for non-local nodes, in the msg_alltoall.py, conditional filter was used to identify the indices in node_data which is incorrect. Replaced the conditional filter with intersect1d to find out the common node ids and appropriate indices which are later used to identify the needed information to communicate.

2. When writing the graph level json file in distributed processing, the edge_offset on non-rank-0 machines was starting from 0 instead of the appropriate offset. Now added code to start the edge(s) from correct starting offset instead of 0 always.

* Restructuring and consolidation of code

1) Fixed issue when running verify_mag_dataset.py, Now we read xxx_removed_edges.txt and add these edges to `edge_data`. This will ensure that the self-loops and duplicate edges are handling appropriately when compared to the original dataset.

2) Consolidated code into a fewer files and changed code to following the python naming convention.

* Code changes addressing code review comments

Following changes are made in this commit.
1) Naming convention is defined and code is changed accordingly. Definition of various global_ids are defined and how to read them is mentioned.
2) All the code review comments are addressed
3)Files are moved to a new directory with dgl/tools directory as per suggestion
4) README.md file is include and it contains detailed information about the Naming convention adopted by the code, high level overview of the algorithm used in data-shuffling, example command-line to use on a single machine.

* addressing github review comments

Made code changes addressing all the review comments from GitHub.

* Addressing latest code review comments

Addressed all the latest code reviewing comments. One of the major changes is treating the node and edge metadata as dictionary objects and removing all the python lists with numpy arrays.

* Update README.md

Text rendering corrections

* Addressed code review comments

Addressed code review comments for the latest code review

Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
2022-05-18 17:39:47 -07:00
Peiqi Yin cba465f2c8 [BugFix] hetero ogbn-mag full neighbor inference. (#4010)
* fix hetero ogbn-mag full neighbor inference.

* fix hetero

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-05-18 16:46:55 +08:00
Rhett Ying 53835bdb75 [Dist][BugFix] enable sampling on bipartite (#4014)
* [Dist][BugFix] enable sampling on bipartite

* add comments for tests
2022-05-18 10:14:54 +08:00
Xin Zhang 3dd54d5cae fix friendster dataset uasge (#4009)
Co-authored-by: Rhett Ying <85214957+Rhett-Ying@users.noreply.github.com>
2022-05-17 18:14:00 +08:00
Mufei Li de5543e3db Update functional.py (#4015) 2022-05-17 14:14:04 +08:00
paoxiaode bacf2ab457 change the curandState and launch dimension of CSRRowwiseSample kernel (#3990)
* Change the curand_init parameter

* Change the curand_init parameter

* commit

* commit

* change the curandState and launch dim of CSRRowwiseSample kernel

* commit

* keep  _CSRRowWiseSampleReplaceKernel in sync

Co-authored-by: nv-dlasalle <63612878+nv-dlasalle@users.noreply.github.com>
2022-05-17 12:54:48 +08:00
ndickson-nvidia e0e8736fa0 [Feature] Added floating-point conversion functions to dgl.transforms.functional (#3890)
* * Added half_(), float_(), and double_() functions to DGLHeteroGraph, HeteroNodeDataView, and HeteroEdgeDataView, for converting floating-point tensor data to float16, float32, or float64 precision

* * Extracted out private functions for floating-point type conversion, to reduce code duplication

* * Added test for floating-point data conversion functions, half_(), float_(), and double_()

* * Moved half_(), float_(), and double_() functions from HeteroNodeDataView and HeteroEdgeDataView to Frame class

* * Updated test_float_cast() to use dgl.heterograph instead of dgl.graph

* Added to CONTRIBUTORS.md

* * Changed data type conversion to be deferred until the data is accessed, to avoid redundant conversions of data that isn't used.

* * Addressed issues flagged by linter

* * Worked around a bug in the old version of mxnet that's currently used for DGL testing

* * Only defer Column data type conversion if there is a pending device transfer or index sampling to be done.  This is expected to be the desired behaviour based on discussions of a few use cases, as described in the comments.

* * Moved floating-point feature data conversion functions to dgl.transforms.functional
* Changed them from in-place behaviour to shallow copy (out-of-place) behaviour

* * Fixed linter issues

* * Removed lines that unintentionally added to_half, to_float, and to_double to DGLHeteroGraph
* Moved _init_api line to the end of the file again

* * Removed one of the two leading underscores from Frame.__astype_float, making it not fully private

Co-authored-by: nv-dlasalle <63612878+nv-dlasalle@users.noreply.github.com>
2022-05-16 18:17:15 -07:00
nv-dlasalle 1f2e696080 Prevent users from attempting to pin PyTorch non-contiguous tensors or views only encompassing part of tensor. (#3992)
* Disable pinning non-contiguous memory

* Prevent views from being converted for write

* Fix linting

* Add unit tests

* Improve error message for users

* Switch to pytest function

* exclude mxnet and tensorflow from inplace pinning

* Add skip

* Restrict to pytorch backend

* Use backend to retrieve device

* Fix capitalization in decorator

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2022-05-16 14:49:36 -07:00
nv-dlasalle fdd1fe1908 [bugfix] Explicitly unpin tensoradapter allocated arrays (#3997)
* Explicitly unpin tensoradapter allocated arrays

* Undo unrelated change

* Add unit test

* update unit test
2022-05-16 13:02:02 -07:00
Mufei Li 65b0b9e8c3 [Dataset & Transform] Synthetic Datasets for Explainability and SIGNDiffusion Transform (#3982)
* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Fix

* Update

* Update

* Update
2022-05-16 22:32:09 +08:00
Xin Yao 03024f9587 [Peformance] Remove unnecessary induced vertices in EdgeSubgraph (#3978)
* remove unnecessary induced vertices in EdgeSubgraph

* add unit test
2022-05-16 15:03:42 +08:00
Quan (Andy) Gan 4c14781427 [Optimization] Memory consumption optimization on index shuffling in dataloader (#3980)
* fix

* revert

* Update dataloader.py
2022-05-14 02:11:01 +08:00
Rhett Ying 65e6b04d8b [Build] enable USE_AVX in CI and regression tests (#4004) 2022-05-12 21:29:11 -07:00
nv-dlasalle 4177f729fc Fix launch parameters index select kernel in sparse push (#3524) 2022-05-12 08:54:26 -07:00
Vikram Sharma cb39eae1c4 Supporting DGL build with arch specific optimization (#3996)
Based on the pull request: https://github.com/dmlc/dgl/pull/3983
2022-05-11 12:38:42 -07:00
Vikram Sharma 1a6806e26d Make USE_AVX flag default value OFF (#3983)
With the emergence of new ISA (like ARM and RISCV) retaining USE_AVX ON default makes the default build instructions fail. Fundamentally DGL does not require the use of AVX for functional working. AVX is mainly needed when to enable optimization. So proposal is to default turn it off and then later during build instructions, folks with AVX capabilities can enable with 
`cmake .. -DUSE_AVX=ON`

Co-authored-by: Zihao Ye <expye@outlook.com>
2022-05-11 02:25:39 -07:00