1. 23 Jun, 2021 2 commits
  2. 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
  3. 21 Jun, 2021 1 commit
  4. 16 Jun, 2021 1 commit
  5. 15 Jun, 2021 1 commit
  6. 13 Jun, 2021 1 commit
  7. 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
  8. 10 Jun, 2021 2 commits
  9. 03 Jun, 2021 1 commit
  10. 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
  11. 28 May, 2021 1 commit
  12. 25 May, 2021 1 commit
  13. 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
  14. 19 May, 2021 1 commit
  15. 18 May, 2021 1 commit
  16. 17 May, 2021 1 commit
  17. 28 Apr, 2021 1 commit
  18. 27 Apr, 2021 1 commit
  19. 25 Apr, 2021 1 commit
  20. 22 Apr, 2021 1 commit
  21. 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
  22. 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
  23. 09 Apr, 2021 1 commit
  24. 05 Apr, 2021 1 commit
  25. 01 Apr, 2021 1 commit
  26. 25 Mar, 2021 1 commit
  27. 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
  28. 22 Mar, 2021 2 commits
  29. 09 Mar, 2021 1 commit
  30. 05 Mar, 2021 1 commit
  31. 21 Feb, 2021 1 commit
  32. 08 Feb, 2021 1 commit
    • nv-dlasalle's avatar
      [Sampling] Implement `dgl.to_block()` for the GPU (#2339) · bc3a532f
      nv-dlasalle authored
      
      
      * Add start of to_block gpu implementation
      
      * Pull in more changes from 0.4.2 cuda_to_block
      
      * Move more code to IdArray
      
      * Refactor DeviceNodeMapMaker
      
      * Updates
      
      * get compiling
      
      * Integrate to_block
      
      * Fix ID allocation
      
      * Minor fixes
      
      * Cleanup cuda calls to use cuda_common
      
      * Reduce kernel calls
      
      * Lint cleanup
      
      * Expand documentation
      
      * Remove unused function
      
      * Rename variables for consistency
      
      * Add doxygen comments
      
      * Fix file extension
      
      * Remove raw asynccopy for deviceapi
      
      * Remove unused function
      
      * Fix block/tile configuration
      
      * Add cuda_device_common.cuh
      
      * Add basic hashtable
      
      * Migrate part of hashtable
      
      * Refactor to use external hashtable
      
      * Make functions members
      
      * Format hash table functions
      
      * Migrate duplicate filling
      
      * Move last function over
      
      * Refactor with cu file
      
      * lint c++ code
      
      * Move context check to C++ code
      
      * Use macro switch
      
      * Add missing files
      
      * Update docstring
      
      * update docs
      
      * Move atomic functions
      
      * Refactor hashtable
      
      * Fix linting
      
      * Expand docs
      
      * Fix mismatched argument names
      
      * Switch doxygen comments from using @param to \param
      Co-authored-by: default avatarJinjing Zhou <VoVAllen@users.noreply.github.com>
      Co-authored-by: default avatarMinjie Wang <wmjlyjemaine@gmail.com>
      bc3a532f
  33. 29 Jan, 2021 1 commit
  34. 28 Jan, 2021 1 commit
  35. 27 Jan, 2021 2 commits
    • xiang song(charlie.song)'s avatar
      [Feature] Add support for sparse embedding (#2451) · a7e941c3
      xiang song(charlie.song) authored
      
      
      * Add sparse embedding for dgl and update rgcn example
      
      * upd
      
      * Fix
      
      * Revert "Fix"
      
      This reverts commit 4da87cdfb8b8c3506b7fc7376cd2385ba8045c2a.
      
      * Fix
      
      * upd
      
      * upd
      
      * Fix
      
      * Add unitest and update impl
      
      * fix
      
      * Clean up rgcn example code
      
      * upd
      
      * upd
      
      * update
      
      * Fix
      
      * update score
      
      * sparse for sage
      
      * remove model sparse
      
      * upd
      
      * upd
      
      * remove global norm
      
      * revert delete model_sparse.py
      
      * update according to comments
      
      * Fix doc
      
      * upd
      
      * Fix test
      
      * upd
      
      * lint
      
      * lint
      
      * lint
      
      * upd
      
      * upd
      
      * clean up
      Co-authored-by: default avatarUbuntu <ubuntu@ip-172-31-56-220.ec2.internal>
      a7e941c3
    • nv-dlasalle's avatar
      [Performance] Improve COO to CSR, and sort columns of CSR only when necessary. (#2391) · 2576647c
      nv-dlasalle authored
      * Remove double-checking sorted
      
      * Remove sorting of CSR by default
      
      * Update unit test to use unsorted matix
      
      * delete whitespace
      
      * Expand unit tests
      
      * Replace cusparse sort
      
      * Fix row column sorting
      
      * Explicitly don't sort columns
      
      * Fix linting errors
      
      * Fix bit-width calculation
      
      * Fix sorting assertion and unit test
      
      * Fix linting
      
      * Improve CPU COO2CSR
      
      * Remove references
      
      * Rename and add documentation to edge encoding/decoding funcionts
      
      * Fix sorting keys as 64 bit
      
      * Revert cosmetic changes to unit tests
      
      * Update documentation
      
      * Update complexity documentation for coo to csr conversion
      
      * Remove COOIsSorted check in CPU implementation too
      2576647c