Giter Site home page Giter Site logo

govertb / gpugraphlayout Goto Github PK

View Code? Open in Web Editor NEW
45.0 6.0 15.0 146 KB

An experimental GPU accelerated implementation of ForceAtlas2

License: Other

Makefile 1.82% C++ 52.49% Cuda 45.69%
cuda forceatlas2 graph-algorithms visualization social-network-analysis gephi graph-layout

gpugraphlayout's Introduction

📌 Pinned

An experimental GPU accelerated implementation of ForceAtlas2.

gpugraphlayout's People

Contributors

govertb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

gpugraphlayout's Issues

[question] optimal parameters

Just a curiosity... can you share your experience with FA2 parameters in large networks?
When I use Gephi, my best results are with:

Gravity: 0.01
Scale: [2-5]
linlog
BH: aprox
strong gravity

Error running,ubuntu18.04 and cuda10

when i run this project use ./graph_viewer gpu 10000 100 wg 5 1 approximate ./result.csv ./graph.csv csv, then throw me a Error is error: CUDA was requested, but not compiled for. I don't know how to solve this problem . please help me ~~

Can't export the layout

Hi there,

I'm trying to use the code, but it won't create a layout file after finished running. I can create a file in the same output folder using tools like nano without sudo access.

[maxzhang@cdr352 linux]$ ./graph_viewer gpu 50 0 wg 2 1 approximate edgelist output csv
Loading edgelist at 'edgelist'...done.
    fetched 4 nodes and 4 edges.
Started Layout algorithm...
Starting iteration 3 (6.00%).
Starting iteration 6 (12.00%).
Starting iteration 9 (18.00%).
Starting iteration 12 (24.00%).
Starting iteration 15 (30.00%).
Starting iteration 18 (36.00%).
Starting iteration 21 (42.00%).
Starting iteration 24 (48.00%).
Starting iteration 27 (54.00%).
Starting iteration 30 (60.00%).
Starting iteration 33 (66.00%).
Starting iteration 36 (72.00%).
Starting iteration 39 (78.00%).
Starting iteration 42 (84.00%).
Starting iteration 45 (90.00%).
Starting iteration 48 (96.00%).
[maxzhang@cdr352 linux]$ cd output/
[maxzhang@cdr352 output]$ ls
[maxzhang@cdr352 output]$

Crashes on graphs with disconnected components when using weak gravity

E.g. using ./graph_viewer gpu 500 0 wg 5 1 approximate edgelist . results in

error: (GPUassert) an illegal memory access was encountered (error 77). ../../src/RPGPUForceAtlas2.cu:232

Possibly because gravitational force doesn't overcome repulsive force that displaces small disconnected components away from the largest component, perhaps beyond the bounds of the layout frame.

Can not produce layout

Hi I have followed every steps. But I am getting stuck at the last part and can not produce the layout. Can you please tell me what I am doing wrong here? Thanks!

Capture

Stalls on Ampere

Running on a GeForce RTX 3090 (Ampere architecture) the code stalls in the SortKernel. Possibly because certain threads no longer co-reside on the same multiprocessor during shared memory reductions in the SummarizationKernel and/or SortKernel.

Segfaults on edgelist_path in current directory

For example ./graph_viewer cpu 2 1 wg 5 1 approximate "edges.txt" .

Will crash before printing any pictures, (but after running for a while) which a segfault.

This appears to be because the program searches for the character "/" in edgelist_path, but fails if there is no slash.

Output on MacOS

Starting iteration 1 (50.00%).
libc++abi.dylib: terminating with uncaught exception of type std::out_of_range: basic_string
Abort trap: 6

On Ubuntu it simply reports segmentation fault.

circle constrained layout

Hi @govertb,

Great work on this project. Is there any way to alter the calculation such that the layout is not constrained to a circle?

I plan to use this for a research project of mine and would love to get in touch to ask a few more detailed questions. Is there an email address I can reach you at? You can also send me a message to [email protected].

Thanks!

I have a question about your paper and code.

One question, Your coding's performance very good but why your paper don't publish the good academic journal? Another question, I read carefully your this paper but I can't find 'pipeline' in the code which usually presents in your paper context. The 'pipeline' as your important contribution I don't find it.

ubuntu 16.04 error compilation

I have this error while compiling

paco@W35:~/GPUGraphLayout/builds/linux$ make graph_viewer
mkdir -p obj
nvcc -c -D NO_FREETYPE  -O3 -std=c++11 -o obj/graph_viewer.o ../../src/graph_viewer.cpp
mkdir -p obj
nvcc -c -D NO_FREETYPE  -O3 -std=c++11 -o obj/RPGraph.o ../../src/RPGraph.cpp
mkdir -p obj
nvcc -c -D NO_FREETYPE  -O3 -std=c++11 -o obj/RPCPUForceAtlas2.o ../../src/RPCPUForceAtlas2.cpp
mkdir -p obj
nvcc -c -D NO_FREETYPE  -O3 -std=c++11 -o obj/RPForceAtlas2.o ../../src/RPForceAtlas2.cpp
mkdir -p obj
nvcc -c -D NO_FREETYPE  -O3 -std=c++11 -o obj/RPGraphLayout.o ../../src/RPGraphLayout.cpp
mkdir -p obj
nvcc -c -D NO_FREETYPE  -O3 -std=c++11 -o obj/RPCommon.o ../../src/RPCommon.cpp
mkdir -p obj
nvcc -c -D NO_FREETYPE  -O3 -std=c++11 -o obj/RPBarnesHutApproximator.o ../../src/RPBarnesHutApproximator.cpp
mkdir -p obj
nvcc -c -D NO_FREETYPE  -O3 -std=c++11 -o obj/RPLayoutAlgorithm.o ../../src/RPLayoutAlgorithm.cpp
mkdir -p obj/pngwriter/src
nvcc -c -D NO_FREETYPE  -O3 -std=c++11 -o obj/pngwriter/src/pngwriter.o ../../lib/pngwriter/src/pngwriter.cc
mkdir -p obj
nvcc --device-c  -O3 -std=c++11  -D NO_FREETYPE -o obj/RPBHKernels.o ../../src/RPBHKernels.cu
/usr/include/string.h: In function ‘void* __mempcpy_inline(void*, const void*, size_t)’:
/usr/include/string.h:652:42: error: ‘memcpy’ was not declared in this scope
   return (char *) memcpy (__dest, __src, __n) + __n;
                                          ^
Makefile:72: recipe for target 'obj/RPBHKernels.o' failed
make: *** [obj/RPBHKernels.o] Error 1

Ubuntu 16.04
cuda 7.5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.