IntelligentSoftwareSystems / Galois

Galois: C++ library for multi-core and multi-node parallelization
http://iss.ices.utexas.edu/?p=projects/galois
Other
310 stars 131 forks source link

conversion undefined for void graphs #407

Open hannyin opened 1 year ago

hannyin commented 1 year ago

hello, I use the graph-convert tool to convert a mtx file to gr, the graph is unwighted and undirected. So I executed this command: ./graph-convert --mtx2gr --edgeType=void ~/ywh/data/AGATHA_2015/AGATHA_2015.mtx ~/ywh/data/AGATHA_2015/AGATHA_2015.gr but I got an error like this: ERROR: /home/share/CGCL/home/guoyl/ywh/Galois/tools/graph-convert/graph-convert.cpp:238: conversion undefined for void graphs there is the full output: image I don't know why. if i set the edgeType=int32, it will work. But i don't know whether it will work in bfs or sssp correctly.

Actually, I also got an unexpected result when executed bfs. I executed bfs with above data but set edgeType=int32. And because the graph is symmetric so I used this command: GALOIS_DO_NOT_BIND_THREADS=1 mpirun --bind-to none -n 4 ./bfs-push-dist ~/ywh/data/AGATHA_2015/AGATHA_2015.gr -t=1 -num_nodes=1 -pset="gggg" -partition=oec --output=true --outputLocation="." --startNode=1 --symmetricGraph=true I don't know whether --symmetricGraph is needed to set true, but I got the same result when just set --symmetricGraph without =true. there is part of the whole result:

0 1
1 0
2 1073741823
3 1073741823
4 1073741823
5 1073741823
6 1073741823
7 1073741823
8 1073741823
9 1073741823
10 1073741823
11 1073741823
12 1073741823
13 1073741823
14 1073741823
15 1073741823
16 1073741823
17 1073741823
18 1073741823
19 1073741823
20 1073741823
21 1073741823
22 1073741823
23 1073741823
24 1073741823
25 1073741823
26 1073741823
27 1073741823
28 1073741823

and this is part of the graph data:

183964077 183964077 5794362982
2 1
3 1
16700 2
2022609 2
2505851 2
2618479 2
3894540 2
4009429 2
11168492 2
11368726 2
12612458 2
13719787 2
13991582 2
51438554 2
59569350 2
82223081 2
3684200 3
3885674 3
3894540 3
4009429 3
4209788 3
4249325 3
6176753 3
8041916 3
8358750 3
8796659 3
9870650 3
9940778 3
10074626 3
10726899 3
11504300 3
11892068 3
13755378 3
17838378 3
18097273 3
51438554 3
52343108 3
142237071 3
5 4

I know the node index 1 is mapped to index 0, so the --startNode=1 is begin with node 2 of the graph data. But if I set --startNode=0, all result will be 1073741823 excepted node 0. Obviously the result is incorrect, maybe the --symmetricGraph is useless or I did something wrong? Or because I set --edgeType=void?

thanks

altanh commented 1 year ago

Hi, I wonder if your issue with BFS has a common cause with the one I'm having in #408. Could you try BFS on a small test graph as well as use the Serial implementation from the lonestar/analytics/cpu folder? Maybe there's a critical bug in the parallel processing or we are both doing some setup wrong...

(By the way, I also had the same void type issue in my case, but it didn't matter for connected components if I used int32.)