The current version of GraphLab was tested using Ubuntu Linux 9.04, 10.04, 10.10, 11.04 (Natty), 11.10 (Oneiric) as well as Mac OSX 10.5, 10.6 and 10.7 (Lion), CentOS 5, Linode, RedHat Enterprise 6, Amazon Linux and Gentoo Linux.
There are multiple ways to install GraphLab: compiling tgz src file of stable release, checking out the code from mercurial or running a precompiled GraphLab EC2 AMI:
If you have any trouble in installing or compiling, please use our support page.
You can find support for GraphLab in the GraphLab support group.
User announcements and design discussions are found in GraphLab API group.
Run the ./configure --bootstrap script to create
the build directories. If you want to change the default
installation location (currently /usr/local) you can
pass an additional argument --prefix=/home/me. For more
options see ./configure --help .
Once you have run the configure script change directories
to release/ and then run make and
then make install . This will install the following:
GraphLab currently has a few required dependencies as well as a one optional (but recommended) dependency listed below:
GraphLab is released under the Apache license. We only ask that if you use GraphLab in your research please cite our paper.
@inproceedings{Low+al:uai10graphlab,
title = {GraphLab: A New Parallel Framework for Machine Learning},
author = {Yucheng Low and
Joseph Gonzalez and
Aapo Kyrola and
Danny Bickson and
Carlos Guestrin and
Joseph M. Hellerstein},
booktitle = {Conference on Uncertainty in Artificial Intelligence (UAI)},
month = {July},
year = {2010}
}
GraphLab has many implemented algorithms. You can fine them here.
The best way to start writing your own application is to take a close
look at one of the tutorials: here.
You can take one of sample algorithms, like PageRank (found under demoapps/pagerank)
and use the code as a template for your own application.
Once you have tried to run one of the implemented methods, you can start building your own project. In the demoapps/
directory create your own sub-directory, for
example demoapps/my_app. Then in your folder lets assume
you have the program hello_world.cpp. To build this
program you will need to
create demoapps/my_app/CMakeLists.txt and add your
target:
You then need to run ./configure --bootstrap script in the base
of the source tree. The configure script will create
a debug/, release/, and
profile/ directories each with different build
configurations.
-g -ggdb -O0 -Wall -Winit-self -O3 -Wall -Wextra -g -mfpmath=sse
-msse2 -funroll-loops -fprefetch-loop-arrays -O3 -Wall -g -mfpmath=sse -msse2
-funroll-loops -fprefetch-loop-arrays
Once you have run the configure script you can switch to any of
the build directories and run make which will build your app in
the location <build_dir>/apps/my_app .
Once you have setup your hello world appplication as part of GraphLab source tree, you can compile your program by
running make on either the release/ or debug/ folders.
NOTE: You application folder must reside inside the apps folder, for example apps/myapps/ or else the include and link path
will not be set correctly.
If running ./configure fails because of Boost libraries are not found, you might need to declare environment variable BOOST_ROOT which points to the installation directory of Boost. You can do this using:
Alternatively, you can try using our automatic dependency installing tools by running
./configure --bootstrapPlease let us know if you have trouble configuring GraphLab on your system.
Mac: on Mac OS X, you also need to include Boost libraries in the list of dynamic libraries defined in environment variable DYLD_LIBRARY_PATH. Here is an example: