chapel-lang / chapel

a Productive Parallel Programming Language
https://chapel-lang.org
Other
1.78k stars 418 forks source link

Create graphBLAS module for Chapel #6840

Closed buddha314 closed 6 years ago

buddha314 commented 7 years ago

Inspired by several presentations, including Azad & Buluc, graphBlas and the field of Algebraic Graph Theory, we could really use a systemic treatment of graphs within Chapel, along with the associated matrices.

buddha314 commented 7 years ago

Bruce said this was a good idea...

buddha314 commented 7 years ago

It is an open question whether to build it native or do something like MPI + iGraph. There has been MPI discussion on igraph forums here and there

buddha314 commented 7 years ago

It appears there is a C++ OpenMPI graph library called graph-tool that might be useful as well.

buddha314 commented 7 years ago

Now that @bradcray is back from vacation, I want to annoy him by bumping this ticket.

buddha314 commented 7 years ago

There is also stinger written C, maybe Chapel bindings to that?

ct-clmsn commented 7 years ago

@buddha314 stinger is a pretty unique solution. it's been a couple years since i've looked at the source but, from what i remember, stinger is implemented under a client/server model. the server maintains a highly specialized graph data structure in shared memory. graph algorithms accessing the stinger data structure are implemented as client applications which lock that server managed shared memory structure to perform a graph algorithm. when the computation is completed, the application unlocks the shared memory data structure and the server continues business as usual. the publication history is interesting and worth reviewing.

buddha314 commented 7 years ago

I don't know much about it, thanks for the link. I'm just looking for the fastest way to interact with distributed graphs from chapel. I'd like something that allows me to pull an adjacency matrix, not really a database. I'd love to hear more of your opinions on that!

buddha314 commented 6 years ago

John Leidel from Tactical Computing Labs pointed me to the GraphBLAS C API that would be instructive in building the Chapel version.

buddha314 commented 6 years ago

Apparently some people are using Giraph at Facebook, and they published a comparison of Giraph and GraphX . I have used GraphX and I am not a fan.

buddha314 commented 6 years ago

Just came across an early presentation on Pregel and GraphX briefly describing some algorithms.

buddha314 commented 6 years ago

I have begun work on Chingon but very much would appreciate help.

buddha314 commented 6 years ago

I'm far enough along in Chingon to close this issue. But help is still very much appreciated!