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 Issues

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]$

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 ~~

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.

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.

[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

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

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

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.

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.

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!

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.