1. 09 Feb, 2022 1 commit
    • Xin Yao's avatar
      [Feature] CUDA UVA sampling for MultiLayerNeighborSampler (#3674) · 738e8318
      Xin Yao authored
      
      
      * implement pin_memory/unpin_memory/is_pinned for dgl.graph
      
      * update python docstring
      
      * update c++ docstring
      
      * add test
      
      * fix the broken UnifiedTensor
      
      * XPU_SWITCH for kDLCPUPinned
      
      * a rough version ready for testing
      
      * eliminate extra context parameter for pin/unpin
      
      * update train_sampling
      
      * fix linting
      
      * fix typo
      
      * multi-gpu uva sampling case
      
      * disable new format materialization for pinned graphs
      
      * update python doc for pin_memory_
      
      * fix unit test
      
      * UVA sampling for link prediction
      
      * dispatch most csr ops
      
      * update graphsage example to combine uva sampling and UnifiedTensor
      
      * update graphsage example to combine uva sampling and UnifiedTensor
      
      * update graphsage example to combine uva sampling and UnifiedTensor
      
      * update doc
      
      * update examples
      
      * change unitgraph and heterograph's PinMemory to in-place
      
      * update examples for multi-gpu uva sampling
      
      * update doc
      
      * fix linting
      
      * fix cpu build
      
      * fix is_pinned for DistGraph
      
      * fix is_pinned for DistGraph
      
      * update graphsage unsupervised example
      
      * update doc for gpu sampling
      
      * update some check for sampling device switching
      
      * fix linting
      
      * adapt for new dataloader
      
      * fix linting
      
      * fix
      
      * fix some name issue
      
      * adjust device check
      
      * add unit test for uva sampling & fix some zero_copy bug
      
      * fix linting
      
      * update num_threads in graphsage examples
      Co-authored-by: default avatarQuan (Andy) Gan <coin2028@hotmail.com>
      Co-authored-by: default avatarJinjing Zhou <VoVAllen@users.noreply.github.com>
      738e8318
  2. 26 Jan, 2022 1 commit
  3. 21 Jan, 2022 1 commit
    • Xin Yao's avatar
      [Feature] Pin dgl.graph to the page-locked memory (#3616) · 40b44a43
      Xin Yao authored
      
      
      * implement pin_memory/unpin_memory/is_pinned for dgl.graph
      
      * update python docstring
      
      * update c++ docstring
      
      * add test
      
      * fix the broken UnifiedTensor
      
      * eliminate extra context parameter for pin/unpin
      
      * fix linting
      
      * fix typo
      
      * disable new format materialization for pinned graphs
      
      * update python doc for pin_memory_
      
      * fix unit test
      
      * update doc
      
      * change unitgraph and heterograph's PinMemory to in-place
      
      * update comments for NDArray's PinMemory_ and PinData
      
      * update doc
      Co-authored-by: default avatarJinjing Zhou <VoVAllen@users.noreply.github.com>
      40b44a43
  4. 19 Jan, 2022 1 commit
  5. 17 Jan, 2022 2 commits
  6. 11 Jan, 2022 2 commits
    • MaoYuan Xian's avatar
      Pass the std:min argument's type, to avoid the compilation error. (#3637) · b002f8f9
      MaoYuan Xian authored
      
      
      * Pass the std:min argument's type, to avoid the compilation error.
      
      * Update parallel_for.h
      
      * Update negative_sampling.cc
      Co-authored-by: default avatarQuan (Andy) Gan <coin2028@hotmail.com>
      b002f8f9
    • Rhett Ying's avatar
      [Feature][Dist] change TP::Receiver/TP::Sender for multiple connections (#3574) · 37467e25
      Rhett Ying authored
      
      
      * [Feature] enable TP::Receiver wait for any numbers of senders
      
      * fix random unit test failure
      
      * avoid endless future wait
      
      * fix unit test failure
      
      * fix seg fault when finalize wait in receiver
      
      * [Feature] refactor sender connect logic and remove unnecessary sleeps in unit tests
      
      * fix lint
      
      * release RPCContext resources before process exits
      
      * [Debug] TPReceiver wait start log
      
      * [Debug] add log in get port
      
      * [Debug] add log
      
      * [ReDebug] revert time sleep in unit tests
      
      * [Debug] remove sleep for test_distri,test_mp
      
      * [debug] add more log
      
      * [debug] add listen_booted_ flag
      
      * [debug] restore commented code for queue
      
      * [debug] sleep more in rpc_client
      
      * restore change in tests
      
      * Revert "restore change in tests"
      
      This reverts commit 41a18926d181ec2517069389bfc41de2cc949280.
      
      * Revert "[debug] sleep more in rpc_client"
      
      This reverts commit a908e758eabca0a6ce62eb2e59baea02a840ac67.
      
      * Revert "[debug] restore commented code for queue"
      
      This reverts commit d3f993b3746e6bb6e2cc2f90204dd7e9461c6301.
      
      * Revert "[debug] add listen_booted_ flag"
      
      This reverts commit 244b2167d94942ff2a0acec8823b974975e52580.
      
      * Revert "[debug] add more log"
      
      This reverts commit 4b78447b0a575a824821dc7e25cca2246e6e30e2.
      
      * Revert "[Debug] remove sleep for test_distri,test_mp"
      
      This reverts commit e1df1aadcc8b1c2a0013ed77322ac391a8807612.
      
      * remove debug code
      
      * revert unnecessary change
      
      * revert unnecessary changes
      
      * always reset RPCContext when get started and reset all data
      
      * remove time.sleep in dist tests
      
      * fix lint
      
      * reset envs before each dist test
      
      * reset env properly
      
      * add time sleep when start each server
      
      * sleep for a while when boot server
      
      * replace wait_thread with callback
      
      * fix lint
      
      * add dglconnect handshake check
      Co-authored-by: default avatarJinjing Zhou <VoVAllen@users.noreply.github.com>
      37467e25
  7. 10 Jan, 2022 1 commit
  8. 07 Jan, 2022 1 commit
    • Quan (Andy) Gan's avatar
      [Feature] Negative sampling (#3599) · 90f10b31
      Quan (Andy) Gan authored
      * first commit
      
      * a bunch of fixes
      
      * add unique
      
      * lint
      
      * lint
      
      * lint
      
      * address comments
      
      * Update negative_sampler.py
      
      * fix
      
      * description
      
      * address comments and fix
      
      * fix
      
      * replace unique with replace
      
      * test pylint
      
      * Update negative_sampler.py
      90f10b31
  9. 04 Jan, 2022 1 commit
  10. 19 Dec, 2021 1 commit
  11. 16 Dec, 2021 1 commit
  12. 15 Dec, 2021 2 commits
    • 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
    • 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
  13. 08 Dec, 2021 1 commit
  14. 06 Dec, 2021 2 commits
    • Jinjing Zhou's avatar
      [RPC] Use tensorpipe for rpc communication (#3335) · a3ce780d
      Jinjing Zhou authored
      * doesn't know whether works
      
      * add change
      
      * fix
      
      * fix
      
      * fix
      
      * remove
      
      * revert
      
      * lint
      
      * lint
      
      * fix
      
      * revert
      
      * lint
      
      * fix
      
      * only build rpc on linux
      
      * lint
      
      * lint
      
      * fix build on windows
      
      * fix windows
      
      * remove old test
      
      * fix cmake
      
      * Revert "remove old test"
      
      This reverts commit f1ea75c777c34cdc1f08c0589676ba6aee1feb29.
      
      * fix windows
      
      * fix
      
      * fix
      
      * fix indent
      
      * fix indent
      
      * address comment
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * lint
      
      * fix indent
      
      * fix lint
      
      * add introduction
      
      * fix
      
      * lint
      
      * lint
      
      * add more logs
      
      * fix
      
      * update xbyak for C++14 with gcc5
      
      * Remove channels
      
      * fix
      
      * add test script
      
      * fix
      
      * remove unused file
      
      * fix lint
      
      * add timeout
      a3ce780d
    • Quan (Andy) Gan's avatar
      [Distributed] Edge-type-specific fanouts for heterogeneous graphs (#3558) · eb08ef38
      Quan (Andy) Gan authored
      * first commit
      
      * second commit
      
      * spaghetti unit tests
      
      * rewrite test
      eb08ef38
  15. 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
  16. 30 Nov, 2021 1 commit
  17. 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
  18. 17 Nov, 2021 1 commit
  19. 15 Nov, 2021 1 commit
  20. 10 Nov, 2021 1 commit
  21. 06 Nov, 2021 1 commit
  22. 04 Nov, 2021 2 commits
  23. 03 Nov, 2021 1 commit
  24. 21 Oct, 2021 1 commit
    • Xin Yao's avatar
      [Sampling] Implement dgl.compact_graphs() for the GPU (#3423) · a8c81018
      Xin Yao authored
      * gpu compact graph template
      
      * cuda compact graph draft
      
      * fix typo
      
      * compact graphs
      
      * pass unit test but fail in training
      
      * example using EdgeDataLoader on the GPU
      
      * refactor cuda_compact_graph and cuda_to_block
      
      * update training scripts
      
      * fix linting
      
      * fix linting
      
      * fix exclude_edges for the GPU
      
      * add --data-cpu & fix copyright
      a8c81018
  25. 18 Oct, 2021 2 commits
  26. 15 Oct, 2021 1 commit
  27. 14 Oct, 2021 1 commit
    • zexi yuan's avatar
      [Bugfix] three bugs related to using DGL as a subdirectory(third_party) of another project. (#3379) · 18863069
      zexi yuan authored
      * [Bugfix] fix a compile error for Debug-BuildType on Windows Platform
      
      When using CMakeLists.txt to build the "Debug" BuildType on the Windows Platform, it has three compile errors (C4716) in the file "dgl\src\runtime\shared_mem.cc":
      
      'dgl::runtime::SharedMemory::CreateNew': must return a value
      'dgl::runtime::SharedMemory::Open': must return a value
      'dgl::runtime::SharedMemory::Exist': must return a value
      
      * [Bugfix] cmake error "cannot find load file" when DGL as a sub_directory on Linux
      
      When using DGL as a subdirectory in a CMake Project, the "CMAKE_SOURCE_DIR" here will return the parent cmake scope dir, which is not a expected dir.
      Maybe it is better to use "CMAKE_CURRENT_SOURCE_DIR" to set "GKLIB_PATH".
      
      * [Bugfix] cmd cmake error when DGL as a subdirectory
      
      When DGL as a subdirectory of another project, the WORKING_DIRECTORY of "add_custom_command" will be incorrect at the line 255 of "CMakeLists.txt", such that making a cmake "setlocal" error.
      18863069
  28. 12 Oct, 2021 1 commit
  29. 29 Sep, 2021 1 commit
  30. 28 Sep, 2021 1 commit
  31. 22 Sep, 2021 1 commit
  32. 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
  33. 17 Sep, 2021 1 commit
  34. 16 Sep, 2021 1 commit