Comments (7)
Hi @Yongze-zzz, We don't update any host-side graph metadata but there is an internal graph iterator that is used to access the graph. If you want to update the graph, please follow the example here. If you want to implement SSSP, please use "SIMPLE"
advance mode and see example here and here.
Another example for loading Matrix Market graph
from gunrock.
Hi @Yongze-zzz, We don't update any host-side graph metadata but there is an internal graph iterator that is used to access the graph. If you want to update the graph, please follow the example here. If you want to implement SSSP, please use
"SIMPLE"
advance mode and see example here and here.Another example for loading Matrix Market graph
Thanks for your reply! I have reproduced the graph updated phase and simple advance operator according to your example. As the simple advance operator, we construct an edge iterator that scans the entire adjacency list of the vertex like the code below in advance_base.cuh .
But the kernel function GetEdgeCounts runs only one time.I am not sure the graph was updated because of the outpu imformation.
The advance src is 1, matrix graph is gunrock/dataset/small/tree.mtx.Then I inserted only one edge: src 1->dst 3.
from gunrock.
Is the graph
input to the GetEdgeCounts
kernel CSR? We don't update the CSR graph if you update the dynamic one. If you want an updated CSR graph, then you need to explicitly ask for that like this:
gunrock/unittests/test_dynamic_graph.h
Lines 149 to 151 in 280fd77
Then you can run any advance on that CSR graph (not just the SIMPLE
one).
But you don't need to convert back to CSR if you want to run SSSP on a dynamic graph. You can 1) follow the example here to load and update the graph, then 2) add the SSSP code with the main difference being changing GraphT
to WeightedDynT
.
gunrock/examples/sssp/test_sssp.cu
Lines 42 to 44 in 280fd77
to
gunrock/examples/dynamic_graph/test_dynamic_graph.cu
Lines 55 to 57 in 280fd77
And finally, specify the advance mode on the command line using the flag --advance-mode=SIMPLE
.
This would be a valuable contribution, so please fork and share your code, if possible, and I will be happy to help you resolve any issues.
from gunrock.
Hello author!
I've forked your dynamic-graph branch and modify some code(https://github.com/Yongze-zzz/gunrock/tree/dynamic-graph).You could clone the code and take a look, the codes implemented dynamic graph update,but when I try to run sssp algorithm by calling advance operation on graph.dyn() ,there is a compile error like below.
I modified /examples/test_sssp.cu by call sssp_app.cu and you could run it by command "./bin/sssp --src 0 market ../dataset/small/test_sssp.mtx --advance-mode SIMPLE".I look forward to your reply.Thanks!
from gunrock.
Thanks, @Yongze-zzz, for adding the SSSP code! I tried your code, and I saw the compilation error you reported. There was another error about PairT
not being defined, but that was easy to fix.
I will look into the FLAG
error as soon as possible; it should be easy to fix.
from gunrock.
Related Issues (20)
- CPU reference: bfs HOT 1
- CPU reference: bfs
- Review of a frontier_t APIs HOT 1
- Review of a frontier_t APIs
- Command-Line Interface (much like parameters.h in gunrock/master) HOT 1
- Command-Line Interface (much like parameters.h in gunrock/master)
- Binary data/mtx loader HOT 1
- Binary data/mtx loader
- Separate uniquify as an option.
- Separate uniquify as an option.
- Add a build environment (CMAKE) + Header-Only library HOT 1
- Add a build environment (CMAKE) + Header-Only library
- Formal definition of advance and filter behavior
- Formal definition of advance and filter behavior
- Check all combinations of operators HOT 1
- Check all combinations of operators
- advance::unbalanced HOT 1
- advance::unbalanced
- Followup on issues relating to benchmarking GunrockSM HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gunrock.