文件历史

898 次代码提交

作者 SHA1 备注 提交日期
Quan (Andy) Gan 3b0c0cec46 enable sparse on windows and mac (#5277)
* enable sparse on windows and mac

* that was stupid

* let's see what's going on..

* [Sparse] Fix the import error on Mac OS.

When using template functions that are defined in source files from DGL,
the loader of MacOS somehow cannot find their definitions. This fix simply
avoids depending on template functions from DGL headers.

With this fix, the sparse tests all pass on the MAC environment.

* ok this is the problem

* make errors clearer

* uh

* test

* Update __init__.py

* disabling ddp on windows

---------

Co-authored-by: czkkkkkk <zekucai@gmail.com>
2023-02-15 16:08:20 +08:00
Rhett Ying 0c5d6f1b00 [BUILD] enable dgl sparse build in default (#5175)
* enable dgl sparse build in default

* disable sparse build on cugraph

* update
2023-01-16 14:01:39 +08:00
Quan (Andy) Gan 27010dbc55 [Sparse] Sparse matrix subtraction (#5164)
* use NotImplemented

* format

* sparse sub

* address comments

* lint

* Update elementwise_op_diag.py

* ugh

Co-authored-by: Rhett Ying <85214957+Rhett-Ying@users.noreply.github.com>
2023-01-16 11:37:42 +08:00
Quan (Andy) Gan acc567aa08 [Sparse] Support sparse matrix dividing scalar (#5173)
* use NotImplemented

* format

* extend to pytorch scalar

* sparse div scalar

* oops

* Apply suggestions from code review

Co-authored-by: Mufei Li <mufeili1996@gmail.com>

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2023-01-13 22:54:58 +08:00
czkkkkkk b5c5c860f6 [Sparse] Refactor matmul interface. (#5162)
* [Sparse] Refactor matmul interface.

* Update
2023-01-13 20:08:40 +08:00
Hongzhi (Steve), Chen 9334421d2b [Sparse] Rename as_sparse to to_sparse, dense to to_dense. (#5170)
* as_sp_to_sp

* dense

* revert_mock

* test

* revert

Co-authored-by: Steve <ubuntu@ip-172-31-34-29.ap-northeast-1.compute.internal>
2023-01-13 17:03:20 +08:00
Quan (Andy) Gan 5f5db2dfc7 [Sparse] Make functions compatible with PyTorch scalar tensors (#5163)
* use NotImplemented

* format

* extend to pytorch scalar

* reformat

* reformat

* lint
2023-01-13 14:00:52 +08:00
Quan (Andy) Gan 8abf9d54e3 [Sparse] Use NotImplemented to let Python dispatch types (#5160)
* use NotImplemented

* add TypeError tests

* format

* lint

* fix type

* fix docstring

* lint

* remove redundant condition
2023-01-12 21:12:29 +08:00
nv-dlasalle 751b4c269d [Bugfix] Replace global cudaStream in Filter with runtime calls (fix #5153) (#5157)
* Add failing unit test

* Add fix

* Remove extra newline

* skip cpu test

Co-authored-by: Xin Yao <yaox12@outlook.com>
2023-01-12 16:27:29 +08:00
czkkkkkk bff32a0986 [Sparse] Use efficient implementation for Diag @ Sparse and Sparse @ Diag. (#5147) 2023-01-12 11:53:46 +08:00
Chang Liu 491c19fe4a [Bugfix] Fix the call of tar.extractall() method (#5139) 2023-01-10 23:11:56 -08:00
Quan (Andy) Gan 580c702417 [DataLoader] Allow batch_size=None for GraphDataLoader (#4483)
* overwrite default_collate_fn

* Update dataloader.py

* Update dataloader.py

* Update dataloader.py

* Update dataloader.py

* Update test_dataloader.py

* revert the test code being reverted in #4956
2023-01-09 00:44:46 +08:00
peizhou001 56ffb650fe [API Deprecation]Deprecate contrib module (#5114) 2023-01-06 20:16:01 +08:00
Mufei Li c8bc558880 [Sparse] Remove SparseMatrix.indices and add device/dtype conversions (#5108)
* Update

* Update

* Update

* lint

* lint

* Update

* CI

* Update diag_matrix.py

* Update sparse_matrix.py

* Update sparse_matrix.py

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
Co-authored-by: Hongzhi (Steve), Chen <chenhongzhi.nkcs@gmail.com>
2023-01-06 17:37:13 +08:00
peizhou001 c55ab2d147 deprecate candidates in dataloader (#5117) 2023-01-06 16:18:32 +08:00
peizhou001 3a2a5031e9 [API Deprecation]Deprecate candidates in dgl.distributed (#5116) 2023-01-06 16:17:44 +08:00
Theodore Vasiloudis 9890201d58 [Dist] Allow reading and writing single-column vector Parquet files. (#5098)
* Allow reading and writing single-column vector Parquet files.

These files are commonly produced by Spark ML's feature processing code.

* [Dist] Only write single-column vector files for Parquet in tests.
2023-01-05 20:37:28 +08:00
Mufei Li 9169fc3541 [Sparse] Polish sparse matrix creation functions (#5093)
* update

* Update

* Update

* Update

* Update

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2023-01-03 22:59:57 +08:00
czkkkkkk 0698e91a0e [Sparse] Use Pytorch dense computation in SpMM tests (#5096) 2023-01-03 22:26:06 +08:00
Theodore Vasiloudis 774709d399 [Dist] Add support for Parquet-formatted edges files, remove some assumptions on edge file number. (#5051)
* [Dist] Add support for Parquet-formatted edges files, remove some assumptions on edge file number.

* [Dist] Add parquet edges option to unit tests.

Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
2023-01-03 16:01:50 +08:00
ZhenyuLU_Heliodore cd817a1a00 [NN] Add SpatialEncoder and SpatialEncoder3d (#4991)
* Add SpatialEncoder and SpatialEncoder3d

* Optimize the code execution efficiency

* Fixed certain problems according to Dongyu's suggestions.

* Fix an error about probability of division by zero in PathEcoder; Change certain designs in SpatialEncoder

* Fix a typo

* polish the docstring

* fix doc

* lint

Co-authored-by: Ubuntu <ubuntu@ip-172-31-14-146.ap-northeast-1.compute.internal>
Co-authored-by: rudongyu <ru_dongyu@outlook.com>
2023-01-03 14:02:14 +08:00
Xin Yao ce378327c7 fix bf16 tests (#5089) 2022-12-29 21:36:39 +08:00
Mufei Li 37bd092587 [Sparse] Namespace migration and doc update (#5088)
* update

* lint

* lint

* comments

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-29 20:34:29 +08:00
Minjie Wang 255ad1b35b [Sparse] New print for SparseMatrix and DiagMatrix (#5085)
* new print func

* lintrunner
2022-12-29 15:38:10 +08:00
Minjie Wang 025e43210f [Sparse] Add tests for sparse examples; Migrate from mock_sparse to mock_sparse2 (#5073)
* pass gcn

* example tests

* pass gcnii, hgnn, sgc, sign

* black

* test file

* add torchmetrics

* migrate appnp, c_and_s, twirls

* fix style

* minor fix

* fix hypergraphatt and twirls

* pass gat

* fix torchmetric

* lintrunner

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-12-29 08:55:25 +08:00
czkkkkkk 14429df661 [Sparse] Support BSpMM and BSDDMM (#5079)
* [Sparse] Support BSpMM and BSDDMM

* Update SpMM and SDDMM error messages

* Use TORCH_CHECK

* Update error string
2022-12-28 17:14:12 +08:00
Minjie Wang fa5ff2fceb [Sparse] Add coalesce and has_duplicate to SparseMatrix (#5071)
* add coalesce() and has_duplicate()

* Add duplicate check in spspmm

* black

* fix

* clang-format

* lintrunner

* minor fix

* fix
2022-12-28 13:10:10 +08:00
Mufei Li 8c3e7830dc [Sparse] Elementwise multiplication of a SparseMatrix object by a scalar (#5076)
Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-28 09:37:44 +08:00
Mufei Li 0f1bcd9927 [Sparse] Softmax based on Reduction and BroadcastOp (#5067)
* Update

* update

* Update

* Update

* Update

* format

* Update

* lint

* Update

* lint

* CI

* CI

* Update

* address comments

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-27 14:50:15 +08:00
Quan (Andy) Gan 4aff59f775 [Sparse] Rename existing DGL sparse module. (#5066)
* rename

* next time i should use lintrunner
2022-12-26 13:55:48 +08:00
czkkkkkk 0159c3c11d [Sparse] Add SpSpMM for sparse-sparse and sparse-diag matrix multiplication. (#5050)
* [Sparse] Add SpSpMM

* Update matmul interface

* address comments

* fix test utils to generate only coalesced matrices

* fix linter

* fix ut

* fix

* rm print

Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2022-12-24 15:31:09 +08:00
Quan (Andy) Gan f0ce2bea22 [Sparse] Sparse matrix reduction Python part (#5013)
* initial commit

* lint

* rename

* address comments

* add doctests

* address comments

* remove additional test

* add description

* lint

* lint

* lint

* Update test_reduction.py

Co-authored-by: Hongzhi (Steve), Chen <chenhongzhi.nkcs@gmail.com>
2022-12-22 16:49:29 +08:00
czkkkkkk 56ce60b061 [Sparse] Fix SpMM and SDDMM test precision problem (#5060) 2022-12-21 18:02:29 +08:00
czkkkkkk 1f2fcae3e2 [Sparse] Support SpMM and SDDMM (#5032)
* [Sparse] Support SpMM and SDDMM

* Add SDDMMAutoGrad

* Rename SpMMImpl and SDDMMImpl and move them to dgl_sparse/src/matmul.h

* Update comments

* Update

* Minor fix
2022-12-21 10:29:23 +08:00
Serge Panev f40db9b743 [Dist][Test] Add exit_code asserts in some distributed tests (#5053)
Signed-off-by: Serge Panev <spanev@nvidia.com>

Signed-off-by: Serge Panev <spanev@nvidia.com>
2022-12-21 09:03:13 +08:00
Mufei Li 11e6190579 [Sparse] Add Two Sparse Matrices with Different Sparsity, DiagMatrix.dense, Add SparseMatrix and DiagMatrix (#5044)
* Update

* undo wrong edit

* lint

* fix import

* Update

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-20 20:15:37 +08:00
Xin Yao f4eef72628 [Fix core lib warning] Remove LooseVersion (#5026)
* replace LooseVersion with packaging.version

* import packaging from setuptools

* import packaging.version in dgl.utils

* format

* revert changes to apps/kg

* revert changes to _dataloading
2022-12-19 09:02:14 +08:00
Rhett Ying 9731e02325 [Dist] enable to chunk node/edge data into arbitrary number of chunks (#4930)
* [Dist] enable to chunk node/edge data into arbitrary number of chunks

* [Dist] enable to split node/edge data into arbitrary parts

* refine code

* Format boolean to uint8 forcely to avoid dist.scatter failure

* convert boolean to int8 before scatter and revert it after scatter

* refine code

* fix test

* refine code

* move test utilities into utils.py

* update comment

* fix empty data

* update

* update

* fix empty data issue

* release unnecessary mem

* release unnecessary mem

* release unnecessary mem

* release unnecessary mem

* release unnecessary mem

* remove unnecessary shuffle data

* separate array_split into standalone utility

* add example

Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
2022-12-15 10:01:39 +08:00
Mufei Li 354a211038 [Sparse] Elementwise ops for DiagMatrix and Elementwise Power for SparseMatrix (#5024)
* Update

* Update

* lint

* CI

* Update

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-15 08:33:51 +08:00
Rhett Ying 32dc1af67e [Dist] generate partition meta for ParMETIS pipeline (#5020)
* [Dist] generate partition meta for ParMETIS
2022-12-14 21:15:54 +08:00
czkkkkkk d02e560e07 Revert "[Sparse] Add SpMM and SDDMM." (#5014)
* Revert "[Sparse] Add SpMM and SDDMM. (#4999)"

This reverts commit 15365d7855.

* lint
2022-12-12 19:37:08 +08:00
czkkkkkk 15365d7855 [Sparse] Add SpMM and SDDMM. (#4999)
* [Sparse] Add SpMM and SDDMM

* Update

* Add CSR and CSC SpMM tests
2022-12-12 15:37:09 +08:00
Mufei Li e01580d3b9 [Sparse] Misc fix for existing elementwise ops (#5003)
* Update

* Update

* Update

* Update

* update

* lint

* CI

* CI

* CI

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-09 17:16:59 +08:00
Xin Yao aad3bd0484 [Bugfix] Fix empty tensors may being treated as pinned (#5005)
* fix empty tensor is treated as pinned

* avoid calling cudaHostGetDevicePointer on nullptr

* update empty array

* add a comment
2022-12-09 16:42:59 +08:00
Xin Yao 20fb4d4c31 [Lint] Add a formatter GitHub Action for ufmt and clang-format (#4977)
* add lint workflow

* add line number

* address comments

* update package versions

* remove autopep8 config
2022-12-08 13:32:08 +08:00
Zhiteng Li 279e2e8fba Add Graph Transformer Layer (Dense Computation) (#4959)
* Add GraphTransformerLayer (dense)

* beautify the python code with black

* refine according to mufei's comments

* fix AttributeError in unit test

* rename module as GraphormerLayer

* fix name issue

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-12-07 16:23:14 +08:00
Mufei Li a80bd9e039 Update (#4997)
Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-07 15:07:50 +08:00
Tingyu Wang ba21295cd5 [Model] Update CuGraphRelGraphConv to use new bindings from pylibcugraphops (#4965)
* update agg function with new bindings

* handle optional import in __init__

* raise error in RelGraphConvAgg when pylibcugraphops not imported

* Update tests/cugraph/cugraph-ops/test_cugraph_relgraphconv.py

Co-authored-by: Mufei Li <mufeili1996@gmail.com>

* Update tests/cugraph/cugraph-ops/test_cugraph_relgraphconv.py

Co-authored-by: Mufei Li <mufeili1996@gmail.com>

* use keyword args for readability

* add missing docstring to pass CI

* catch ImportError rather than ModuleNotFoundError

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-12-06 14:00:57 +08:00
Mufei Li 97fbd94dfc [Sparse] neg and inv (#4980)
* Update

* update

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-05 21:19:27 +08:00
ZhenyuLU_Heliodore 93ecfa313a [NN] Add PathEncoder (#4956)
* Add PathEncoder to transformer.py

* add blank line at the and

* rename variabl sp to shortest_path

* Fixed corresponding problems

* Fixed certain bugs when running on CUDA

* changed clamp min from 0 to 1

Co-authored-by: Ubuntu <ubuntu@ip-172-31-14-146.ap-northeast-1.compute.internal>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-12-05 13:47:51 +08:00