Zihao Ye
650f6ee1e0
[NN] Add commonly used GNN models from examples to dgl.nn modules. ( #748 )
...
* gat
* upd
* upd sage
* upd
* upd
* upd
* upd
* upd
* add gmmconv
* upd ggnn
* upd
* upd
* upd
* upd
* add citation examples
* add README
* fix cheb
* improve doc
* formula
* upd
* trigger
* lint
* lint
* upd
* add test for transform
* add test
* check
* upd
* improve doc
* shape check
* upd
* densechebconv, currently not correct (?)
* fix cheb
* fix
* upd
* upd sgc-reddit
* upd
* trigger
2019-08-27 18:21:19 +08:00
Quan (Andy) Gan
52d4535b61
[Hetero][RFC] Heterogeneous graph Python interfaces & Message Passing ( #752 )
...
* moving heterograph index to another file
* node view
* python interfaces
* heterograph init
* bug fixes
* docstring for readonly
* more docstring
* unit tests & lint
* oops
* oops x2
* removed node/edge addition
* addressed comments
* lint
* rw on frames with one node/edge type
* homograph with underlying heterograph demo
* view is not necessary
* bugfix
* replace
* scheduler, builtins not working yet
* moving bipartite.h to header
* moving back bipartite to bipartite.h
* oops
* asbits and copyto for bipartite
* tested update_all and send_and_recv
* lightweight node & edge type retrieval
* oops
* sorry
* removing obsolete code
* oops
* lint
* various bug fixes & more tests
* UDF tests
* multiple type number_of_nodes and number_of_edges
* docstring fixes
* more tests
* going for dict in initialization
* lint
* updated api as per discussions
* lint
* bug
* bugfix
* moving back bipartite impl to cc
* note on views
* fix
2019-08-23 15:45:37 -04:00
Da Zheng
be936da849
use FFI for subgraph. ( #781 )
2019-08-21 01:04:11 -07:00
Quan (Andy) Gan
86f28d6553
[Misc] Provide a "return 1s instead of edge IDs" option in scipy adjacency matrix ( #730 )
...
* return 1 option in scipy adjacency matrix
* lint
* use dgl warning
* i'm an idiot
* lint x2
* rename
2019-07-29 21:40:09 +08:00
Minjie Wang
7ad663c3a9
[Hetero] Heterograph C++ implementation; Bipartite and Python wrapper ( #725 )
...
* finish bipartite graph implementation; compiled
* finished heterograph implementation; compiled
* WIP: apis
* C API codes
* compiled
* WIP: python
* HeteroGraphIndex
* WIP: test
* add DGLContext support in ffi
* fix bug in has edge
* unittests except edge subgraph
* edge subgraph
* fix lint
* address comments
* poke ci
* try fix
* fix msvc
2019-07-27 15:22:56 -04:00
Minjie Wang
67dc11971f
[Refactor] Use object system for all CAPIs ( #716 )
...
* WIP: using object system for graph
* c++ side refactoring done; compiled
* remove stale apis
* fix bug in DGLGraphCreate; passed test_graph.py
* fix bug in python modify; passed utest for pytorch/cpu
* fix lint
* address comments
2019-07-23 12:47:05 -04:00
Minjie Wang
b0d9e7aa43
[Refactor] Separating graph and sparse matrix operations ( #699 )
...
* WIP: array refactoring
* WIP: implementation
* wip
* most csr part
* WIP: on coo
* WIP: coo
* finish refactoring immutable graph
* compiled
* fix undefined ndarray copy bug; add COOToCSR when coo has no data array
* fix bug in COOToCSR
* fix bug in CSR constructor
* fix bug in in_edges(vid)
* fix OutEdges bug
* pass test_graph
* pass test_graph
* fix bug in CSR constructor
* fix bug in CSR constructor
* fix bug in CSR constructor
* fix stupid bug
* pass gpu test
* remove debug printout
* fix lint
* rm biparate grpah
* fix lint
* address comments
* fix bug in Clone
* cpp utests
2019-07-17 17:49:38 -04:00
Da Zheng
94ecb8eb96
[BUGFIX] copy graph index to shared memory. ( #634 )
...
* copy graph index to shared memory.
* fix.
* fix.
* fix.
* use a diff name for in-csr and out-csr.
* fix lint.
* remove print.
* add test.
* add comments.
2019-06-12 01:32:25 -07:00
Zihao Ye
baa16231f3
[Feature] Remove nodes/edges. ( #599 )
...
* upd
* upd
* reformat
* upd
* upd
* add test
* fix arange
* fix slight bug
* upd
* trigger
* upd docs
* upd
* upd
* upd
* change subgraph to be raw data wrapper
* upd
* fix test
2019-06-08 13:44:36 +08:00
Lingfan Yu
653428bdc7
[Feature][Kernel] DGL kernel support ( #596 )
...
* [Kernel] Minigun integration and fused kernel support (#519 )
* kernel interface
* add minigun
* Add cuda build
* functors
* working on binary elewise
* binary reduce
* change kernel interface
* WIP
* wip
* fix minigun
* compile
* binary reduce kernels
* compile
* simple test passed
* more reducers
* fix thrust problem
* fix cmake
* fix cmake; add proper guard for atomic
* WIP: bcast
* WIP
* bcast kernels
* update to new minigun pass-by-value practice
* broadcasting dim
* add copy src and copy edge
* fix linking
* fix none array problem
* fix copy edge
* add device_type and device_id to backend operator
* cache csr adj, remove cache for adjmat and incmat
* custom ops in backend and pytorch impl
* change dgl-mg kernel python interface
* add id_mapping var
* clean up plus v2e spmv schedule
* spmv schedule & clean up fall back
* symbolic message and reduce func, remove bundle func
* new executors
* new backend interface for dgl kernels and pytorch impl
* minor fix
* fix
* fix docstring, comments, func names
* nodeflow
* fix message id mapping and bugs...
* pytorch test case & fix
* backward binary reduce
* fix bug
* WIP: cusparse
* change to int32 csr for cusparse workaround
* disable cusparse
* change back to int64
* broadcasting backward
* cusparse; WIP: add rev_csr
* unit test for kernels
* pytorch backward with dgl kernel
* edge softmax
* fix backward
* improve softmax
* cache edge on device
* cache mappings on device
* fix partial forward code
* cusparse done
* copy_src_sum with cusparse
* rm id getter
* reduce grad for broadcast
* copy edge reduce backward
* kernel unit test for broadcasting
* full kernel unit test
* add cpu kernels
* edge softmax unit test
* missing ref
* fix compile and small bugs
* fix bug in bcast
* Add backward both
* fix torch utests
* expose infershape
* create out tensor in python
* fix c++ lint
* [Kernel] Add GPU utest and kernel utest (#524 )
* fix gpu utest
* cuda utest runnable
* temp disable test nodeflow; unified test for kernel
* cuda test kernel done
* [Kernel] Update kernel branch (#550 )
* [Model] add multiprocessing training with sampling. (#484 )
* reorganize sampling code.
* add multi-process training.
* speed up gcn_cv
* fix graphsage_cv.
* add new API in graph store.
* update barrier impl.
* support both local and distributed training.
* fix multiprocess train.
* fix.
* fix barrier.
* add script for loading data.
* multiprocessing sampling.
* accel training.
* replace pull with spmv for speedup.
* nodeflow copy from parent with context.
* enable GPU.
* fix a bug in graph store.
* enable multi-GPU training.
* fix lint.
* add comments.
* rename to run_store_server.py
* fix gcn_cv.
* fix a minor bug in sampler.
* handle error better in graph store.
* improve graphsage_cv for distributed mode.
* update README.
* fix.
* update.
* [Tutorial] add sampling tutorial. (#522 )
* add sampling tutorial.
* add readme
* update author list.
* fix indent in the code.
* rename the file.
* update tutorial.
* fix the last API.
* update image.
* [BUGFIX] fix the problems in the sampling tutorial. (#523 )
* add index.
* update.
* update tutorial.
* fix gpu utest
* cuda utest runnable
* temp disable test nodeflow; unified test for kernel
* cuda test kernel done
* Fixing typo in JTNN after interface change (#536 )
* [BugFix] Fix getting src and dst id of ALL edges in NodeFlow.apply_block (#515 )
* [Bug Fix] Fix inplace op at backend (#546 )
* Fix inplace operation
* fix line seprator
* [Feature] Add batch and unbatch for immutable graph (#539 )
* Add batch and unbatch for immutable graph
* fix line seprator
* fix lintr
* remove unnecessary include
* fix code review
* [BUGFix] Improve multi-processing training (#526 )
* fix.
* add comment.
* remove.
* temp fix.
* initialize for shared memory.
* fix graphsage.
* fix gcn.
* add more unit tests.
* add more tests.
* avoid creating shared-memory exclusively.
* redefine remote initializer.
* improve initializer.
* fix unit test.
* fix lint.
* fix lint.
* initialize data in the graph store server properly.
* fix test.
* fix test.
* fix test.
* small fix.
* add comments.
* cleanup server.
* test graph store with a random port.
* print.
* print to stderr.
* test1
* test2
* remove comment.
* adjust the initializer signature.
* [API] update graph store API. (#549 )
* add init_ndata and init_edata in DGLGraph.
* adjust SharedMemoryGraph API.
* print warning.
* fix comment.
* update example
* fix.
* fix examples.
* add unit tests.
* add comments.
* [Refactor] Immutable graph index (#543 )
* WIP
* header
* WIP .cc
* WIP
* transpose
* wip
* immutable graph .h and .cc
* WIP: nodeflow.cc
* compile
* remove all tmp dl managed ctx; they caused refcount issue
* one simple test
* WIP: testing
* test_graph
* fix graph index
* fix bug in sampler; pass pytorch utest
* WIP on mxnet
* fix lint
* fix mxnet unittest w/ unfortunate workaround
* fix msvc
* fix lint
* SliceRows and test_nodeflow
* resolve reviews
* resolve reviews
* try fix win ci
* try fix win ci
* poke win ci again
* poke
* lazy multigraph flag; stackoverflow error
* revert node subgraph test
* lazy object
* try fix win build
* try fix win build
* poke ci
* fix build script
* fix compile
* add a todo
* fix reviews
* fix compile
* [Kernel] Update kernel branch (#576 )
* [Model] add multiprocessing training with sampling. (#484 )
* reorganize sampling code.
* add multi-process training.
* speed up gcn_cv
* fix graphsage_cv.
* add new API in graph store.
* update barrier impl.
* support both local and distributed training.
* fix multiprocess train.
* fix.
* fix barrier.
* add script for loading data.
* multiprocessing sampling.
* accel training.
* replace pull with spmv for speedup.
* nodeflow copy from parent with context.
* enable GPU.
* fix a bug in graph store.
* enable multi-GPU training.
* fix lint.
* add comments.
* rename to run_store_server.py
* fix gcn_cv.
* fix a minor bug in sampler.
* handle error better in graph store.
* improve graphsage_cv for distributed mode.
* update README.
* fix.
* update.
* [Tutorial] add sampling tutorial. (#522 )
* add sampling tutorial.
* add readme
* update author list.
* fix indent in the code.
* rename the file.
* update tutorial.
* fix the last API.
* update image.
* [BUGFIX] fix the problems in the sampling tutorial. (#523 )
* add index.
* update.
* update tutorial.
* fix gpu utest
* cuda utest runnable
* temp disable test nodeflow; unified test for kernel
* cuda test kernel done
* Fixing typo in JTNN after interface change (#536 )
* [BugFix] Fix getting src and dst id of ALL edges in NodeFlow.apply_block (#515 )
* [Bug Fix] Fix inplace op at backend (#546 )
* Fix inplace operation
* fix line seprator
* [Feature] Add batch and unbatch for immutable graph (#539 )
* Add batch and unbatch for immutable graph
* fix line seprator
* fix lintr
* remove unnecessary include
* fix code review
* [BUGFix] Improve multi-processing training (#526 )
* fix.
* add comment.
* remove.
* temp fix.
* initialize for shared memory.
* fix graphsage.
* fix gcn.
* add more unit tests.
* add more tests.
* avoid creating shared-memory exclusively.
* redefine remote initializer.
* improve initializer.
* fix unit test.
* fix lint.
* fix lint.
* initialize data in the graph store server properly.
* fix test.
* fix test.
* fix test.
* small fix.
* add comments.
* cleanup server.
* test graph store with a random port.
* print.
* print to stderr.
* test1
* test2
* remove comment.
* adjust the initializer signature.
* [API] update graph store API. (#549 )
* add init_ndata and init_edata in DGLGraph.
* adjust SharedMemoryGraph API.
* print warning.
* fix comment.
* update example
* fix.
* fix examples.
* add unit tests.
* add comments.
* [Refactor] Immutable graph index (#543 )
* WIP
* header
* WIP .cc
* WIP
* transpose
* wip
* immutable graph .h and .cc
* WIP: nodeflow.cc
* compile
* remove all tmp dl managed ctx; they caused refcount issue
* one simple test
* WIP: testing
* test_graph
* fix graph index
* fix bug in sampler; pass pytorch utest
* WIP on mxnet
* fix lint
* fix mxnet unittest w/ unfortunate workaround
* fix msvc
* fix lint
* SliceRows and test_nodeflow
* resolve reviews
* resolve reviews
* try fix win ci
* try fix win ci
* poke win ci again
* poke
* lazy multigraph flag; stackoverflow error
* revert node subgraph test
* lazy object
* try fix win build
* try fix win build
* poke ci
* fix build script
* fix compile
* add a todo
* fix reviews
* fix compile
* all demo use python-3 (#555 )
* [DEMO] Reproduce numbers of distributed training in AMLC giant graph paper (#556 )
* update
* update
* update
* update num_hops
* fix bug
* update
* report numbers of distributed training in AMLC giant graph paper
* [DEMO] Remove duplicate code for sampling (#557 )
* update
* update
* re-use single-machine code
* update
* use relative path
* update
* update
* update
* add __init__.py
* add __init__.py
* import sys, os
* fix typo
* update
* [Perf] Improve performance of graph store. (#554 )
* fix.
* use inplace.
* move to shared memory graph store.
* fix.
* add more unit tests.
* fix.
* fix test.
* fix test.
* disable test.
* fix.
* [BUGIFX] fix a bug in edge_ids (#560 )
* add test.
* fix compute.
* fix test.
* turn on test.
* fix a bug.
* add test.
* fix.
* disable test.
* [DEMO] Add Pytorch demo for distributed sampler (#562 )
* update
* update
* update
* add sender
* update
* remove duplicate cpde
* [Test] Add gtest to project (#547 )
* add gtest module
* add gtest
* fix
* Update CMakeLists.txt
* Update README.md
* [Perf] lazily create msg_index. (#563 )
* lazily create msg_index.
* update test.
* [BUGFIX] fix bugs for running GCN on giant graphs. (#561 )
* load mxnet csr.
* enable load large csr.
* fix
* fix.
* fix int overflow.
* fix test.
* [BugFix] Fix error when bfs_level = 0 in Entity Classification with RGCN (#559 )
* [DEMO] Update demo of distributed sampler (#564 )
* update
* update
* update demo
* add network cpp test (#565 )
* Add unittest for C++ RPC (#566 )
* [CI] Fix CI for cpp test (#570 )
* fix CI for cpp test
* update port number
* [Docker] update docker image (#575 )
* update docker image
* specify lint version
* rm torch import from unified tests
* [Kernel][Scheduler][MXNet] Scheduler for DGL kernels and MXNet backend support (#541 )
* [Model] add multiprocessing training with sampling. (#484 )
* reorganize sampling code.
* add multi-process training.
* speed up gcn_cv
* fix graphsage_cv.
* add new API in graph store.
* update barrier impl.
* support both local and distributed training.
* fix multiprocess train.
* fix.
* fix barrier.
* add script for loading data.
* multiprocessing sampling.
* accel training.
* replace pull with spmv for speedup.
* nodeflow copy from parent with context.
* enable GPU.
* fix a bug in graph store.
* enable multi-GPU training.
* fix lint.
* add comments.
* rename to run_store_server.py
* fix gcn_cv.
* fix a minor bug in sampler.
* handle error better in graph store.
* improve graphsage_cv for distributed mode.
* update README.
* fix.
* update.
* [Tutorial] add sampling tutorial. (#522 )
* add sampling tutorial.
* add readme
* update author list.
* fix indent in the code.
* rename the file.
* update tutorial.
* fix the last API.
* update image.
* [BUGFIX] fix the problems in the sampling tutorial. (#523 )
* add index.
* update.
* update tutorial.
* fix gpu utest
* cuda utest runnable
* temp disable test nodeflow; unified test for kernel
* cuda test kernel done
* edge softmax module
* WIP
* Fixing typo in JTNN after interface change (#536 )
* mxnet backend support
* improve reduce grad
* add max to unittest backend
* fix kernel unittest
* [BugFix] Fix getting src and dst id of ALL edges in NodeFlow.apply_block (#515 )
* lint
* lint
* win build
* [Bug Fix] Fix inplace op at backend (#546 )
* Fix inplace operation
* fix line seprator
* [Feature] Add batch and unbatch for immutable graph (#539 )
* Add batch and unbatch for immutable graph
* fix line seprator
* fix lintr
* remove unnecessary include
* fix code review
* [BUGFix] Improve multi-processing training (#526 )
* fix.
* add comment.
* remove.
* temp fix.
* initialize for shared memory.
* fix graphsage.
* fix gcn.
* add more unit tests.
* add more tests.
* avoid creating shared-memory exclusively.
* redefine remote initializer.
* improve initializer.
* fix unit test.
* fix lint.
* fix lint.
* initialize data in the graph store server properly.
* fix test.
* fix test.
* fix test.
* small fix.
* add comments.
* cleanup server.
* test graph store with a random port.
* print.
* print to stderr.
* test1
* test2
* remove comment.
* adjust the initializer signature.
* try
* fix
* fix
* fix
* fix
* fix
* try
* test
* test
* test
* try
* try
* try
* test
* fix
* try gen_target
* fix gen_target
* fix msvc var_args expand issue
* fix
* [API] update graph store API. (#549 )
* add init_ndata and init_edata in DGLGraph.
* adjust SharedMemoryGraph API.
* print warning.
* fix comment.
* update example
* fix.
* fix examples.
* add unit tests.
* add comments.
* [Refactor] Immutable graph index (#543 )
* WIP
* header
* WIP .cc
* WIP
* transpose
* wip
* immutable graph .h and .cc
* WIP: nodeflow.cc
* compile
* remove all tmp dl managed ctx; they caused refcount issue
* one simple test
* WIP: testing
* test_graph
* fix graph index
* fix bug in sampler; pass pytorch utest
* WIP on mxnet
* fix lint
* fix mxnet unittest w/ unfortunate workaround
* fix msvc
* fix lint
* SliceRows and test_nodeflow
* resolve reviews
* resolve reviews
* try fix win ci
* try fix win ci
* poke win ci again
* poke
* lazy multigraph flag; stackoverflow error
* revert node subgraph test
* lazy object
* try fix win build
* try fix win build
* poke ci
* fix build script
* fix compile
* add a todo
* fix reviews
* fix compile
* WIP
* WIP
* all demo use python-3 (#555 )
* ToImmutable and CopyTo
* [DEMO] Reproduce numbers of distributed training in AMLC giant graph paper (#556 )
* update
* update
* update
* update num_hops
* fix bug
* update
* report numbers of distributed training in AMLC giant graph paper
* [DEMO] Remove duplicate code for sampling (#557 )
* update
* update
* re-use single-machine code
* update
* use relative path
* update
* update
* update
* add __init__.py
* add __init__.py
* import sys, os
* fix typo
* update
* [Perf] Improve performance of graph store. (#554 )
* fix.
* use inplace.
* move to shared memory graph store.
* fix.
* add more unit tests.
* fix.
* fix test.
* fix test.
* disable test.
* fix.
* [BUGIFX] fix a bug in edge_ids (#560 )
* add test.
* fix compute.
* fix test.
* turn on test.
* fix a bug.
* add test.
* fix.
* disable test.
* DGLRetValue DGLContext conversion
* [DEMO] Add Pytorch demo for distributed sampler (#562 )
* update
* update
* update
* add sender
* update
* remove duplicate cpde
* [Test] Add gtest to project (#547 )
* add gtest module
* add gtest
* fix
* Update CMakeLists.txt
* Update README.md
* Add support to convert immutable graph to 32 bits
* [Perf] lazily create msg_index. (#563 )
* lazily create msg_index.
* update test.
* fix binary reduce following new minigun template
* enable both int64 and int32 kernels
* [BUGFIX] fix bugs for running GCN on giant graphs. (#561 )
* load mxnet csr.
* enable load large csr.
* fix
* fix.
* fix int overflow.
* fix test.
* new kernel interface done for CPU
* docstring
* rename & docstring
* copy reduce and backward
* [BugFix] Fix error when bfs_level = 0 in Entity Classification with RGCN (#559 )
* [DEMO] Update demo of distributed sampler (#564 )
* update
* update
* update demo
* adapt cuda kernels to the new interface
* add network cpp test (#565 )
* fix bug
* Add unittest for C++ RPC (#566 )
* [CI] Fix CI for cpp test (#570 )
* fix CI for cpp test
* update port number
* [Docker] update docker image (#575 )
* update docker image
* specify lint version
* rm torch import from unified tests
* remove pytorch-specific test_function
* fix unittest
* fix
* fix unittest backend bug in converting tensor to numpy array
* fix
* mxnet version
* [BUGFIX] fix for MXNet 1.5. (#552 )
* remove clone.
* turn on numpy compatible.
* Revert "remove clone."
This reverts commit 17bbf76ed72ff178df6b3f35addc428048672457.
* revert format changes
* fix mxnet api name
* revert mistakes in previous revert
* roll back CI to 20190523 build
* fix unittest
* disable test_shared_mem_store.py for now
* remove mxnet/test_specialization.py
* sync win64 test script
* fix lowercase
* missing backend in gpu unit test
* transpose to get forward graph
* pass update all
* add sanity check
* passing test_specialization.py
* fix and pass test_function
* fix check
* fix pytorch softmax
* mxnet kernels
* c++ lint
* pylint
* try
* win build
* fix
* win
* ci enable gpu build
* init submodule recursively
* backend docstring
* try
* test win dev
* doc string
* disable pytorch test_nn
* try to fix windows issue
* bug fixed, revert changes
* [Test] fix CI. (#586 )
* disable unit test in mxnet tutorial.
* retry socket connection.
* roll back to set_np_compat
* try to fix multi-processing test hangs when it fails.
* fix test.
* fix.
* doc string
* doc string and clean up
* missing field in ctypes
* fix node flow schedule and unit test
* rename
* pylint
* copy from parent default context
* fix unit test script
* fix
* demo bug in nodeflow gpu test
* [Kernel][Bugfix] fix nodeflow bug (#604 )
* fix nodeflow bug
* remove debug code
* add build gtest option
* fix cmake; fix graph index bug in spmv.py
* remove clone
* fix div rhs grad bug
* [Kernel] Support full builtin method, edge softmax and unit tests (#605 )
* add full builtin support
* unit test
* unit test backend
* edge softmax
* apply edge with builtin
* fix kernel unit test
* disable mxnet test_shared_mem_store
* gen builtin reduce
* enable mxnet gpu unittest
* revert some changes
* docstring
* add note for the hack
* [Kernel][Unittest][CI] Fix MXNet GPU CI (#607 )
* update docker image for MXNet GPU CI
* force all dgl graph input and output on CPU
* fix gpu unittest
* speedup compilation
* add some comments
* lint
* add more comments
* fix as requested
* add some comments
* comment
* lint
* lint
* update pylint
* fix as requested
* lint
* lint
* lint
* docstrings of python DGL kernel entries
* disable lint warnings on arguments in kernel.py
* fix docstring in scheduler
* fix some bug in unittest; try again
* Revert "Merge branch 'kernel' of github.com:zzhang-cn/dgl into kernel"
This reverts commit 1d2299e68b004182ea6130b088de1f1122b18a49, reversing
changes made to ddc97fbf1bec2b7815c0da7c74f7ecb2f428889b.
* Revert "fix some bug in unittest; try again"
This reverts commit ddc97fbf1bec2b7815c0da7c74f7ecb2f428889b.
* more comprehensive kernel test
* remove shape check in test_specialization
2019-06-06 15:47:55 -04:00
Zihao Ye
a3f10c2138
[bugfix] Fixed bug in from_networkx ( #603 )
...
* minor fix
* small fix
2019-06-04 11:55:21 +08:00
Minjie Wang
01a4cc5b7b
[Graph] Add API to convert graph to simple graph ( #587 )
...
* to simple
* WIP: multigraph flag
* graph index refactor; pass basic testing
* graph index refactor; pass basic testing
* fix bug in to_simple; pass torch test
* fix mx utest
* fix example
* fix lint
* fix ci
* poke ci
* poke ci
* WIP
* poke ci
* poke ci
* poke ci
* change ci workspace
* poke ci
* poke ci
* poke ci
* poke ci
* delete ci
* use enum for multigraph flag
2019-06-01 23:32:46 -04:00
Minjie Wang
21e172d076
[Bugfix] fix numpy integer bug ( #580 )
2019-05-29 21:48:36 -04:00
Da Zheng
8f378d90ad
[BUGFIX] fix bugs for running GCN on giant graphs. ( #561 )
...
* load mxnet csr.
* enable load large csr.
* fix
* fix.
* fix int overflow.
* fix test.
2019-05-25 11:09:33 -07:00
Minjie Wang
605b51857e
[Refactor] Immutable graph index ( #543 )
...
* WIP
* header
* WIP .cc
* WIP
* transpose
* wip
* immutable graph .h and .cc
* WIP: nodeflow.cc
* compile
* remove all tmp dl managed ctx; they caused refcount issue
* one simple test
* WIP: testing
* test_graph
* fix graph index
* fix bug in sampler; pass pytorch utest
* WIP on mxnet
* fix lint
* fix mxnet unittest w/ unfortunate workaround
* fix msvc
* fix lint
* SliceRows and test_nodeflow
* resolve reviews
* resolve reviews
* try fix win ci
* try fix win ci
* poke win ci again
* poke
* lazy multigraph flag; stackoverflow error
* revert node subgraph test
* lazy object
* try fix win build
* try fix win build
* poke ci
* fix build script
* fix compile
* add a todo
* fix reviews
* fix compile
2019-05-21 14:28:06 -04:00
Da Zheng
bfdd1eaa44
[Feature] Create shared memory graph store. ( #468 )
...
* accelerate gcn_ns.
* add timing.
* run infer with whole graph.
* distributed gcn_ns.
* reconstruct gcn_ns.
* minor fix.
* change graphsage_cv for numa.
* fix #OMP threads.
* accelerate graphsage_cv.
* fix a weird bug.
* add profiler in graphsage_cv.
* accelerate graphsage_cv.
manually aggregate neighbors' embeddings with pull.
* load csr directly in gcn_ns_sc.
* parallel sort for graph index.
* Revert "parallel sort for graph index."
This reverts commit 86fe2c7117fe5e56b0d481b39849c258b166945b.
* run gcn_ns_sc on GPUs.
* acc gcn_cv_sc.
* change gcn_cv for numa.
* fix gcn_cv to use numa and gpu.
* improve graphsage_cv to use numa and gpu.
* improve gcn_ns.
* improve graphsage_cv.
* init shared memory graph store.
* fix.
* enable init ndata.
* improve tests.
* add bidirectional communication.
* link to rt.
* fix compilation error.
* fix shared memory init.
* use MessageQueue for inter-process communication.
* reconstruct immutable graph csr.
* fix gcn.
* load csr to shared memory.
* fix minor bugs.
* add comments.
* refactor SharedMemory.
* fix bugs in ImmutableGraph.
* create CSR graph from shared memory.
* add more test for loading a csr graph.
* terminate graph store properly.
* allow initializing ndata in the graph store server.
* use RPC for inter-process communication.
* a script for loading a graph.
* allow customizing port.
* list all ndata and edata.
* support dtype.
* reorganize SharedMemoryGraphStore.
* fix ndata shape.
* reconstruct gcn_ns.
* print info.
* set omp in gcn_ns.
* reset sampling examples.
* fix lint.
* fix lint.
* reset gcn.
* disable shared memory in windows.
* fix.
* fix.
* reset changes.
* revert nodeflow changes.
* fix cmake.
* fix test.
* fix test.
* fix test.
* fix test.
* add comments.
* fix test.
* move vector out.
* fix lint.
* fix lint.
* move SharedMemory.
* update cmake.
* update comment.
* fix comments.
* Revert "update cmake."
This reverts commit 592445e37077f70a6e3f2e5245f9a3d086b04f3b.
* update cmake.
* add comments.
* rename.
* change the comment.
* fix a bug.
* rename.
* add comments.
* add comments.
* add init_edata.
* rewrite memory alloc.
* move vector to CSR.
* fix.
* init data.
* Revert "init data."
This reverts commit 2b217b9553911b7dd84a9f1d9b68430b5aa18e23.
* init data.
* init new columns correctly.
2019-04-08 12:09:02 -07:00
Quan (Andy) Gan
6066fee935
[Model][Feature] PinSage & Random Walk with Restart ( #453 )
...
* random walk traces generation
* remove outdated comments
* oops put in the wrong place
* explicit inline
* moving rand_r to util
* pinsage-like model on movielens
* the code runs now
* support cuda
* using readonly graph
* moving random walk to public function
* per-thread seed and openmp support
* pinsage-like model on movielens
* the code runs now
* support cuda
* using readonly graph
* using C random walk
* removing profile decorators
* param initialization
* no grad
* leaky relu fixes everything
* train and save
* WIP
* WIP
* WIP
* seems to work
* evaluation output
* swapping order of val/test and train
* debug
* hyperparam tuning
* prior/training dataset split changes
* random walk reorg
* random walk with restart
* signed comparison fix
* migrating random walk to nodeflow
* Revert "migrating random walk to nodeflow"
This reverts commit f2565347cced7c912a58a529b257c033d9f375b7.
* add README and remove dataset
* new endpoint
* lint
* lint x2
* oops forgot test
* including bpr - better for baseline
* addressing fixes
* throwing random walks out from SamplerOp class
* forgot to move RandomWalk; why did this even work?
* removing legacy garbage
* add todo
* address comments
* stupid bug fix
* call ndarrayvector converter to handle traces
2019-03-29 13:01:18 +08:00
Zihao Ye
d1d580ecc1
[feature & bugfix] adjacency_matrix_scipy, wrong order of edges in immutable graph. ( #437 )
...
* fix rgcn tutorial
* small fix
* upd
* findedge/s
* upd
* upd
* upd
* upd
* add test
* remove redundancy
* upd
* upd
* upd
* upd
* add edge_subgraph
* explicit cast
* add test immutable subg
* reformat
* reformat
* fix bug
* upd
* hotfix
* subgraph docs
* fix adj mat
* fix edges() order
* add test
* revert
* upd
* fix
* upd
2019-03-12 23:57:13 -04:00
Minjie Wang
ca2a7e1ca1
[Refactor] Nodeflow, sampling, CAPI ( #430 )
...
* enable cython
* add helper function and data structure for void_p vector return
* move sampler from graph index to contrib.sampling
* WIP
* WIP
* refactor layer sampling
* pass tests
* fix lint
* fix graphsage
* remove comments
* pickle test
* fix comments
* update dev guide for cython build
2019-03-05 14:07:22 -05:00
GaiYu0
fb4246e564
[Feature]Uniform layer-wise sampler ( #416 )
...
* migrate to node-flow
* uniform layer sampler test cases
* more test cases
* documentations
* fix lint errors
* fix lint errors
* fix lint errors
* iota
* add asnumpy
* requested changes
* fix indptr error
* fix lint errors
* requested changes & fix lint errors
* fix lint errors
* fix LayerSampler unit test
2019-03-02 16:37:18 -08:00
Ziyue Huang
7e30382e4f
[Model][MXNet] neighbor sampling & skip connection & control variate & graphsage ( #322 )
...
* neighbor sampling draft
* val/test acc
* control variate draft
* control variate
* update
* fix new_history
* maintain aggregated history while updating new history
* preprocess the first layer, change push to pull
* update
* fix subg_degree
* nodeflow
* clear
* readme
* doc and unittest for self loop
* address comments
* rename
* update
* fix
* Update node_flow.py
* Update node_flow.py
2019-02-28 13:29:51 -08:00
Zihao Ye
bfe3e9d64a
[Feature] Add switch readonly state interface ( #389 )
...
* fix rgcn tutorial
* small fix
* add switch readonly state interface
* remove trailing ws
* fix
* fix
* change signature
* change signature
* remove trailing ws
* upd
* upd interface
* upd
* rm trailing ws
* reformat
* trailing space
* upd
2019-02-20 18:51:56 -05:00
Quan (Andy) Gan
2e1cbd5d68
[Feature] Random walk traces generation ( #392 )
...
* random walk traces generation
* remove outdated comments
* oops put in the wrong place
* explicit inline
* moving rand_r to util
* moving random walk to public function
* per-thread seed and openmp support
* type cast styles
2019-02-20 10:41:59 -05: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
Quan (Andy) Gan
220a1e68fb
[BUG] Fixing bug in pickling readonly graphs ( #397 )
...
* fixing bug in pickling readonly graphs
* multigraph test coverage
* fixing lint (??????)
* another lint
* is_readonly interface
2019-02-19 00:14:11 -05:00
Lingfan Yu
40afdf7cd5
[Bugfix] Remove unnecessary assert in from_scipy_sparse_matrix ( #391 )
2019-02-13 17:45:22 -05:00
Da Zheng
929742b588
[Feature] Reimplement Immutable graph index in DGL ( #342 )
...
* init.
* it's compiled.
* add immutable graph constructor.
* add immutable graph API.
* fix.
* impl get adjacency matrix.
* fix.
* fix graph_index from scipy matrix.
* add neighbor sampling.
* remap vertex ids.
* fix.
* move sampler test.
* fix tests.
* add comments
* remove mxnet-specific immutable graph.
* fix.
* fix lint.
* fix.
* try to fix windows compile error.
* fix.
* fix.
* add test.
* unify Graph and ImmutableGraph.
* fix bugs.
* fix compile.
* move immutable graph.
* fix.
* remove print.
* fix lint.
* fix
* fix lint.
* fix lint.
* fix test.
* fix comments.
* merge GraphIndex and ImmutableGraphIndex.
* temp fix.
* impl GetAdj.
* fix lint
* fix.
* fix.
* fix.
* fix.
* fix.
* use csr only for readonly graph.
* Revert "use csr only for readonly graph."
This reverts commit 8e24bb033af8504531b22849de5b7567b168e0d5.
* remove code.
* fix.
* fix.
* fix.
* fix.
* fix.
* fix.
* address comments.
* fix for comments.
* fix comments.
* revert.
* move test_graph_index to compute.
* fix.
* fix.
* impl GetAdj for coo.
* fix.
* fix tests.
* address comments.
* address comments.
* fix comment.
* address comments.
* use lambda.
* other comments.
* address comments.
* modify the semantics of edges.
* fix order.
* use DGLIdIter
* fix.
* remove NotImplemented.
* revert some code.
2019-01-17 09:59:53 +08:00
Minjie Wang
ddc2faa547
[Bugfix] Fix gat residual bug ( #355 )
...
* fix gat residual bug
* fix the residual addition; output heads; add some shape notations;
* minor
* fix the output head average
* add requests package in requirement
2019-01-12 08:37:01 -05:00
Mufei Li
3a868eb04b
[Feature] Max readout and consecutive labeling for networkx ( #341 )
...
* Max readout and consecutive labeling
* Delete test_readout.py
* Delete test_basics.py
* Test case and fix
* Recover accidentally removed file
* Fix import order
* Fix test case
* Fix
* Fix
* Fix
* Fix
* Fix
* revert
* Fix
* Fix
* Fix
2019-01-10 12:58:05 -05:00
brett koonce
707334ce85
minor spelling tweaks ( #349 )
...
* minor spelling tweaks
* Update CONTRIBUTORS.md
2019-01-10 12:02:31 -05:00
Quan (Andy) Gan
e19cd62ecd
[Test] Unify tests for different backends ( #333 )
...
* test basics
* batched graph & filter, mxnet filter fix
* frame and function; bugfix
* test graph adj and inc matrices
* fixing start = 0 for mxnet
* test index
* inplace update & line graph
* multi send recv
* more tests
* oops
* more tests
* removing old test files; readonly graphs for mxnet still kept
* modifying test scripts
* adding a placeholder for pytorch to reserve directory
* torch 0.4.1 compat fixes
* moving backend out of compute to avoid nose detection
* tests guide
* mx sparse-to-dense/sparse-to-numpy is buggy
* oops
* contribution guide for unit tests
* printing incmat
* printing dlpack
* small push
* typo
* fixing duplicate entries that causes undefined behavior
* move equal comparison to backend
2019-01-05 23:32:33 -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
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
2194b7dfa6
[Bugfix] edge order is not preserved when converting from edge list ( #262 )
2018-12-05 17:41:26 -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
Minjie Wang
57daf9c9a6
[Graph] small fix on the all index ( #219 )
2018-12-02 13:39:04 -05:00
Da Zheng
57b07fce92
[Model] Accelerate SSE ( #172 )
...
* lazy eval edge ids.
* parallelize node id lookup.
* fix a bug.
* use mxnet for index.
* use update_all in the subgraph training.
* sample neighbors.
* Revert "parallelize node id lookup."
This reverts commit e661f69bb06cb5a7c246f0e106f245e27800e220.
* update README.
* cache subgraphs.
* support all degrees.
* cache adj in CPU.
* fix a bug in sse.
* print.
* raise error on mutable graphs.
* measure train time per epoch.
* fix a bug in graph_index.
* remove readonly in DGLSubGraph.
* cache subgraph properly.
* accelerate getting adjacency.
* split infer.
* lazy eval edges.
* specify inference mode.
* update for new sampler.
* use new mxnet sampling api.
* fix indent.
* remove profiling code.
* remove mxnet from sampler.
* return a lambda function for graph edges.
* add docs for immutable subgraph.
* Revert "return a lambda function for graph edges."
This reverts commit 0de5d7f100e230c518a3fb8976a6227f474d09ee.
* get parent_eid.
2018-12-02 12:43:25 -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
Gan Quan
79a510252b
Pickling support ( #155 )
...
* pickling support
* resorting to suggested way of pickling
* custom attribute pickling check
* working around a weird pytorch pickling bug
* including partial frame case
* pickling everything now
* fix as requested
2018-11-16 17:19:20 -05:00
Minjie Wang
048f6d7a30
[GraphIndex] refactor graph caching ( #150 )
...
* refactor graph caching
* fix mx test
* fix typo
2018-11-13 22:12:38 -05:00
Gan Quan
0452cc3c0c
[Bug] Transpose adj is not correctly cached ( #148 )
2018-11-12 22:15:45 -05:00
Minjie Wang
7241a9c008
[Backend] backend interface ( #109 )
...
* backend interface
* small fix
* more comments to the data type dict
* WIP
* convert_to and narrow
* WIP
* pytorch and numpy backend; WIP on mxnet backend
* mxnet backend
* narrow
* Fix all usages
* fix for mx
* fix for mx
* fix mx
* fix mx
* fix mx
* fix mx
* fix mx
* fix mx
* fix mx
* revert jenkins
* add sparse_matrix api
* sparse matrix api
* some fixme
* Fix as requested
2018-11-04 21:42:39 -05:00
Da Zheng
9e9a9488f1
[GraphIndex] Immutable graph index using MXNet CSRArray ( #86 )
...
* add immutable graph index.
* update ImmutableGraphIndex.
* add benchmarks of subgraph generation.
* fix node_subgraphs.
* use scipy synthetic data in immutable graph.
* create immutable_graph.
* use spmv in gcn.
* fix immutable graph index.
* update graph index.
* create ImmutableSubgraphIndex.
* return subgraph node and edge mapping.
* fix benchmark.
* add mapping to subgraph nid.
* test in_edges and out_edges.
* update benchmark.
* Fix immutable subgraph.
* complete in_edges and out_edges.
* fix benchmarks.
* add test on node_subgraphs
* add sse.
* construct subgraphs in parallel.
* add in/out degree(s).
* make immutable graph index backend-specific.
* implement has_edge(s) and edge_id(s).
* Revert "use spmv in gcn."
This reverts commit 9cfed5f5fb3dd2ed9b98745348b1c0e9731ed7f7.
* implement node_subgraphs in GraphIndex.
* fix sse.
* address comments.
* address comments.
* Update mxnet docker.
2018-10-26 11:28:25 -07:00
Gan Quan
70d475813c
[BUG] Fixing networkx conversion with 0 edges ( #94 )
...
* fixing networkx conversion with 0 edges
* fixes as required
* remove obsolete comment
2018-10-21 23:15:45 -04:00
Da Zheng
fb6be9fbd7
[GraphIndex] Create graph index directly from scipy matrix. ( #87 )
...
* create synthetic data with scipy.
* changes as comments
2018-10-18 16:39:45 -04:00
Gan Quan
bc3f852dab
[GRAPHINDEX] Multigraph support ( #79 )
...
* multigraph support on graph index
* more tests
* multigraph flag, bugfix on clear & copy
* networkx interfaces
* including graph index tests in Jenkins
* node subgraph test
* edge subgraphs
* removing duplicates in pred/succ
* more explicit test and doc
* query source and destination from edge id
* subgraphindex
* renaming has_edge to has_edge_between, apply_edges adding eid
* send_on and send_and_recv_on
* DGLGraph edge subgraph
* merged send_on and send_and_recv_on
* change request
* removing hashmap
* creating multigraph by flag; mingw support
* changes per request
* reverting networkx auto multigraph discovery
* notes on send/send_and_recv on multigraphs
* changing test reducer from sum to max
* added a fixme note in spmv scheduler
2018-10-17 21:46:10 -04:00
GaiYu0
e7679cf2e6
implement requested changes
2018-10-13 14:24:46 +08:00
GaiYu0
0a6d720c30
fix build failure
2018-10-10 12:43:05 +08:00
GaiYu0
baf5906bab
(non)-backtracking line graph
2018-10-08 08:04:25 +08:00
GaiYu0
5119a50475
sparse line graph
2018-10-08 07:38:03 +08:00