1. 15 Dec, 2021 1 commit
    • Vasimuddin Md's avatar
      [DistGNN, Graph partitioning] Libra partition (#3376) · 78e0dae6
      Vasimuddin Md authored
      
      
      * 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: default avatarQuan (Andy) Gan <coin2028@hotmail.com>
      78e0dae6
  2. 03 Dec, 2021 1 commit
    • Israt Nisa's avatar
      [Feature] Add Min/max reducer in heterogeneous API for unary message functions (#3514) · cb0e1103
      Israt Nisa authored
      
      
      * 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: default avatarIsrat Nisa <nisisrat@amazon.com>
      Co-authored-by: default avatarQuan (Andy) Gan <coin2028@hotmail.com>
      cb0e1103
  3. 17 Nov, 2021 1 commit
  4. 07 Sep, 2021 1 commit
  5. 06 Jul, 2021 1 commit
    • Israt Nisa's avatar
      [Feature] Add Heterograph support on Python for builtin unary msg functions... · 188152b8
      Israt Nisa authored
      
      [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: default avatarIsrat Nisa <nisisrat@amazon.com>
      Co-authored-by: default avatarMinjie Wang <wmjlyjemaine@gmail.com>
      Co-authored-by: default avatarQuan Gan <coin2028@hotmail.com>
      188152b8
  6. 03 Jun, 2021 1 commit
  7. 27 Apr, 2021 1 commit
  8. 24 Mar, 2021 1 commit
    • Quan (Andy) Gan's avatar
      [Feature] Sparse-sparse matrix multiplication, addition, and masking (#2753) · 929d8634
      Quan (Andy) Gan authored
      * test
      
      * more stuff
      
      * add test
      
      * fixes
      
      * optimize algo
      
      * replace unordered_map with arrays
      
      * lint
      
      * lint x2
      
      * oops
      
      * disable gpu csrmm tests
      
      * remove gpu invocation
      
      * optimize with openmp
      
      * remove python functions
      
      * add back with docstrings
      
      * lint
      
      * lint
      
      * update python interface
      
      * functionize
      
      * functionize
      
      * lint
      
      * lint
      929d8634
  9. 09 Mar, 2021 1 commit
  10. 21 Feb, 2021 1 commit
  11. 28 Jan, 2021 1 commit
  12. 31 Dec, 2020 1 commit
  13. 22 Nov, 2020 1 commit
  14. 28 Jul, 2020 1 commit
    • Minjie Wang's avatar
      [Refactor][Graph] Merge DGLGraph and DGLHeteroGraph (#1862) · 44089c8b
      Minjie Wang authored
      
      
      * 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: default avatarUbuntu <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: default avatarUbuntu <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: default avataryzh119 <expye@outlook.com>
      Co-authored-by: default avatarxiang song(charlie.song) <classicxsong@gmail.com>
      Co-authored-by: default avatarUbuntu <ubuntu@ip-172-31-51-214.ec2.internal>
      Co-authored-by: default avatarUbuntu <ubuntu@ip-172-31-7-42.us-west-2.compute.internal>
      Co-authored-by: default avatarUbuntu <ubuntu@ip-172-31-1-5.us-west-2.compute.internal>
      Co-authored-by: default avatarUbuntu <ubuntu@ip-172-31-68-185.ec2.internal>
      44089c8b
  15. 13 Jul, 2020 1 commit
    • Zihao Ye's avatar
      [Feature] Autograd of gspmm and gsddmm on PyTorch/MXNet/Tensorflow (#1680) · f25b1a06
      Zihao Ye authored
      * 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
      f25b1a06
  16. 28 Jun, 2020 1 commit
    • Minjie Wang's avatar
      [CUDA][Kernel] More CUDA kernels; Standardize the behavior for sorted COO/CSR (#1704) · 870da747
      Minjie Wang authored
      * add cub; array cumsum
      
      * CSRSliceRows
      
      * fix warning
      
      * operator << for ndarray; CSRSliceRows
      
      * add CSRIsSorted
      
      * add csr_sort
      
      * inplace coosort and outplace csrsort
      
      * WIP: coo is sorted
      
      * mv cuda_utils
      
      * add AllTrue utility
      
      * csr sort
      
      * coo sort
      
      * coo2csr for sorted coo arrays
      
      * CSRToCOO from sorted
      
      * pass tests for the new kernel changes
      
      * cannot use inplace sort
      
      * lint
      
      * try fix msvc error
      
      * Fix g.copy_to and g.asnumbits; ToBlock no longer uses CSC
      
      * stash
      
      * revert some hack
      
      * revert some changes
      
      * address comments
      
      * fix
      
      * fix to_block unittest
      
      * add todo note
      870da747
  17. 22 Jun, 2020 1 commit
    • Zihao Ye's avatar
      [kernel] New SpMM & SDDMM kernel on CPU and CUDA (#1644) · 071cba1f
      Zihao Ye authored
      * udp
      
      * simplify
      
      * sddmm dot cpu
      
      * upd
      
      * format
      
      * upd
      
      * compatible with MJ's PR
      
      * lint
      
      * upd
      
      * upd
      
      * upd
      
      * python end
      
      * upd
      
      * upd
      
      * lint
      
      * lint
      
      * upd
      
      * upd
      
      * upd
      
      * upd
      
      * upd
      
      * lint
      
      * fix mxnet
      
      * upd
      
      * lint
      
      * use minjie's ptr
      
      * macro
      
      * upd
      
      * reorg
      
      * lint
      
      * fix corner cases
      
      * upd
      
      * enrich cpu docs
      
      * upd
      
      * upd
      
      * lint
      
      * lint
      
      * pylint
      
      * sx review
      
      * improve docstring
      
      * python doc
      
      * upd
      
      * restructure
      
      * lint
      
      * upd test
      
      * upd
      
      * pylint
      
      * fix corner cases and test
      071cba1f