Master Thesis project comparing different graph-algorithms written in gds-pregel and ejml against existing once in JGraphT and GDS.
Relies on locally build ejml, gds and graphblas-java-native
-
java (tested with openjdk 11.0.8 via sdkman)
-
mvn
-
git
# starting from this directory cd .. # ejml (my fork as not everythink is in the main-repo) git clone [email protected]:FlorentinD/ejml.git cd ejml/ git checkout mask_rebased ./gradlew autogenerate ./gradlew install # SuiteSparse:Graphblas (make sure to install under `usr/local` and you might not need setting the LD_LIBRARY_PATH) # might need to add `/usr/local/lib` to `/etc/ld.so.conf` to avoid an `UnsatisfiedLinkError` # or add run `export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib; ldconfig` before # Problem: `ld` ignores symbolic links in `usr/local/lib` # or some other magic like waiting for 1h and it solves the `UnsatisfiedLinkError` itself # ! AVX2 flag needs to manually set in the CMakeList (false by default) git clone [email protected]:DrTimothyAldenDavis/GraphBLAS.git cd GraphBLAS/ make JOBS=32 sudo make install -j32 INSTALL=/usr/local/ cd .. # graphblas-java-native (my fork, as I added some mappings which are not merged yet?) [email protected]:fabianmurariu/graphblas-java-native.git cd graphblas-java-native/ cd graphblas-java/ # this might need a restart to work mvn clean install cd .. mvn clean install -Dgpg.skip cd .. # graph-data-science (at some point not depending on a local version anymore ..) git clone [email protected]:neo4j/graph-data-science.git cd graph-data-science/ ./gradlew publishToMavenLocal # run benchmarks (exclude, include benchmarks via build.gradle) cd GraphBlasInJavaBenchmarks/ ./gradlew :jmh --no-daemon