1. 15 Dec, 2021 1 commit
    • lixiaobai's avatar
      [PinSAGESampler] support PinSAGE sampler on GPU (#3567) · dd762a1e
      lixiaobai authored
      
      
      * Feat: support API "randomwalk_topk" in library
      
      * Feat: use the new API "randomwalk_topk" for PinSAGESampler
      
      * Minor
      
      * Minor
      
      * Refactor: modified codes as checker required
      
      * Minor
      
      * Minor
      
      * Minor
      
      * Minor
      
      * Fix: checking errors in RandomWalkTopk
      
      * Refactor: modified the docstring for randomwalk_topk
      
      * change randomwalk_topk to internal
      
      * fix
      
      * rename
      
      * Minor for pinsage.py
      
      * Feat: support randomwalk and SelectPinSageNeighbors on GPU
      
      Port RandomWalk algorithm on GPU,
      and port SelectPinSageNeighbors on GPU.
      
      * Feat: support GPU on python APIs
      
      * Feat: remove perf print information in FrequenchHashmap
      
      * Fix: modified the code format
      
      Modified the code format as task_lint.sh suggested
      
      * Feat: let test script support PinSAGESampler on GPU
      
      Let test script support PinSAGESampler on GPU,
      minor of "restart_prob".
      
      * Minor
      
      * Minor
      
      * Minor
      
      * Refactor: use the atomic operations from the array module
      
      * Minor: change the long lines
      
      * Refactor: modified the get_node_types for gpu
      
      * Feat: update the contributor date
      
      * Perf: remove unnecessary stream sync
      
      * Feat: support other random walk
      
      But the non-uniform choice is still not supported.
      
      * Fix: add CUDA switch for random walk
      Co-authored-by: default avatarQuan Gan <coin2028@hotmail.com>
      dd762a1e
  2. 06 Dec, 2021 1 commit
  3. 29 Nov, 2021 1 commit
    • lixiaobai's avatar
      [PinSAGE samper] Adjust the APIs for PinSAGESamper (#3529) · 44f0b5fe
      lixiaobai authored
      
      
      * Feat: support API "randomwalk_topk" in library
      
      * Feat: use the new API "randomwalk_topk" for PinSAGESampler
      
      * Minor
      
      * Minor
      
      * Refactor: modified codes as checker required
      
      * Minor
      
      * Minor
      
      * Minor
      
      * Minor
      
      * Fix: checking errors in RandomWalkTopk
      
      * Refactor: modified the docstring for randomwalk_topk
      
      * change randomwalk_topk to internal
      
      * fix
      
      * rename
      
      * Minor for pinsage.py
      Co-authored-by: default avatarQuan Gan <coin2028@hotmail.com>
      44f0b5fe
  4. 15 Nov, 2021 1 commit
  5. 04 Nov, 2021 1 commit
  6. 22 Sep, 2021 1 commit
  7. 21 Sep, 2021 1 commit
    • mszarma's avatar
      [Feature] Exclude edges in sample_neighbors (#2971) · bc14829f
      mszarma authored
      
      
      * [Feature] Exclude edges in sample_neighbors
      
      Extending sample_neighbors and sample_frontier
      API to support exclude_edges parameter.
      
      exclude_edges support tensor and dict data
      Feature enable excluding certain edges
      during neighborhood sampling
      Exclude_edges contains EID's of edges
      which will be excluded
      during neighbor picking for seed nodes.
      
      Added test case for heterograph and homograph
      RFC issue id: 2944
      
      * compatibility
      
      * fix
      
      * fix
      Co-authored-by: default avatarQuan Gan <coin2028@hotmail.com>
      bc14829f
  8. 02 Sep, 2021 1 commit
  9. 01 Sep, 2021 1 commit
  10. 28 Jul, 2021 1 commit
    • xiang song(charlie.song)'s avatar
      [New Feature] Per edge type sampler for to_homogeneous graphs. (#3131) · ba7e7cf9
      xiang song(charlie.song) authored
      
      
      * fix.
      
      * fix.
      
      * fix.
      
      * fix.
      
      * Fix test
      
      * Deprecate old DistEmbedding impl, use synchronized embedding impl
      
      * Basic imple of heterogeneous on homogenenous sampling
      
      * make pass
      
      * Pass C++ test
      
      * Add python test code
      
      * lint
      
      * lint
      
      * Add MultiLayerEtypeNeighborSampler
      
      * Add unitest for single machine dataloader
      
      * Add dist dataloader test for edge type sampler
      
      * Fix lint
      
      * fix
      
      * support for per etype sample
      
      * Fix some bug and enable distributed training with per edge sample
      
      * fix
      
      * Now distributed training works
      
      * turn off some mxnet
      
      * turn off mxnet for some dist test
      
      * fix
      
      * upd
      
      * upd according to the comments
      
      * Fix
      
      * Fix test and now distributed works.
      
      * upd
      
      * upd
      
      * Fix
      
      * Fix bug
      
      * remove dead code.
      
      * upd
      
      * Fix
      
      * upd
      
      * Fix
      Co-authored-by: default avatarUbuntu <ubuntu@ip-172-31-71-112.ec2.internal>
      Co-authored-by: default avatarUbuntu <ubuntu@ip-172-31-2-66.ec2.internal>
      Co-authored-by: default avatarDa Zheng <zhengda1936@gmail.com>
      ba7e7cf9
  11. 20 Jul, 2021 1 commit
  12. 23 Jun, 2021 2 commits
    • Qidong Su's avatar
      [Feature] Biased Neighbor Sampling (#2987) · e56bbafd
      Qidong Su authored
      
      
      * update
      
      * update
      
      * update
      
      * update
      
      * lint
      
      * lint
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * lint
      
      * update
      
      * clone
      
      * update
      
      * update
      
      * update
      
      * update
      
      * replace idarray with ndarray
      
      * refactor cpp part
      
      * refactor python part
      
      * debug
      
      * refactor interface
      
      * test and doc
      
      * lint and test
      
      * lint
      
      * fix
      
      * fix
      
      * fix
      
      * const
      
      * doc
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix & doc
      
      * fix
      
      * fix
      
      * update
      
      * update
      
      * update
      
      * merge
      
      * doc
      
      * doc
      
      * lint
      
      * fix
      
      * more tests
      
      * doc
      
      * fix
      
      * fix
      
      * update
      
      * update
      
      * update
      
      * fix
      
      * fix
      Co-authored-by: default avatarMinjie Wang <wmjlyjemaine@gmail.com>
      e56bbafd
    • Quan (Andy) Gan's avatar
      [Feature] Node2vec (#2992) · e667545d
      Quan (Andy) Gan authored
      
      
      * add seal example
      
      * 1. add paper infomation in examples/README
      2. adjust codes
      3. option test
      
      * use latest `to_simple` to replace coalesce graph function
      
      * remove outdated codes
      
      * remove useless comment
      
      * Node2vec
      1.implement node2vec random walk c++ op
      2.implement node2vec model
      3.implement node2vec example
      
      * add CMakeLists file modify
      
      * refine c++ codes
      
      * refine c++ codes
      
      * add missing whitespace
      
      * refine python codes
      
      * add codes
      
      * add node2vec_impl.h
      
      * fix codes
      
      * fix code style problem
      
      * fixes
      
      * remove
      
      * lots of changes
      
      * add benchmark
      
      * fixes
      Co-authored-by: default avatarsmilexuhc <smile.xuhc@gmail.com>
      Co-authored-by: default avatarMinjie Wang <wmjlyjemaine@gmail.com>
      e667545d
  13. 10 Jun, 2021 1 commit
  14. 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
  15. 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
  16. 02 Jul, 2020 1 commit
    • Quan (Andy) Gan's avatar
      [Sampling] NodeDataLoader for node classification (#1635) · 168a88e5
      Quan (Andy) Gan authored
      
      
      * neighbor sampler data loader first commit
      
      * more commit
      
      * nodedataloader
      
      * fix
      
      * update RGCN example
      
      * update OGB
      
      * fixes
      
      * fix minibatch RGCN crashing with self loop
      
      * reverting gatconv test code
      
      * fix
      
      * change to new solution that doesn't require tf dataloader
      
      * fix
      
      * lint
      
      * fix
      
      * fixes
      
      * change doc
      
      * fix docstring
      
      * docstring fixes
      
      * return seeds and input nodes from data loader
      
      * fixes
      
      * fix test
      
      * fix windows build problem
      
      * add pytorch wrapper
      
      * fixes
      
      * add pytorch wrapper
      
      * add unit test
      
      * add -1 support to sample_neighbors & fix docstrings
      
      * docstring fix
      
      * lint
      
      * add minibatch rgcn evaluations
      Co-authored-by: default avatarxiang song(charlie.song) <classicxsong@gmail.com>
      Co-authored-by: default avatarTong He <hetong007@gmail.com>
      168a88e5
  17. 15 Jun, 2020 1 commit
  18. 11 Jun, 2020 1 commit
  19. 30 Mar, 2020 1 commit
  20. 07 Mar, 2020 2 commits
  21. 02 Mar, 2020 1 commit
    • Minjie Wang's avatar
      [Feature] Improve sampling speed; Better pickle/unpickle; other fixes (#1299) · 5dd35580
      Minjie Wang authored
      * improve performance of sample_neighbors
      
      * some more improve
      
      * test script
      
      * benchmarks
      
      * multi process
      
      * update more tests
      
      * WIP
      
      * adding two API for state saving
      
      * add create from state
      
      * upd test
      
      * missing file
      
      * wip: pickle/unpickle
      
      * more c apis
      
      * find the problem of empty data array
      
      * add null array; pickling speed is bad
      
      * still bad perf
      
      * still bad perf
      
      * wip
      
      * fix the pickle speed test; now everything looks good
      
      * minor fix
      
      * bugfix
      
      * some lint fix
      
      * address comments
      
      * more fix
      
      * fix lint
      
      * add utest for random.choice
      
      * add utest for dgl.rand_graph
      
      * fix cpp utests
      
      * try fix ci
      
      * fix bug in TF backend
      
      * upd choice docstring
      
      * address comments
      
      * upd
      
      * try fix compile
      
      * add comment
      5dd35580
  22. 28 Feb, 2020 1 commit
    • Quan (Andy) Gan's avatar
      [Feature] PinSAGE sampler (#1249) · c3a33407
      Quan (Andy) Gan authored
      
      
      * [WIP] PinSAGE operators
      
      * moved the edge remapping mess into C
      
      * some docstrings
      
      * lint
      
      * lint x2
      
      * lint x3
      
      * skip gpu test on topk
      
      * extend pinsage to any metapath
      
      * lint x4
      
      * addresses #1265
      
      * add always_preserve (fixes #1266) and fix a silly bug
      
      * disable gpu test on compaction
      
      * lint
      
      * fix a horrible bug and add more tests
      
      * lint
      
      * addresses comments
      
      * lint
      
      * bugfix
      
      * addresses comments
      Co-authored-by: default avatarMinjie Wang <minjie.wang@nyu.edu>
      c3a33407
  23. 17 Feb, 2020 1 commit
    • Minjie Wang's avatar
      [Feature] Neighbor-hood based sampling APIs (#1251) · f8d4264e
      Minjie Wang authored
      * WIP: working on random choices
      
      * light slice
      
      * basic CPU impl
      
      * add python binding; fix CreateFromCOO and CreateFromCSR returning unitgraph
      
      * simple test case works
      
      * fix bug in slicing probability array
      
      * fix bug in getting the correct relation graph
      
      * fix bug in creating placeholder graph
      
      * enable omp
      
      * add cpp test
      
      * sample topk
      
      * add in|out_subgraph
      
      * try fix lint; passed all unittests
      
      * fix lint
      
      * fix msvc compile; add sorted flag and constructors
      
      * fix msvc
      
      * coosort
      
      * COOSort; CSRRowWiseSampling; CSRRowWiseTopk
      
      * WIP: remove DType in CSR and COO; Restrict data array to be IdArray
      
      * fix all CSR ops for missing data array
      
      * compiled
      
      * passed tests
      
      * lint
      
      * test sampling out edge
      
      * test different per-relation fanout/k values
      
      * fix bug in random choice
      
      * finished cpptest
      
      * fix compile
      
      * Add induced edges
      
      * add check
      
      * fixed bug in sampling on hypersparse graph; add tests
      
      * add ascending flag
      
      * in|out_subgraph returns subgraph and induced eid
      
      * address comments
      
      * lint
      
      * fix
      f8d4264e
  24. 04 Feb, 2020 1 commit
    • Quan (Andy) Gan's avatar
      [Feature] Preference to COO for "hypersparse" unit graphs & graph compaction (#1238) · eeeb52f4
      Quan (Andy) Gan authored
      * unit graph that prefers coo queries
      
      * auto detect coo preference
      
      * forgot some functions
      
      * disable lint on detect_prefer_coo
      
      * reorg
      
      * change comment
      
      * lint
      
      * fix
      
      * move array_utils.h to src
      
      * compact graph impl
      
      * fix redundant copying in idhashmap
      
      * docstring
      
      * moving preference detection to C
      
      * lint
      
      * fix unit test & address comments
      
      * hypersparse autorestrict
      
      * docstring & fix
      
      * revert copyto and asnumbits
      
      * fix stupid bug
      
      * lint
      
      * leave a TODO for sorted COO
      
      * fixing same node type mapping to different id in different graphs
      
      * addresses comments
      
      * made induced nodes a feautre column
      
      * lint?
      eeeb52f4
  25. 31 Jan, 2020 1 commit
    • Quan (Andy) Gan's avatar
      [Feature] Random Walk for 0.5 (#1209) · a9dabcc7
      Quan (Andy) Gan authored
      * trying to refactor IndexSelect
      
      * partial implementation
      
      * add index select and assign for floats as well
      
      * move to random choice source
      
      * more updates
      
      * fixes
      
      * fixes
      
      * more fixes
      
      * adding python impl
      
      * fixes
      
      * unit test
      
      * lint
      
      * lint x2
      
      * lint x3
      
      * update metapath2vec
      
      * debugging performance
      
      * still debugging for performance
      
      * tuning
      
      * switching to succvec
      
      * redo
      
      * revert non-uniform sampler to use vector
      
      * still not fast
      
      * why does this crash with OpenMP???
      
      * because there was a data race!!!
      
      * add documentations and remove assign op
      
      * lint
      
      * lint x2
      
      * lol what have i done
      
      * lint x3
      
      * fix and disable gpu testing
      
      * bugfix
      
      * generic random walk
      
      * reorg the random walk source code
      
      * Update randomwalks.h
      
      * Update randomwalks_cpu.cc
      
      * rename file
      
      * move internal function to anonymous ns
      
      * reorg & docstrings
      
      * constant restart probability
      
      * docstring fix
      
      * more commit
      
      * random walk with restart, tested
      
      * some fixes
      
      * switch to using NDArray for choice
      
      * massive fix & docstring
      
      * lint x?
      
      * lint x??
      
      * fix
      
      * export symbols
      
      * skip gpu test
      
      * addresses comments
      
      * replaces another VecToIdArray
      
      * add randomwalks.h to include
      
      * replace void * with template
      a9dabcc7