* add set_stream
* add .record_stream for NDArray and HeteroGraph
* refactor dgl stream Python APIs
* test record_stream
* add unit test for record stream
* use pytorch's stream
* fix lint
* fix cpu build
* address comments
* address comments
* add record stream tests for dgl.graph
* record frames and update dataloder
* add docstring
* update frame
* add backend check for record_stream
* remove CUDAThreadEntry::stream
* record stream for newly created formats
* fix bug
* fix cpp test
* fix None c_void_p to c_handle
* Use an internal cuda stream for CopyDataFromTo
* small fix white space
* Fix to compile
* Make stream optional in copydata for compile
* fix lint issue
* Update cub functions to use internal stream
* Lint check
* Update CopyTo/CopyFrom/CopyFromTo to use internal stream
* Address comments
* Fix backward CUDA stream
* Avoid overloading CopyFromTo()
* Minor comment update
* Overload copydatafromto in cuda device api
Co-authored-by: xiny <xiny@nvidia.com>
* Allocate tensors in DGL's current stream
* make tensoradaptor stream-aware
* replace TAemtpy with cpu allocator
* fix typo
* try fix cpu allocation
* clean header
* redirect AllocDataSpace as well
* resolve comments
* * Added missing specializations for `__half` of `DLDataTypeTraits`, `IndexSelect`, `Full`, `Scatter_`, `CSRGetData`, `CSRMM`, `CSRSum`, `IndexSelectCPUFromGPU`
* Fixed casting issue in `_LinearSearchKernel` that was preventing it from supporting `__half`
* Added `#if`'d out specializations of `CSRGEMM`, `CSRGEAM`, and `Xgeam`, which would require functions that aren't currently provided by cublas
* * Added more specific error messages for unimplemented FP16 specializations of Xgeam, CSRGEMM, and CSRGEAM
* * Added missing instantiation of DLDataTypeTraits<__half>::dtype
* * Fixed linter error
* Added clearer comment explaining why the cast to long long is necessary
* * Worked around a compile error in some particular setup, where __half can't be constructed on the host side
* * Fixed linter formatting errors
* * Changes to comments as recommended
* * Made recommended changes to logging errors in FP16 specializations
* Also changed the existing Xgeam function for unsupported data types from LOG(INFO) to LOG(FATAL)
* Explicitly unpin tensoradapter allocated arrays
* Undo unrelated change
* Add unit test
* update unit test
* add pinned_by_dgl flag to NDArray::Container
* use dgl.ndarray for holding the pinning status
* update multi-gpu uva inference
* reinterpret cast NDArray::Container* to DLTensor* in MoveAsDLTensor
* update unpin column and examples
* add unit test for unpin column
Co-authored-by: Dominique LaSalle <dlasalle@nvidia.com>
Co-authored-by: nv-dlasalle <63612878+nv-dlasalle@users.noreply.github.com>
* 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: Jinjing Zhou <VoVAllen@users.noreply.github.com>
* Pass the std:min argument's type, to avoid the compilation error.
* Update parallel_for.h
* Update negative_sampling.cc
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
* [Feature] enable create/set/free cuda stream for internal use
* add unit test
* fix unit test failure on mxnet and tf
* refactor stream wrapper
* fix lint error
* fix lint error
* [CPU, Parallel] Rewriting omp pragmas with parallel_for
* [CPU, Parallel] Decrease number of calls to task function
* c[CPU, Parallel] Modify calls to new interface of parallel_for
* [CPU Parallel] implementation of parallel_for with grain size
* Create parallel_for.h
* Update parallel_for.h
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
* first commit
* some thoughts
* move around
* more commit
* more fixes
* now it uses torch allocator
* fix symbol export error
* fix
* fixes
* test fix
* add script
* building separate library per version
* fix for vs2019
* more fixes
* fix on windows build
* update jenkinsfile
* auto copy built dlls for windows
* lint and installation guide update
* fix
* specify conda environment
* set environment for ci
* fix
* fix
* fix
* fix again
* revert
* fix cmake
* fix
* switch to using python interpreter path
* remove scripts
* debug
* oops sorry
* Update index.rst
* Update index.rst
* copies automatically, no need for this
* do not print message if library not found
* tiny fixes
* debug on nightly
* replace add_compile_definitions to make CMake 3.5 happy
* fix linking to wrong lib for multiple pytorch envs
* changed building strategy
* fix nightly
* fix windows
* fix windows again
* setup bugfix
* address comments
* change README
* Add async transferer class
* Add async ndarray copy interface
* Add python bindings
* Fix comment
* Add python class
* Fix linting issues
* Add python unit test
* Update python interface
* move async_transferer to cuda only directory
* Fix linting issue
* Move out of contrib
* Add doc strings
* Move test compute from backend
* Update comment
* Fix test naming
* Fix argument usage
* Wrap/unwrap backend parameters
* Move to dataloading
* Move to 'dataloading'
* Make GPU/CPU compatible
* Fix unit tests
* Add docs
* Use only backend interface for datamovement in unit test
* add cuda utils; change g.to; add g.device
* split array.h into several headers
* cuda index select
* file
* three cuda kernels
* add cuda elementwise arith and several others
* cuda CSRIsNonZero
* fix lint
* lint
* lint
* fix bug in changing ctx to property
* address comments
* remove unused codes
* address comments
* initial version from distributed training.
This is copied from multiprocessing training.
* modify for distributed training.
* it's runnable now.
* measure time in neighbor sampling.
* simplify neighbor sampling.
* fix a bug in distributed neighbor sampling.
* allow single-machine training.
* fix a bug.
* fix a bug.
* fix openmp.
* make some improvement.
* fix.
* add prepare in the sampler.
* prepare nodeflow async.
* fix a bug.
* get id.
* simplify the code.
* improve.
* fix partition.py
* fix the example.
* add more features.
* fix the example.
* allow one partition
* use distributed kvstore.
* do g2l map manually.
* fix commandline.
* a temp script to save reddit.
* fix pull_handler.
* add pytorch version.
* estimate the time for copying data.
* delete unused code.
* fix a bug.
* print id.
* fix a bug
* fix a bug
* fix a bug.
* remove redundent code.
* revert modify in sampler.
* fix temp script.
* remove pytorch version.
* fix.
* distributed training with pytorch.
* add distributed graph store.
* fix.
* add metis_partition_assignment.
* fix a few bugs in distributed graph store.
* fix test.
* fix bugs in distributed graph store.
* fix tests.
* remove code of defining DistGraphStore.
* fix partition.
* fix example.
* update run.sh.
* only read necessary node data.
* batching data fetch of multiple NodeFlows.
* simplify gcn.
* remove unnecessary code.
* use the new copy_from_kvstore.
* update training script.
* print time in graphsage.
* make distributed training runnable.
* use val_nid.
* fix train_sampling.
* add distributed training.
* add run.sh
* add more timing.
* fix a bug.
* save graph metadata when partition.
* create ndata and edata in distributed graph store.
* add timing in minibatch training of GraphSage.
* use pytorch distributed.
* add checks.
* fix a bug in global vs. local ids.
* remove fast pull
* fix a compile error.
* update and add new APIs.
* implement more methods in DistGraphStore.
* update more APIs.
* rename it to DistGraph.
* rename to DistTensor
* remove some unnecessary API.
* remove unnecessary files.
* revert changes in sampler.
* Revert "simplify gcn."
This reverts commit 0ed3a34ca714203a5b45240af71555d4227ce452.
* Revert "simplify neighbor sampling."
This reverts commit 551c72d20f05a029360ba97f312c7a7a578aacec.
* Revert "measure time in neighbor sampling."
This reverts commit 63ae80c7b402bb626e24acbbc8fdfe9fffd0bc64.
* Revert "add timing in minibatch training of GraphSage."
This reverts commit e59dc8957a414c7df5c316f51d78bce822bdef5e.
* Revert "fix train_sampling."
This reverts commit ea6aea9a4aabb8ba0ff63070aa51e7ca81536ad9.
* fix lint.
* add comments and small update.
* add more comments.
* add more unit tests and fix bugs.
* check the existence of shared-mem graph index.
* use new partitioned graph storage.
* fix bugs.
* print error in fast pull.
* fix lint
* fix a compile error.
* save absolute path after partitioning.
* small fixes in the example
* Revert "[kvstore] support any data type for init_data() (#1465)"
This reverts commit 87b6997bf2.
* fix a bug.
* disable evaluation.
* Revert "Revert "[kvstore] support any data type for init_data() (#1465)""
This reverts commit f5b8039c6326eb73bad8287db3d30d93175e5bee.
* support set and init data.
* support set and init data.
* Revert "Revert "[kvstore] support any data type for init_data() (#1465)""
This reverts commit f5b8039c6326eb73bad8287db3d30d93175e5bee.
* fix bugs.
* fix unit test.
* move to dgl.distributed.
* fix lint.
* fix lint.
* remove local_nids.
* fix lint.
* fix test.
* remove train_dist.
* revert train_sampling.
* rename funcs.
* address comments.
* address comments.
Use NodeDataView/EdgeDataView to keep track of data.
* address comments.
* address comments.
* revert.
* save data with DGL serializer.
* use the right way of getting shape.
* fix lint.
* address comments.
* address comments.
* fix an error in mxnet.
* address comments.
* add edge_map.
* add more test and fix bugs.
Co-authored-by: Zheng <dzzhen@186590dc80ff.ant.amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-6-131.us-east-2.compute.internal>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-26-167.us-east-2.compute.internal>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-16-150.us-west-2.compute.internal>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-16-250.us-west-2.compute.internal>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-30-135.us-west-2.compute.internal>
* 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