Xin Yao
170203ae2b
[Performance] Creating out buffers for segment_mm|sddmm via torch.empty() ( #5462 )
...
* update for segmentMM
* update for sddmm
* fix a bug
2023-03-23 17:41:07 +08:00
Xin Yao
e032de5848
[Bugfix] Avoid initializing CUDA context at importing ( #5134 )
...
* Avoid initializing CUDA at importing
* renaming
2023-01-11 12:30:20 +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
Xin Yao
96297fb8fd
[Feature] Add bfloat16 (bf16) support ( #4648 )
...
* add bf16 specializations
* remove SWITCH_BITS
* enable amp for bf16
* remove SWITCH_BITS for cpu kernels
* enbale bf16 based on CUDART
* fix compiling for sm<80
* fix cpu build
* enable unit tests
* update doc
* disable test for CUDA < 11.0
* address comments
* address comments
2022-11-06 19:48:36 +08:00
Hongzhi (Steve), Chen
a208e8868b
[Misc] Black auto fix. ( #4680 )
...
* [Misc] Black auto fix.
* fix pylint disable
Co-authored-by: Steve <ubuntu@ip-172-31-34-29.ap-northeast-1.compute.internal >
2022-10-08 14:15:56 +08:00
Quan (Andy) Gan
2efdaa5df3
[Bug] Revert clearing backward cache for retain_graph flag ( #4249 )
...
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com >
2022-07-14 16:32:01 +08:00
Xin Yao
32f12ee19e
[Doc] Unify the minimal versions required for PyTorch/TensorFlow/MXNet ( #4180 )
2022-06-29 18:37:19 +08:00
Minjie Wang
0227ddfb66
[NN] Rework RelGraphConv and HGTConv ( #3742 )
...
* WIP: TypedLinear and new RelGraphConv
* wip
* further simplify RGCN
* a bunch of tweak for performance; add basic cpu support
* update on segmm
* wip: segment.cu
* new backward kernel works
* fix a bunch of bugs in kernel; leave idx_a for future
* add nn test for typed_linear
* rgcn nn test
* bugfix in corner case; update RGCN README
* doc
* fix cpp lint
* fix lint
* fix ut
* wip: hgtconv; presorted flag for rgcn
* hgt code and ut; WIP: some fix on reorder graph
* better typed linear init
* fix ut
* fix lint; add docstring
2022-02-23 12:10:20 +08:00
Israt Nisa
b3d3a2c4b0
[Feature] Gather mm ( #3641 )
...
* init
* init
* working cublasGemm
* benchmark high-mem/low-mem, err gather_mm output
* cuda kernel for bmm like kernel
* removed cpu copy for E_per_Rel
* benchmark code from Minjie
* fixed cublas results in gathermm sorted
* use GPU shared mem in unsorted gather mm
* minor
* Added an optimal version of gather_mm_unsorted
* lint
* init gather_mm_scatter
* cublas transpose added
* fixed h_offset for multiple rel
* backward unittest
* cublas support to transpose W
* adding missed file
* forgot to add header file
* lint
* lint
* cleanup
* lint
* docstring
* lint
* added unittest
* lint
* lint
* unittest
* changed err type
* skip cpu test
* skip CPU code
* move in-len loop inside
* lint
* added check different dim length for B
* w_per_len is optional now
* moved gather_mm to pytorch/backend with backward support
* removed a_/b_trans support
* transpose op inside GEMM call
* removed out alloc from API, changed W 2D to 3D
* Added se_gather_mm, Separate API for sortedE
* Fixed gather_mm (unsorted) user interface
* unsorted gmm backward + separate CAPI for un/sorted A
* typecast to float to support atomicAdd
* lint typecast
* lint
* added gather_mm_scatter
* minor
* const
* design changes
* Added idx_a, idx_b support gmm_scatter
* dgl doc
* lint
* adding gather_mm in ops
* lint
* lint
* minor
* removed benchmark files
* minor
* empty commit
Co-authored-by: Israt Nisa <nisisrat@amazon.com >
2022-02-14 22:27:23 -05:00
ranzhejiang
bc8f8b0b7a
New fused edge_softmax op ( #3650 )
...
* [feature] edge softmax refact.
* delete file
* fix backward and cmake version
* fix backward
* format function
* fix setting
* refix
* refix
* refix
* refix
* refix
* refix
* refix
* refix
* refix
* refix
* refix
* refix
* add cuda kernel for backward and rename some function
* add benchmark for edge_softmax
* fix format
* remove cuda_backwrd
* fix code format and add comment for op on CPU
* fix lint
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com >
2022-02-11 13:34:24 +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
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
a9c83bce15
Fix #3437 ( #3440 )
2021-10-26 17:56:48 +08:00
Cheng Wan
ff94ee80b1
[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-10-18 17:24:54 +08:00
Israt Nisa
532eaa879b
backward now stores DGLGraph index,not DGLGraph object witattached data ( #3410 )
...
Co-authored-by: Israt Nisa <nisisrat@amazon.com >
2021-10-11 14:08:01 +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
Zihao Ye
76af2a2ef3
[perf] Remove activation cache if not required. ( #3258 )
...
* upd
* fix
* upd
2021-08-17 17:14:51 +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
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
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
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
Zihao Ye
a613ad8806
Refactor code for retaining formats in message-passing. ( #2570 )
2021-01-25 16:55:16 +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
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
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
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
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
Zihao Ye
2fa2b4534e
[Feature] Support higher order derivative for message passing. ( #1877 )
...
* upd
* fix typo
2020-07-28 23:11:06 +08:00
Minjie Wang
44089c8b4d
[Refactor][Graph] Merge DGLGraph and DGLHeteroGraph ( #1862 )
...
* Merge
* [Graph][CUDA] Graph on GPU and many refactoring (#1791 )
* change edge_ids behavior and C++ impl
* fix unittests; remove utils.Index in edge_id
* pass mx and th tests
* pass tf test
* add aten::Scatter_
* Add nonzero; impl CSRGetDataAndIndices/CSRSliceMatrix
* CSRGetData and CSRGetDataAndIndices passed tests
* CSRSliceMatrix basic tests
* fix bug in empty slice
* CUDA CSRHasDuplicate
* has_node; has_edge_between
* predecessors, successors
* deprecate send/recv; fix send_and_recv
* deprecate send/recv; fix send_and_recv
* in_edges; out_edges; all_edges; apply_edges
* in deg/out deg
* subgraph/edge_subgraph
* adj
* in_subgraph/out_subgraph
* sample neighbors
* set/get_n/e_repr
* wip: working on refactoring all idtypes
* pass ndata/edata tests on gpu
* fix
* stash
* workaround nonzero issue
* stash
* nx conversion
* test_hetero_basics except update routines
* test_update_routines
* test_hetero_basics for pytorch
* more fixes
* WIP: flatten graph
* wip: flatten
* test_flatten
* test_to_device
* fix bug in to_homo
* fix bug in CSRSliceMatrix
* pass subgraph test
* fix send_and_recv
* fix filter
* test_heterograph
* passed all pytorch tests
* fix mx unittest
* fix pytorch test_nn
* fix all unittests for PyTorch
* passed all mxnet tests
* lint
* fix tf nn test
* pass all tf tests
* lint
* lint
* change deprecation
* try fix compile
* lint
* update METIDS
* fix utest
* fix
* fix utests
* try debug
* revert
* small fix
* fix utests
* upd
* upd
* upd
* fix
* upd
* upd
* upd
* upd
* upd
* trigger
* +1s
* [kernel] Use heterograph index instead of unitgraph index (#1813 )
* upd
* upd
* upd
* fix
* upd
* upd
* upd
* upd
* upd
* trigger
* +1s
* [Graph] Mutation for Heterograph (#1818 )
* mutation add_nodes and add_edges
* Add support for remove_edges, remove_nodes, add_selfloop, remove_selfloop
* Fix
Co-authored-by: Ubuntu <ubuntu@ip-172-31-51-214.ec2.internal >
* upd
* upd
* upd
* fix
* [Transfom] Mutable transform (#1833 )
* add nodesy
* All three
* Fix
* lint
* Add some test case
* Fix
* Fix
* Fix
* Fix
* Fix
* Fix
* fix
* triger
* Fix
* fix
Co-authored-by: Ubuntu <ubuntu@ip-172-31-51-214.ec2.internal >
* [Graph] Migrate Batch & Readout module to heterograph (#1836 )
* dgl.batch
* unbatch
* fix to device
* reduce readout; segment reduce
* change batch_num_nodes|edges to function
* reduce readout/ softmax
* broadcast
* topk
* fix
* fix tf and mx
* fix some ci
* fix batch but unbatch differently
* new checkk
* upd
* upd
* upd
* idtype behavior; code reorg
* idtype behavior; code reorg
* wip: test_basics
* pass test_basics
* WIP: from nx/ to nx
* missing files
* upd
* pass test_basics:test_nx_conversion
* Fix test
* Fix inplace update
* WIP: fixing tests
* upd
* pass test_transform cpu
* pass gpu test_transform
* pass test_batched_graph
* GPU graph auto cast to int32
* missing file
* stash
* WIP: rgcn-hetero
* Fix two datasety
* upd
* weird
* Fix capsuley
* fuck you
* fuck matthias
* Fix dgmg
* fix bug in block degrees; pass rgcn-hetero
* rgcn
* gat and diffpool fix
also fix ppi and tu dataset
* Tree LSTM
* pointcloud
* rrn; wip: sgc
* resolve conflicts
* upd
* sgc and reddit dataset
* upd
* Fix deepwalk, gindt and gcn
* fix datasets and sign
* optimization
* optimization
* upd
* upd
* Fix GIN
* fix bug in add_nodes add_edges; tagcn
* adaptive sampling and gcmc
* upd
* upd
* fix geometric
* fix
* metapath2vec
* fix agnn
* fix pickling problem of block
* fix utests
* miss file
* linegraph
* upd
* upd
* upd
* graphsage
* stgcn_wave
* fix hgt
* on unittests
* Fix transformer
* Fix HAN
* passed pytorch unittests
* lint
* fix
* Fix cluster gcn
* cluster-gcn is ready
* on fixing block related codes
* 2nd order derivative
* Revert "2nd order derivative"
This reverts commit 523bf6c249bee61b51b1ad1babf42aad4167f206.
* passed torch utests again
* fix all mxnet unittests
* delete some useless tests
* pass all tf cpu tests
* disable
* disable distributed unittest
* fix
* fix
* lint
* fix
* fix
* fix script
* fix tutorial
* fix apply edges bug
* fix 2 basics
* fix tutorial
Co-authored-by: yzh119 <expye@outlook.com >
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com >
Co-authored-by: Ubuntu <ubuntu@ip-172-31-51-214.ec2.internal >
Co-authored-by: Ubuntu <ubuntu@ip-172-31-7-42.us-west-2.compute.internal >
Co-authored-by: Ubuntu <ubuntu@ip-172-31-1-5.us-west-2.compute.internal >
Co-authored-by: Ubuntu <ubuntu@ip-172-31-68-185.ec2.internal >
2020-07-28 14:30:41 +08:00
Zihao Ye
f25b1a064d
[Feature] Autograd of gspmm and gsddmm on PyTorch/MXNet/Tensorflow ( #1680 )
...
* init
* reverse(by minjie
* upd
* upd
* upd
* upd
* upd
* upd
* upd
* gpu
* upd
* upd
* upd
* upd
* udp
* upd
* upd
* imidiot
* fix
* upd
* upd
* upd
* udp
* upd
* upd
* fix
* udp
* upd
* upd
* upd
* upd
* upd
* fix
* remove redundency
* upd
* upd
* upd
* cache
* upd
* upd
* upd
* upd
* upd
* udp
* upd
* trigger
* upd
* fix
* upd
* unused import
* upd
* upd
2020-07-13 23:21:22 +08:00