Search This Blog

Thursday, May 17, 2012

GraphLab: A framework for Parallel Machine Learning Documentation

GraphLab: A framework for Parallel Machine Learning Documentation

1.0

Introduction

GraphLab is a powerful new system for designing and implementing parallel algorithms in machine learning. While the current targets multi-core shared memory parallel systems we are in the process of implementing a distributed version and plan to provide support for alternative parallel architectures include GPUs in the near future.
The easiest way to pick up GraphLab is to code! Here is a pagerank example which will provide you with some of the high level ideas of GraphLab And here is a more detailed example which provides more details as well as the the supporting APIs surrounding GraphLab.
The key pages of interest are:
GraphLab is heavily templatized and the following two structures help to simplify template usage.
  • The graphlab::core data structure.
    This provides a convenient wrapper around most of Graphlab.
  • graphlab::types
    This provides typedefs for all shared memory GraphLab types.
GraphLab is additionally supported by a serialization library, a fast parallel/thread-safe random number generator, as well as a flexible command line parsing system.
The GraphLab library also has a collection of parallel utility classes and functions which may be useful.

Distributed GraphLab

There is a basic usage documentation for the distributed GraphLab implementation here: Using Distributed GraphLab .
It relies on a nice RPC implementation documented here: GraphLab RPC .

No comments:

Post a Comment

Thank you