文件历史

148 次代码提交

作者 SHA1 备注 提交日期
Quan (Andy) Gan ef1b7175d5 fix compatibility with PyTorch 1.10 (#3454) 2021-11-04 08:20:44 +00:00
Jinjing Zhou 87a4cb363a Fix #3437 (#3440) 2021-11-04 08:20:22 +00:00
Cheng Wan c7f94dbf5a [BugFix] Avoid Memory Leak Issue in PyTorch Backend (#3386)
* try to avoid memory leak

* try to avoid memory leak

* avoid memory leak with no hope

* Revert "avoid memory leak with no hope"

This reverts commit c77befe9479f46758e744642f66dd209b50eef7d.

* no message

* Update sparse.py

* Update tensor.py

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-11-04 08:18:40 +00:00
nv-dlasalle a63ad14bda [PyTorch][Bugfix] Use uint8 instead of bool in pytorch to be compatible with nightly version (#3406)
* Use uint8 instead of bool in pytorch

* Handle type aliases

* Fix syntax error

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-11-04 08:15:46 +00:00
Da Zheng 223795eb82 [Distributed] Distributed heterograph training (#3069)
* support hetero RGCN.

* fix.

* simplify code.

* sample_neighbors return heterograph directly.

* avoid using to_heterogeneous.

* compute canonical etypes in advance.

* fix tests.

* fix.

* fix distributed data loader for heterograph.

* use NodeDataLoader.

* fix bugs in partitioning on heterogeneous graphs.

* fix lint.

* fix tests.

* fix.

* fix.

* fix bugs.

* fix tests.

* fix.

* enable coo for distributed.

* fix.

* fix.

* fix.

* fix.

* fix.

Co-authored-by: Ubuntu <ubuntu@ip-172-31-71-112.ec2.internal>
Co-authored-by: Zheng <dzzhen@3c22fba32af5.ant.amazon.com>
2021-11-02 09:18:15 +00:00
Konstantinos Vandikas eca9b8ef08 allow for configuring default_dir (#3277)
* 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>
2021-08-26 17:32:16 +00:00
Zihao Ye 92550b3b03 [perf] Remove activation cache if not required. (#3258)
* upd

* fix

* upd
2021-08-20 02:44:06 +00:00
Lu Lu 35c898c9e9 Bug fix: change th to tf (#3182)
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-08-20 02:14:19 +00:00
Jingcheng Yu b379dbd6c8 Optimize dist_graph/_split_even_to_part memory usage (#3132)
Co-authored-by: yujingcheng02 <yujingcheng02@meituan.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-07-15 11:51:56 +08:00
Israt Nisa 188152b853 [Feature] Add Heterograph support on Python for builtin unary msg functions (copy_u, copy_e) (#2989)
* heterograph for binary func

* Added SDDMM support

* Added unittest

* added binary test cases

* unary mfuncs works

* Fixed lint err

* lint check and others

* link check

* fixed import *_hetero issue

* lint check

* replace torch with dgl backend

* lint cehck

* removed torch from test

* skip mxnet unittest

* skip gpu test

* Remove unused/duplicated code

* minor

* changed data structure of ndata and edata

* link check

* reorganized

* minor lint

* minor lint

* raise error for udf func

* lint check

* fix for CUDA 10.1

* add a note for future cross-type max/min reducing

* Add support CUDA < 11

* lint check

* tidied C code

* remove dummy GSDDMM_hetero backward implementation

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
Co-authored-by: Quan Gan <coin2028@hotmail.com>
2021-07-06 20:41:58 +08:00
Quan (Andy) Gan acd21a6d60 [Feature] Support direct creation from CSR and CSC (#3045)
* csr and csc creation

* fix

* fix

* fixes to adj transpose

* fine

* raise error if indptr did not match number of nodes

* fix

* huh?

* oh

Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2021-06-25 10:05:47 +08:00
nv-dlasalle 17d604b5c7 [Feature] Allow using NCCL for communication in dgl.NodeEmbedding and dgl.SparseOptimizer (#2824)
* 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>
2021-06-10 21:19:00 -07:00
Quan (Andy) Gan 657c220de7 [Feature] Python interface for adjacency matrix summation and multiplication (#2893)
* test commit

* fixes

* oops

* add docs

* lint

* why does it say I have a trailing whitespace

* oh ok

* fixes

* why there's an invalid argument error

* address comments

* fix

* address comments
2021-05-17 19:47:02 +08:00
Quan (Andy) Gan 2a3a9a0011 [Bugfix] to() method ignores PyTorch default CUDA device (#2897) 2021-05-08 13:23:30 +08:00
nv-dlasalle e70138bbe4 [Performance][GPU] Enable GPU uniform edge sampling (#2716)
* Start on uniform GPU sampling

* Save more work

* Get cu file compiling

* Update sampling

* More changes

* Get GPU sampling for uniform probabilities solved

* Fix batch tensor migration

* Fix

* update kernels

* expand blocking

* Undo testing change

* Cut down on sampling overhead

* Fix replacement

* Update unit tests

* Add option to gpu sample in graphsage

* Copy only csc to gpu

* Add ogbn support

* Fix linting

* Remove nvtx from sample

* Improve documentation and error checking

* Expand documentation

* Update assert checking

* delete extra space

* Use standard dataloader when dataset is a dictionary

* ogb -> ogbn

* Fix edge selection determinism

* Fix typos

* Remove nvtx

* Add comment for self.fanout_arrays and assert

* Fix linting

* Migrate to scalarbatcher

* Fix indentation

* Fix batcher

* Fix indexing

* Only use databatcher for GPU

* Convert to DGL NDArray to PyTorch Tensor

* Add optimization for PyTorch's F.tensor() for list of GPU tensors

Co-authored-by: Da Zheng <zhengda1936@gmail.com>
2021-04-14 18:55:09 -07:00
Zihao Ye e6bf54cdcb [Feature] Support aggregate multiple edge features in to_simple. (#2623)
* upd

* fix

* upd

* upd

* upd

* upd

* upd

* upd

* upd

* upd

* upd

* fix

* refactor

* upd test

* large feat_len or n in segment reduce

* lint
2021-02-21 10:05:42 +08:00
Zihao Ye cf8a3fb305 [hotfix] Address the performance issue of topk. (#2628)
* upd

* fix

* upd

* upd

* udp

* upd

* upd

* upd

* upd

* upd

* upd

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-02-11 00:00:39 +08:00
Zihao Ye fb4a0508c6 [bugfix] Solve the boundary issue in backward function of segment sum (#2610)
* upd

* trigger

* upd
2021-02-03 18:50:07 +08:00
Zihao Ye fb3c07094f Revert part of #2563 (#2584) 2021-01-28 14:53:55 +08:00
Minjie Wang 878acdb0fc Revert "Refactor code for retaining formats in message-passing. (#2570)" (#2583)
This reverts commit a613ad8806.
2021-01-28 14:04:07 +08:00
Zihao Ye 7bab1365e2 [feature] Supporting half precision floating data type (fp16). (#2552)
* add tvm as submodule

* compilation is ok but calling fails

* can call now

* pack multiple modules, change names

* upd

* upd

* upd

* fix cmake

* upd

* upd

* upd

* upd

* fix

* relative path

* upd

* upd

* upd

* singleton

* upd

* trigger

* fix

* upd

* count reducible

* upd

* upd

* upd

* upd

* upd

* upd

* upd

* upd

* upd

* only keep related files

* upd

* upd

* upd

* upd

* lint

* lint

* lint

* lint

* pylint

* upd

* upd

* compilation

* fix

* upd

* upd

* upd

* upd

* upd

* upd

* upd doc

* refactor

* fix

* upd number

Co-authored-by: Zhi Lin <linzhilynn@gmail.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-42-78.us-east-2.compute.internal>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-21-156.us-east-2.compute.internal>
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-01-28 11:21:58 +08:00
xiang song(charlie.song) a7e941c379 [Feature] Add support for sparse embedding (#2451)
* Add sparse embedding for dgl and update rgcn example

* upd

* Fix

* Revert "Fix"

This reverts commit 4da87cdfb8b8c3506b7fc7376cd2385ba8045c2a.

* Fix

* upd

* upd

* Fix

* Add unitest and update impl

* fix

* Clean up rgcn example code

* upd

* upd

* update

* Fix

* update score

* sparse for sage

* remove model sparse

* upd

* upd

* remove global norm

* revert delete model_sparse.py

* update according to comments

* Fix doc

* upd

* Fix test

* upd

* lint

* lint

* lint

* upd

* upd

* clean up

Co-authored-by: Ubuntu <ubuntu@ip-172-31-56-220.ec2.internal>
2021-01-28 00:26:49 +08:00
Zihao Ye a613ad8806 Refactor code for retaining formats in message-passing. (#2570) 2021-01-25 16:55:16 +08:00
Da Zheng 25ac334403 [Distributed] Heterogeneous graph support (#2457)
* Distributed heterograph (#3)

* heterogeneous graph partition.

* fix graph partition book for heterograph.

* load heterograph partitions.

* update DistGraphServer to support heterograph.

* make DistGraph runnable for heterograph.

* partition a graph and store parts with homogeneous graph structure.

* update DistGraph server&client to use homogeneous graph.

* shuffle node Ids based on node types.

* load mag in heterograph.

* fix per-node-type mapping.

* balance node types.

* fix for homogeneous graph

* store etype for now.

* fix data name.

* fix a bug in example.

* add profiler in rgcn.

* heterogeneous RGCN.

* map homogeneous node ids to hetero node ids.

* fix graph partition book.

* fix DistGraph.

* shuffle eids.

* verify eids and their mappings when loading a partition.

* Id map from homogneous Ids to per-type Ids.

* verify partitioned results.

* add test for distributed sampler.

* add mapping from per-type Ids to homogeneous Ids.

* update example.

* fix DistGraph.

* Revert "add profiler in rgcn."

This reverts commit 36daaed8b660933dac8f61a39faec3da2467d676.

* add tests for homogeneous graphs.

* fix a bug.

* fix test.

* fix for one partition.

* fix for standalone training and evaluation.

* small fix.

* fix two bugs.

* initialize projection matrix.

* small fix on RGCN.

* Fix rgcn performance (#17)

Co-authored-by: Ubuntu <ubuntu@ip-172-31-62-171.ec2.internal>

* fix lint.

* fix lint.

* fix lint.

* fix lint.

* fix lint.

* fix lint.

* fix.

* fix test.

* fix lint.

* test partitions.

* remove redundant test for partitioning.

* remove commented code.

* fix partition.

* fix tests.

* fix RGCN.

* fix test.

* fix test.

* fix test.

* fix.

* fix a bug.

* update dmlc-core.

* fix.

* fix rgcn.

* update readme.

* add comments.

Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-202.us-west-1.compute.internal>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-9-132.us-west-1.compute.internal>
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-62-171.ec2.internal>

* fix.

* fix.

* add div_int.

* fix.

* fix.

* fix lint.

* fix.

* fix.

* fix.

* adjust.

* move code.

* handle heterograph.

* return pytorch tensor in GPB.

* remove some tests in example.

* add to_block for distributed training.

* use distributed to_block.

* remove unnecessary function in DistGraph.

* remove distributed to_block.

* use pytorch tensor.

* fix a bug in ntypes and etypes.

* enable norm.

* make the data loader compatible with the old format.

* fix.

* add comments.

* fix a bug.

* add test for heterograph.

* support partition without reshuffle.

* add test.

* support partition without reshuffle.

* fix.

* add test.

* fix bugs.

* fix lint.

* fix dataset.

* fix for mxnet.

* update docstring.

* rename to floor_div

* avoid exposing NodePartitionPolicy and EdgePartitionPolicy.

* fix docstring.

* fix error.

* fixes.

* fix comments.

* rename.

* rename.

* explain IdMap.

* fix docstring.

* fix docstring.

* update docstring.

* remove the code of returning heterograph.

* remove argument.

* fix example.

* make GraphPartitionBook an abstract class.

* fix.

* fix.

* fix a bug.

* fix a bug in example

* fix a bug

* reverse heterograph sampling.

* temp fix.

* fix lint.

* Revert "temp fix."

This reverts commit c450717b9f578b8c48769c675f2a19d6c1e64381.

* compute norm.

* Revert "reverse heterograph sampling."

This reverts commit bd6deb7f52998de76508f800441ff518e2fadcb9.

* fix.

* move id_map.py

* remove check

* add more comments.

* update docstring.

Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-202.us-west-1.compute.internal>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-9-132.us-west-1.compute.internal>
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-62-171.ec2.internal>
2021-01-24 19:18:00 -08:00
Zihao Ye aa884d43b6 [doc][fix] Improve the docstring and fix its behavior in DGL's kernel (#2563)
* upd

* fix

* lint

* fix

* upd
2021-01-25 00:18:57 +08:00
Jinjing Zhou 917a755291 [Fix] fix version check (#2544) 2021-01-19 19:35:43 +08:00
Zihao Ye f960468f50 [feature] APIs for manually set batch_num_nodes and batch_num_edges (#2430)
* wip

* udp

* upd

* fix typo

* lint

* lint

* upd

* upd

* lint

* lint

* upd

* upd

* tftest

* fix

* fallback numpy

* fix tf

* docstring

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-01-04 23:43:58 +08:00
Quan (Andy) Gan e805470101 addressing post-merge comments (#2455) 2020-12-26 17:58:15 +08:00
Quan (Andy) Gan 9a7235faf2 [Performance] Use allocator from PyTorch if possible (#2328)
* first commit

* some thoughts

* move around

* more commit

* more fixes

* now it uses torch allocator

* fix symbol export error

* fix

* fixes

* test fix

* add script

* building separate library per version

* fix for vs2019

* more fixes

* fix on windows build

* update jenkinsfile

* auto copy built dlls for windows

* lint and installation guide update

* fix

* specify conda environment

* set environment for ci

* fix

* fix

* fix

* fix again

* revert

* fix cmake

* fix

* switch to using python interpreter path

* remove scripts

* debug

* oops sorry

* Update index.rst

* Update index.rst

* copies automatically, no need for this

* do not print message if library not found

* tiny fixes

* debug on nightly

* replace add_compile_definitions to make CMake 3.5 happy

* fix linking to wrong lib for multiple pytorch envs

* changed building strategy

* fix nightly

* fix windows

* fix windows again

* setup bugfix

* address comments

* change README
2020-12-25 13:57:51 +08:00
Mufei Li 492ad9be81 [Fix] Avoid Overloading Nonzero for PyTorch Backend (#2434)
* Update gatedgraphconv.py

* Update entity_classify.py

* Update data-process.rst

* Update reading_data.py

* Update data-process.rst

* Update utils.py

* Update knowledge_graph.py

* Update entity_classify.py

* Update rdf.py

* Update entity_classify_mb.py

* Update test_classify.py

* Update tensor.py

* Update sparse.py

* Update entity_classify_mp.py

* Update 6_line_graph.py
2020-12-20 13:12:17 +08:00
Zihao Ye 6b02babbad [doc] Add docstring for segment reduce. (#2375) 2020-11-27 18:04:13 +08:00
Zihao Ye 58775ada1f Remove redundant print information in #2361 (#2362) 2020-11-23 03:41:58 +08:00
Zihao Ye 3adbfa1812 [Performance] Use segment operators for graph readout. (#2361)
* upd

* upd

* update

* upd

* upd

* upd

* fix

* lint

* lint

* pylint

* doc
2020-11-23 01:45:33 +08:00
Xiangkun Hu 5f19876358 [Bugfix] GINDataset check whether labels are all valid (#2319)
* PPIDataset

* Revert "PPIDataset"

This reverts commit 264bd0c960cfa698a7bb946dad132bf52c2d0c8a.

* check whether the original labels are valid

* add unit test for gin dataset

* bug of asscalar in mxnet<=1.6

* mxnet<=1.6 asscalar requires ndarray to be shaped (1,)

* skip gpu while testing datasets

* Update test_data.py

* test of gin dataset takes too much time
2020-11-05 09:35:10 +08:00
nv-dlasalle c6890c231a [Performance] In HeteroNodeView, build arange on target device, instead of on CPU and copying it (#2266)
* Build arange on target device

* Utilize arange device in viewpy:HeteroNodeView.__call__

* Work around uint64 error in TF to_dlpack

* Restore else clause

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
Co-authored-by: Da Zheng <zhengda1936@gmail.com>
2020-11-02 14:03:26 -08:00
Zihao Ye c341520d5b [bugfix] Fix the behavior of min/max reducer for 1-dim dta. (#2250)
* udp

* add test

* udp

* fix mxnet
2020-09-29 17:27:16 +08:00
Quan (Andy) Gan 7d8522a29f [Bug] fix cumsum on an empty array with prepend_zero returning an empty array (#2179)
* fix cumsum

* udp

Co-authored-by: Zihao <expye@outlook.com>
2020-09-11 18:23:44 +08:00
Zihao Ye cbd55eb12f [performance] Batch DGLGraph in C++ end. (#2155)
* upd

* upd

* upd

* upd

* upd

* upd

* upd

* upd

* upd

* upd

* upd

* fix

* upd

* upd

* upd

* upd

* fix

* upd

Co-authored-by: VoVAllen <jz1749@nyu.edu>
2020-09-11 02:54:27 +08:00
Zihao Ye 45b610c49a fix edge_softmax (#2160)
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2020-09-09 14:19:43 +08:00
Quan (Andy) Gan 2ce426d956 [Bug] add_edges() crashes if the input tensor is empty (#2100)
* [Bug] add_edges() crashes if the input tensor is empty

* lint

* fix
2020-08-24 16:04:41 +08:00
Jinjing Zhou 35e25914ad Update version check of PyTorch to 1.5 (#2079) 2020-08-20 21:33:29 +08:00
Quan (Andy) Gan 63e2ba23c6 [WIP][Kernel] Set the built-in reduce result of zero-degree nodes to 0 in C (#2017)
* test idea

* cuda kernels

* lint and fixes

* lint

* change to another strategy

* use infinity

* fix

Co-authored-by: Zihao Ye <expye@outlook.com>
2020-08-14 22:59:24 +08:00
Zihao Ye 6294677f8a [hotfix] Set reduce results to all zero for nodes with zero in-degrees. (#2011) 2020-08-13 01:20:56 +08:00
Quan (Andy) Gan f5eb80d221 [Feature] Edge DataLoader for edge classification & link prediction (#1828)
* clean commit

* oops forgot the most important files

* use einsum

* copy feature from frontier to block

* Revert "copy feature from frontier to block"

This reverts commit 5224ec963eb6a3ef1b6ab74d8ecbd44e4e42f285.

* temp fix

* unit test

* fix

* revert jtnn

* lint

* fix win64

* docstring fixes and doc indexing

* revert einsum in sparse bidecoder

* fix some examples

* lint

* fix due to some tediousness in remove_edges

* addresses comments

* fix

* more jtnn fixes

* fix
2020-08-11 18:00:58 +08:00
Zihao Ye 18bfec24cf [hotfix] Refactor edge softmax module (#1967)
* upd

* upd

* upd

* upd

* upd

* upd

* upd

* upd
2020-08-07 23:50:12 +08:00
Minjie Wang 22167f7203 [Refactor] Enable new kernel in all message passing APIs (#1953)
* WIP: frame refactor

* new frame

* simple update_all builtin

* move all subgraph routines into the same file

* sddmm & spmm schedule; node & edge udf

* degree bucketing

* some tricky 0deg corner cases

* bug in frame append

* merge test_hetero_basics and test_basics

* some code rearange

* fix test_heterograph

* add mean spmm

* enable all builtin combinations

* pass gpu test

* pass pytorch tests

* wip

* fix some pt debugging codes

* fix bug in mxnet backward

* pass all mxnet utests

* passed tf tests

* docstring

* lint

* lint

* fix broadcasting bugs

* add warning and clamp for mean reducer

* add test for zero-degree mean

* address comments

* lint

* small fix
2020-08-07 15:40:25 +08:00
xiang song(charlie.song) f9bde91fbd [hotfix] Remove dead code (#1942)
* Remove dead code

* Fix

Co-authored-by: Ubuntu <ubuntu@ip-172-31-51-214.ec2.internal>
2020-08-05 23:16:46 +08:00
Zihao Ye c801a164ee [hotfix] Allow broadcastable expand in the backward phase of gspmm (#1939)
* upd

* upd

* upd

* upd

* upd

* trigger

* simplify unittest

* patch-sp

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2020-08-05 17:02:25 +08:00
Zihao Ye a28bfa9f5f [hotfix] Activate kernel unittest for tensorflow (#1895)
* upd

* upd

* upd

* upd

* upd

* trigger

* simplify unittest

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2020-07-31 19:57:53 +08:00
Minjie Wang 444becf00a [Misc] Move many deprecated codes to the deprecate folder (#1893)
* some file movements

* move some codes to deprecated

* more deprecation

* lint

* remove useless test
2020-07-30 18:17:33 +08:00