thu-pacman/GeminiGraph

Thanks for that!

Opened this issue · 2 comments

Thanks for that!
Ok so what I did is that I wrote a simple C program that reads from the graph an ASCII file and writes it into a binary file, as required by Gemini.

Here is that code: here
The file src/ASCII2Bin.c contains the converter
The file data/scale16_s.mm is the input to it, it has 65535 vertices and 1818848 edges

When I run: mpirun -n 1 ./sssp ./scale16_s.bin 65535 39

It seems to estimate the number of edges correctly. Further it gives the following output and halts with this error message:

thread support level provided by MPI: MPI_THREAD_SERIALIZED
thread-0 bound to socket-0
thread-3 bound to socket-0
thread-2 bound to socket-0
thread-1 bound to socket-0
threads=1*4
interleave on 0
|V| = 65535, |E| = 1818848
|V'_0| = 65535 |E^dense_0| = 1818761
|V'_0_0| = 65535 |E^dense_0_0| = 1818761
sssp: /home/user/codes/GeminiGraph-master/core/graph.hpp:336: int Graph::get_partition_id(VertexId) [with EdgeData = float; VertexId = unsigned int]: Assertion `false' failed.
[mypc:22558] *** Process received signal ***
[mypc:22558] Signal: Aborted (6)
[mypc:22558] Signal code: (-6)
[mypc:22558] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x10330)[0x7f3e91e51330]
[mypc:22558] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37)[0x7f3e91ab2c37]
[mypc:22558] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x148)[0x7f3e91ab6028]
[mypc:22558] [ 3] /lib/x86_64-linux-gnu/libc.so.6(+0x2fbf6)[0x7f3e91aabbf6]
[mypc:22558] [ 4] /lib/x86_64-linux-gnu/libc.so.6(+0x2fca2)[0x7f3e91aabca2]
[mypc:22558] [ 5] ./sssp[0x4125bc]
[mypc:22558] [ 6] ./sssp[0x409b5d]
[mypc:22558] [ 7] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f3e91a9df45]
[mypc:22558] [ 8] ./sssp[0x409cef]
[mypc:22558] *** End of error message ***

mpirun noticed that process rank 0 with PID 22558 on node tulip exited on signal 6 (Aborted).

Originally posted by @bibrakc in #6 (comment)

Your experience is great,Thank for that!
there is a newbee,and there is a question is In which way makes the .graph being a .mm file type?

Hi, you need to have an MPI runtime that supports MPI_THREAD_MULTIPLE and |V| needs to be set as the maximum vid plus 1.