Hi all, I would like to introduce Gephi, the graph visualization platform I'm developing. Gephi is open source and runs on Windows, Mac OS X and Linux.

Thanks to our JOGL-based rendering engine, we can display large graphs and provide real-time interaction. Graphs larger than 100 000 elements are well supported, but we plan to redevelop the engine using GLSL, with 1M elements target. If you have suggestions about that point, you're welcomed. I think displaying so much elements is really an interesting challenge.

I haven't tried it yet, but you need to make an improvement in your website. It took me a while to figure how to download it. You need to have a direct link to download on your home page or a link directly to the download page.

Graphs larger than 100 000 elements are well supported, but we plan to redevelop the engine using GLSL, with 1M elements target

OpenCL could be an interesting route too. I suppose one of the bigger problems Gephi is facing is calculating the positions of the nodes while keeping the data on the GPU? (This would map very well to OpenCL since you can share buffers between GL and CL) (code | screenshot)

I haven't tried it yet, but you need to make an improvement in your website. It took me a while to figure how to download it.

What about the huge "Download" button on the home page ? Couldn't be easier I think.

Quote

OpenCL could be an interesting route too. I suppose one of the bigger problems Gephi is facing is calculating the positions of the nodes while keeping the data on the GPU? (This would map very well to OpenCL since you can share buffers between GL and CL

Yes I agree, calculating the positions of the nodes, called "Layout" requires a lot of computation and using GPU could help a lot, as explained in this article (A. Godiyal, J. Hoberock, M. Garland, and J. C.Hart. Rapid Multipole Graph Drawing on the GPU. In Graph Drawing, volume 5417 of LNCS, pages 90–101. Springer, 2009.). Your demo is impressive. So if I move to JOGL2, which is in the task list, I could use OpenCL with ease ?

Quote

Is it possible to use it in an Eclipse RCP application too? It seems very interesting

Your demo is impressive. So if I move to JOGL2, which is in the task list, I could use OpenCL with ease ?

Thanks. Yes, and I could probably even port it back to jogl 1.1.1 if this is a requirement (but this is very low prio for me).

GL-CL buffer sharing does not work on all OpenCL implementations yet (@see AMD) and isn't bulletproof on Nvidia too. But you can easily share OpenCL allocated buffers on host memory without any interoperability extension. (e.g VBO stream draw for GL and CL_MEM_USE_HOST_PTR for CL, both using the same direct NIO buffer). One copy more but you can drive with full speed as soon the drivers are stable.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org