Da Zheng
8651be54c2
[Perf] Accelerate block_compute when all nodes are invoked. ( #434 )
...
* refactor.
* accelerate update_all in nodeflow.
* fix.
* refactor.
* fix lint.
* fix lint.
* reorganize.
* reorg.
* remove.
* add doc.
* impl block_incidence_matrix
* fix lint.
* fix.
* simple fix.
* fix test.
* fix interface.
* fix eid.
* fix comments.
2019-03-07 13:39:39 -08:00
Da Zheng
f370e628cd
[Feature] add NodeFlow API ( #361 )
...
* sample layer subgraphs.
* fix.
* fix.
* add layered subgraph.
* fix lint.
* fix.
* fix tutorial.
* fix.
* remove copy_to_parent.
* add num_layers
* move sampling code to sampler.cc
* fix.
* move subgraph construction out.
* Revert "move subgraph construction out."
This reverts commit 24b3d13b0d8ed5f91847ea75a7674ee8f7d45cff.
* change to NodeFlow.
* use NodeFlow in Python.
* use NodeFlowIndex.
* add node_mapping and edge_mapping.
* remove unnecessary code in SSE tutorial.
* Revert "remove unnecessary code in SSE tutorial."
This reverts commit 093f0413d5fa2e63ca5f80c46c80a126a9fb720c.
* fix tutorial.
* move to node_flow.
* update gcn cv updater.
* import NodeFlow.
* update.
* add demo code for vanilla control variate sampler.
* update.
* update.
* add neighbor sampling.
* return flow offsets.
* update node_flow.
* add test.
* fix sampler.
* fix graph index.
* fix a bug in sampler.
* fix map_to_layer_nid and map_to_flow_eid.
* fix apply_flow.
* remove model code.
* implement flow_compute.
* fix a bug.
* reverse the csr physically.
* add mini-batch test.
* add mini batch test.
* update flow_compute.
* add prop_flows
* run on specific nodes.
* test copy
* fix a bug in creating frame in NodeFlow.
* add init gcn_cv_updater.
* fix a minor bug.
* fix gcn_cv_updater.
* fix a bug.
* fix a bug in NodeFlow.
* use new h in gcn_cv_updater.
* add layer_in_degree and layer_out_degree.
* fix gcn_cv_updater for gpu.
* temp fix in NodeFlow for diff context.
* allow enabling/disabling copy back.
* add with-updater option.
* fix a bug in computing degree.
* add with-cv option.
* rename and add comments.
* fix lint complain.
* fix lint.
* avoid assert.
* remove assert.
* fix.
* fix.
* fix.
* fix.
* fix the methods in NodeFlow.
* fix lint.
* update SSE.
* remove gcn_cv_updater.
* correct comments for the schedulers.
* update comment.
* add map_to_nodeflow_nid
* address comment.
* remove duplicated test.
* fix int.
* fix comments.
* fix lint
* fix.
* replace subgraph with NodeFlow.
* move view.
* address comments.
* fix lint.
* fix lint.
* remove static_cast.
* fix docstring.
* fix comments.
* break SampleSubgraph.
* move neighbor sampling to sampler.cc
* fix comments.
* rename.
* split neighbor_list.
* address comments.
* fix.
* remove TODO.
2019-02-19 15:49:28 -08:00
VoVAllen
5b9147c464
[Feature] Edge Group Apply API ( #358 )
...
* add rtfd
* rrr
* update
* change env
* temp fix
* update
* fix
* fix
* add
* conf
* Move file_pattern from Makefile to conf.py
* remove yml
* fix
* fix
* fix
* fix
* remove yml
* remove yml
* add doc docker
* add dgl install script
* change name
* change dockerfile
* fix
* name
* add
* fix
* fix
* fix
* fix
* fix docker
* delete sphinx.py for doc-build backend
* Add softmax to test backend
* Add group apply function and tests
* Delete unnecessary file
* Update comments and test
* Fix lint
* remove unused bucketing code
* group apply edge bucketing code
* gen degree bucket schedule for group apply edge
* schedule and graph code
* fix compiling
* fix
* fix lint
* naming
* harder test case
* fix comments
* more comments
* tweak function name
2019-02-03 11:14:52 -05:00
Lingfan Yu
ed1948b555
[BugFix] Make program thread-local to support multi-threading ( #338 )
...
* make program thread local
* doc string
2019-01-12 22:04:08 -05:00
brett koonce
707334ce85
minor spelling tweaks ( #349 )
...
* minor spelling tweaks
* Update CONTRIBUTORS.md
2019-01-10 12:02:31 -05:00
Minjie Wang
4bd4d6e348
[Lint] Pylint ( #330 )
...
* fix lint for graph_index.py
* pylint for base.py
* pylint for batched_graph.py
* pylint for frame.py; simplify and fix bugs in frame when index is slice type
* pylint for graph.py
* pylint for immutable_graph_index.py
* pylint for init.py
* pylint for rest files in root package
* pylint for _ffi package
* pylint for function package
* pylint for runtime package
* pylint for runtime.ir package
* add pylint to ci
* fix mx tests
* fix lint errors
* fix ci
* fix as requested
* fix lint
2019-01-01 15:15:41 -05:00
Lingfan Yu
2664ed2dff
[Bugfix] Fix multiple send recv ( #320 )
...
* fix bug: frame append should check itself
* more test case
* fix multi-send-recv bug
* remv msg graph and clean up
* test cases
* more test case
* fix for batchedgraph
* fix bugs: converting from a graph with edges
* fix
* add more operators to utils.Index
* clear frame executor
* change message indicator to a graph level index
* fix test cases
* guard the case that mxnet does not support concat zero shape tensor
* fix bug: avoid convert full slice to numpy
* test multi-send-recv after conversion
* fix as request (partially)
* add dtype, ctx to full_1d
* add slice data to utils.Index
* fix
* more doc string
* fix as requested
2018-12-23 21:35:49 -05:00
Minjie Wang
f35ac5443e
[Graph][Model] Cache adj & inc; MX GCN ( #307 )
...
* add cache to adj and incmat
* Fix bug in cached adj/inc
* mx gcn spmv runnable; acc debugging...
* fix bug in mx gcn that loss is not correctly calculated
* fix mx utest
* fix as requested
* use raw parameter tensors rather than dense layer
* fix dropout
* Add numbers in readme
2018-12-16 22:51:01 -05:00
Minjie Wang
21255b6528
[Bugfix] tolist and dependencies in dgl.data ( #239 )
...
* change Index.tolist -> Index.tonumpy; fix bug in traversal; remove dependencies in data
* fix import
* fix __all__ and some docstring
2018-12-05 12:20:59 -05:00
Minjie Wang
eafcb7e7f5
[Bugfix][MXNet] Fix edge order and builtin max bug in mx ( #247 )
...
* Fix edge order and builtin max bug in mx
* fix as requested
2018-12-05 01:32:54 -08:00
Lingfan Yu
52ed09a392
[Bug] Fix inplace update ( #221 )
...
* inplace write row op and executor
* update scheduler and graph to use inplace write
* fix
* fix bug
* test case for inplace
* fix bugs for inplace apply node/edge
* fix comments
* th.allclose -> U.allclose
2018-12-02 19:14:39 -05:00
Minjie Wang
b82b8e2d2a
[Schedule] get rid of unnecessary graph.edges() call for v2v-spmv update_all ( #179 )
2018-11-27 00:37:03 -05:00
Minjie Wang
524e656dd6
[Bugfix] enable SPMV for multi-dimension node feature ( #178 )
...
* Support multi-dimension node feature in SPMV
* fix as requested
2018-11-26 11:12:28 -05:00
Minjie Wang
b1eeb93449
[Bugfix][Runtime] Zero degree behaviors ( #177 )
...
* fix recv nodes are all 0deg; fix hybriddict does not through keyerror properly
* fallback to apply_nodes when all nodes are 0deg; WIP on pull spmv 0deg
* new 0deg behavior
* new 0deg behavior
* update mx utest for pull-0deg
* fix mx
* fix mx
* get rid of unnecessary sort-n-unique
2018-11-25 22:33:08 -05:00
Lingfan Yu
deb653f8dc
[Runtime] Scheduler and Executor ( #140 )
...
* executor api
* draft executor interface
* WIP
* revert changes to avoid conflict with api change
* core scheduling logic
* WIP: build graph adj
* incidence matrix for in edges
* support incidence matrix for partial recv nodes
* improve
* build adjmat in scheduler
* graph store
* get degree bucketing schedule
* connect to c++ degree bucketing
* conceptual executor creation code
* executor comments
* fix
* more executor comments
* WIP: full send_and_recv schedule
* most schedulers
* simplify scheduler
* executors
* runtime
* builtin function base class
* adj indices and shape
* completely refactor scheduler
* rename and move bundled out to function.py
* use_edge_feature in msg func
* rewrite scheduler
* node edge executor
* connect with graph api
* handle zero degree
* misc
* fix test cases
* fix a good many bugs...
* remove old scheduler
* push and pull
* fix send recv
* c++ lint
* fix batched send recv
* hot fix for mxnet
* typo
* write back executor
* apply node edge
* clean up, doc string
* fix as requested
* refactor
* fix
* WIP
* WIP
* ir draft
* more on ir
* WIP: spmv schedule
* WIP
* recv schedule
* refactor
* WIP
* snr degree bucketing
* snr scheduler
* move prog to graph.py; rename
* unittest for send/recv
* remove some legacy codes
* WIP: update_all
* pass test_basics
* passed all current utests
* more utests; fix mx utest
* WIP: fixing zero deg initial value
* some tests
* fix 0deg problem
* fix mx
* fix mx
* some notes
* fix as requested
2018-11-22 12:15:50 -05:00