Skip to content

michaeljclark/graphstorm

Repository files navigation

GraphStorm

GraphStorm is an experimental OpenCL accelerated force-directed graph layout demo using a prototype OpenGL 2D UI toolkit. This project is now deprecated and the toolkit is being rebuilt as UI9 using the SDF canvas in glyb.

Graphstorm Screenshot 1

Graphstorm Screenshot 2

Graphstorm Screenshot 3

Build dependencies

  • OpenGL 3.x
  • OpenCL SDK
    • (Windows/Linux) NVidia GPU Computing SDK
    • (Windows/Linux) AMD APP SDK
    • (Windows/Linux) Intel SDK for OpenCL
    • (Mac OS X) OpenCL.framework (included in Mac OS X 10.7.x and above)
  • GLUT - to build GraphStormGLUT
  • GLFW - to build GraphstormGLFW

Linux build Instructions

  • Ubuntu dependencies:
sudo apt-get install libfreetype6-dev libcairo-dev libharfbuzz-dev \
     libjpeg-dev libpng-dev zlib1g-dev ocl-icd-opencl-dev opencl-c-headers

Mac build Instructions

  • To build GraphStormGLUT open macosx/GraphStormGLUT.xcodeproj

Windows build Instructions

  • Download and build freeglut_static target in freeglut 2.8.1
  • To build GraphStormGLUT open win32/GraphStormGLUT.vcxproj
  • Set target to "Release"
  • Edit C++ -> General -> Additional Include Directories
    • Set header include path for freeglut and your chosen OpenCL SDK
  • Edit Linker -> General -> Additional Library Directories
    • Set library include path for freeglut and your chosen OpenCL SDK

Alternative build using cmake (Windows, Mac or Linux)

  • Install GLFW and GLUT as indicated above
  • Edit CMakeLists.txt to set location of GLUT and OpenCL libraries and includes
    • find_library (GLUT_LIBRARY freeglut_static PATHS "<freeglut_lib_path>")
    • set (GLUT_INCLUDE_DIR "<freeglut_include_path>")
    • find_library (OPENCL_LIBRARY OpenCL PATHS "<opencl_lib_path>")
    • set (OPENCL_INCLUDE_DIR "<opencl_include_path>")
  • Open a terminal (on Windows use Visual Studio x86 Native Tools Command Prompt)
    • cd graphstorm mkdir build cd build ccmake ..
  • Open generated project file or run make (depending on cmake configuration)

License

GraphStorm is BSD licensed, see LICENSE.

About

OpenCL accelerated force-directed graph layout engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages