1. 13 Jul, 2021 1 commit
    • sanchit-misra's avatar
      [CPU][Kernel] Single socket spmm (#3024) · fac75e16
      sanchit-misra authored
      
      
      * optimizations of spmm for CPU
      
      * Added names of contributors
      
      * Minor code cleanup
      
      * Moved the spmm optimization code to a new header file
      
      * Moved to DGL's logging method
      
      * removed duplicate code between SpMMSumCsr and SpMMCmpCsr
      
      * Changes made to follow Google coding style
      
      * Fixed lint errors in spmm.h
      
      * Fixed some lint errors from spmm_blocking_libxsmm.h
      
      * Fixed lint errors from spmm_blocking_libxsmm.h
      
      * Added comments to SpMMCreateLibxsmmKernel
      
      * to enable building of tests, and other cosmetic changes
      
      * disabling libxsmm on windows
      
      * Put a condition to avoid opt impl for FP64 as libxsmm does not have FP64 support yet
      
      * cosmetic changes and documentation
      
      * cosmetic changes
      
      * to pass lint tests
      
      * replaced multiple allocations for buffers of indices and edges with a single allocation
      Co-authored-by: default avatarMinjie Wang <wmjlyjemaine@gmail.com>
      fac75e16
  2. 08 Jul, 2021 2 commits
  3. 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
  4. 02 Jul, 2021 2 commits
  5. 27 Jun, 2021 1 commit
    • Jinjing Zhou's avatar
      [Build] Make nccl optional (#3056) · 9664cdff
      Jinjing Zhou authored
      * fix
      
      * remove nvidiasmi
      
      * fix
      
      * fix docs
      
      * fix
      
      * fix
      
      * 1
      
      * fix
      
      * remove
      
      * skip deprecated kernel
      
      * fix
      
      * Revert "skip deprecated kernel"
      
      This reverts commit c5ceb7f60dbbaf065b81cc3680757fd611d90ad3.
      
      * fix
      9664cdff
  6. 25 Jun, 2021 1 commit
  7. 23 Jun, 2021 3 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
    • nv-dlasalle's avatar
    • 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
  8. 22 Jun, 2021 1 commit
    • Israt Nisa's avatar
      [Kernel] Add heterograph support in CUDA kernels (SpMM, SDDMM) (#2925) · 1113f674
      Israt Nisa authored
      
      
      * Added heterograph support SpMM, SDDMM
      
      * bug fix cuda stream
      
      * add cudaStrm destroy and fix whitespace
      
      * Added heterograph support SpMM, SDDMM
      
      * bug fix cuda stream
      
      * add cudaStrm destroy and fix whitespace
      
      * changed max stream = 1
      
      * Fixed ctx
      
      * using default stream
      
      * Added heterograph support SpMM, SDDMM
      
      * bug fix cuda stream
      
      * add cudaStrm destroy and fix whitespace
      
      * changed max stream = 1
      
      * Fixed ctx
      
      * using default stream
      
      * fix bug in copy_rhs
      
      * changed by mistake
      
      * minor datatype change
      
      * added datatype check
      Co-authored-by: default avatarIsrat Nisa <nisisrat@amazon.com>
      1113f674
  9. 21 Jun, 2021 1 commit
  10. 16 Jun, 2021 1 commit
  11. 15 Jun, 2021 1 commit
  12. 13 Jun, 2021 1 commit
  13. 11 Jun, 2021 2 commits
    • Tomasz Patejko's avatar
    • nv-dlasalle's avatar
      [Feature] Allow using NCCL for communication in dgl.NodeEmbedding and dgl.SparseOptimizer (#2824) · 17d604b5
      nv-dlasalle authored
      
      
      * Split from NCCL PR
      
      * Fix type in comment
      
      * Expand documentation for sparse_all_to_all_push
      
      * Restore previous behavior in example
      
      * Re-work optimizer to use NCCL based on gradient location
      
      * Allow for running with embedding on CPU but using NCCL for gradient exchange
      
      * Optimize single partition case
      
      * Fix pylint errors
      
      * Add missing include
      
      * fix gradient indexing
      
      * Fix line continuation
      
      * Migrate 'first_step'
      
      * Skip tests without enough GPUs to run NCCL
      
      * Improve empty tensor handling for pytorch 1.5
      
      * Fix indentation
      
      * Allow multiple NCCL communicator to coexist
      
      * Improve handling of empty message
      
      * Update python/dgl/nn/pytorch/sparse_emb.py
      Co-authored-by: default avatarxiang song(charlie.song) <classicxsong@gmail.com>
      
      * Update python/dgl/nn/pytorch/sparse_emb.py
      Co-authored-by: default avatarxiang song(charlie.song) <classicxsong@gmail.com>
      
      * Keepy empty tensor dimensionaless
      
      * th.empty -> th.tensor
      
      * Preserve shape for empty non-zero dimension tensors
      
      * Use shared state, when embedding is shared
      
      * Add support for gathering an embedding
      
      * Fix typo
      
      * Fix more typos
      
      * Fix backend call
      
      * Use NodeDataLoader to take advantage of ddp
      
      * Update training script to share memory
      
      * Only squeeze last dimension
      
      * Better handle empty message
      
      * Keep embedding on the target device GPU if dgl_sparse if false in RGCN example
      
      * Fix typo in comment
      
      * Add asserts
      
      * Improve documentation in example
      Co-authored-by: default avatarxiang song(charlie.song) <classicxsong@gmail.com>
      17d604b5
  14. 10 Jun, 2021 2 commits
  15. 03 Jun, 2021 1 commit
  16. 01 Jun, 2021 1 commit
    • Qidong Su's avatar
      [Feature][Sampler] Sort CSR by tag (#1664) · b8fe2b48
      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
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * update
      Co-authored-by: default avatarMinjie Wang <wmjlyjemaine@gmail.com>
      b8fe2b48
  17. 28 May, 2021 1 commit
  18. 25 May, 2021 1 commit
  19. 20 May, 2021 1 commit
    • nv-dlasalle's avatar
      [Feature][Performance] Implement NCCL wrapper for communicating NodeEmbeddings... · ae8dbe6d
      nv-dlasalle authored
      
      [Feature][Performance] Implement NCCL wrapper for communicating NodeEmbeddings and sparse gradients. (#2825)
      
      * Split NCCL wrapper from sparse optimizer and sparse embedding
      
      * Add more unit tests for single node nccl
      
      * Fix unit test for tf
      
      * Switch to device histogram
      
      * Fix histgram issues
      
      * Finish migration to histogram
      
      * Handle cases with zero send/recieve data
      
      * Start on partition object
      
      * Get compiling
      
      * Updates
      
      * Add unit tests
      
      * Switch to partition object
      
      * Fix linting issues
      
      * Rename partition file
      
      * Add python doc
      
      * Fix python assert and finish doxygen comments
      
      * Remove stubs for range based partition to satisfy pylint
      
      * Wrap unit test in GPU only
      
      * Wrap explicit cuda call in ifdef
      
      * Merge with partition.py
      
      * update docstrings
      
      * Cleanup partition_op
      
      * Add Workspace object
      
      * Switch to using workspace object
      
      * Move last remainder based function out of nccl_api
      
      * Add error messages
      
      * Update docs with examples
      
      * Fix linting erros
      Co-authored-by: default avatarxiang song(charlie.song) <classicxsong@gmail.com>
      ae8dbe6d
  20. 19 May, 2021 1 commit
  21. 18 May, 2021 1 commit
  22. 17 May, 2021 1 commit
  23. 28 Apr, 2021 1 commit
  24. 27 Apr, 2021 1 commit
  25. 25 Apr, 2021 1 commit
  26. 22 Apr, 2021 1 commit
  27. 16 Apr, 2021 1 commit
    • nv-dlasalle's avatar
      [Performance] Track sorted status of COO from creation (#2645) · bbebde46
      nv-dlasalle authored
      
      
      * Add row/col sorted flags
      
      * improve sorting paths
      
      * Remove print statement
      
      * Keep track of sorted matrices
      
      * Remove sort check in to_block
      
      * Improve CPU sorted COO->CSR
      
      * Handle the zero edge case
      
      * Remove omp default clause to work with MSVC
      
      * Update comments on sorted COO->CSR cpu implementatoin
      
      * Expose sorted to python interface
      
      * Make check_sorted default to false for dgl.graph()
      
      * remove check sorted; add utests
      
      * remove check_sorted flag
      Co-authored-by: default avatarMinjie Wang <wmjlyjemaine@gmail.com>
      bbebde46
  28. 15 Apr, 2021 1 commit
    • nv-dlasalle's avatar
      [Performance][GPU] Enable GPU uniform edge sampling (#2716) · e70138bb
      nv-dlasalle authored
      
      
      * Start on uniform GPU sampling
      
      * Save more work
      
      * Get cu file compiling
      
      * Update sampling
      
      * More changes
      
      * Get GPU sampling for uniform probabilities solved
      
      * Fix batch tensor migration
      
      * Fix
      
      * update kernels
      
      * expand blocking
      
      * Undo testing change
      
      * Cut down on sampling overhead
      
      * Fix replacement
      
      * Update unit tests
      
      * Add option to gpu sample in graphsage
      
      * Copy only csc to gpu
      
      * Add ogbn support
      
      * Fix linting
      
      * Remove nvtx from sample
      
      * Improve documentation and error checking
      
      * Expand documentation
      
      * Update assert checking
      
      * delete extra space
      
      * Use standard dataloader when dataset is a dictionary
      
      * ogb -> ogbn
      
      * Fix edge selection determinism
      
      * Fix typos
      
      * Remove nvtx
      
      * Add comment for self.fanout_arrays and assert
      
      * Fix linting
      
      * Migrate to scalarbatcher
      
      * Fix indentation
      
      * Fix batcher
      
      * Fix indexing
      
      * Only use databatcher for GPU
      
      * Convert to DGL NDArray to PyTorch Tensor
      
      * Add optimization for PyTorch's F.tensor() for list of GPU tensors
      Co-authored-by: default avatarDa Zheng <zhengda1936@gmail.com>
      e70138bb
  29. 09 Apr, 2021 1 commit
  30. 05 Apr, 2021 1 commit
  31. 01 Apr, 2021 1 commit
  32. 25 Mar, 2021 1 commit
  33. 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
  34. 22 Mar, 2021 1 commit