Skip to content

Commit

Permalink
Added more documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Yucheng Low committed Jul 1, 2013
1 parent a1645bc commit ad03340
Show file tree
Hide file tree
Showing 12 changed files with 327 additions and 150 deletions.
2 changes: 1 addition & 1 deletion Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ PROJECT_NAME = "GraphLab: Distributed Graph-Parallel API"
# This could be handy for archiving the generated documentation or
# if some version control system is used.

PROJECT_NUMBER = 2.1
PROJECT_NUMBER = 2.2

# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
Expand Down
2 changes: 1 addition & 1 deletion Doxyfile_internal
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ PROJECT_NAME = "GraphLab: Distributed Graph-Parallel API"
# This could be handy for archiving the generated documentation or
# if some version control system is used.

PROJECT_NUMBER = 2.0
PROJECT_NUMBER = 2.2

# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
Expand Down
2 changes: 1 addition & 1 deletion demoapps/pagerank/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ project(GraphLab)

add_graphlab_executable(simple_pagerank simple_pagerank.cpp)

add_graphlab_executable(warp_pagerank warp_pagerank.cpp)
add_graphlab_executable(warp_parfor_pagerank warp_parfor_pagerank.cpp)

add_graphlab_executable(warp_engine_pagerank warp_engine_pagerank.cpp)
2 changes: 1 addition & 1 deletion demoapps/pagerank/warp_engine_pagerank.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ using namespace graphlab;

// The graph type is determined by the vertex and edge data types
typedef distributed_graph<float , graphlab::empty> graph_type;
typedef warp_engine<graph_type> warp_engine_type;
typedef warp::warp_engine<graph_type> warp_engine_type;

/*
* A simple function used by graph.transform_vertices(init_vertex);
Expand Down
9 changes: 0 additions & 9 deletions demoapps/pagerank/warp_parfor_pagerank.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,22 +43,13 @@ void init_vertex(graph_type::vertex_type& vertex) { vertex.data() = 1; }
float pagerank_map(graph_type::edge_type edge, graph_type::vertex_type other) {
return other.data() / other.num_out_edges();
}
void transform_edge(graph_type::edge_type edge, graph_type::vertex_type other) {
edge.data() = other.data();
}

void pagerank(graph_type::vertex_type vertex) {
vertex.data() = 0.15 + 0.85 * warp::map_reduce_neighborhood(vertex,
IN_EDGES,
pagerank_map);
warp::transform_neighborhood(vertex, OUT_EDGES, transform_edge);
}






/*
* We want to save the final graph so we define a write which will be
* used in graph.save("path/prefix", pagerank_writer()) to save the graph.
Expand Down
38 changes: 20 additions & 18 deletions src/graphlab/docs/overview.dox
Original file line number Diff line number Diff line change
Expand Up @@ -14,33 +14,35 @@
The GraphLab project started in 2009 to develop a new parallel
computation abstraction tailored to machine learning. GraphLab 1.0
represents our first shared memoy design which, through the addition
of several matrix factorization toolkits contributed by our post-doc
Danny Bickson, started to grow a community of users.
of several matrix factorization toolkits, started to grow a community of users.

In the last couple of years, we have focused our development effort
on the distributed environment. Unfortunately, it took nearly a year
to figure out that distributing the GraphLab 1 abstraction was
excessively complicated and is unable to scale up to power-law
graphs commonly seen in the real world.

GraphLab 2.1 represents the latest evolution of the GraphLab
abstraction and is a complete redesign of the GraphLab 1 framework
In GraphLab 2.1, we completely redesign of the GraphLab 1 framework
for the distributed environment. The implementation is distributed
by design and a "shared-memory" execution is essentially running a
distributed system on a cluster of 1 machine. Not all toolkits from
GraphLab 1 have been ported over yet; some complex algorithms may
take some time.

There are two starting points where one may begin using GraphLab.
\li \ref toolkits "Toolkits" You can lookup the toolkit documentation here if you have a
computation task which is already implemented by one of our toolkits.
\li \ref using_graphlab "GraphLab C++ Tutorial" If you have a computation task which is
not implemented by our toolkits, you could try implementing yourself! For now
a certain degree of C++ knowledge is required. However, we are trying to
provide an interface to other languages such as Javascript and Python.
Contact the developers (here) if you want to beta-test these interfaces, or
come back in a couple of months when we may have something stable.

distributed system on a cluster of 1 machine.

And in this new release of GraphLab 2.2, we introduce the new \ref warp
which through the use of fine-grained user-mode threading, introduces a new
API which brings about a major increase in useability, and will allow us to
provide new capabilities more easily in the future.

There are two starting points where one may begin using GraphLab. \li \ref
toolkits "Toolkits" You can lookup the toolkit documentation here if you have
a computation task which is already implemented by one of our toolkits. \li
\ref using_graphlab "GraphLab C++ Tutorial" If you have a computation task
which is not implemented by our toolkits, you could try implementing
yourself! For now a certain degree of C++ knowledge is required.

The new GraphLab 2.2 \ref warp is available for experimentation. A
\ref using_warp tutorial is provided, and we are are looking for feedback
to continue extending and improving the Warp system. Performance tuning is
also underway.

Software Stack
=============
Expand Down
Loading

0 comments on commit ad03340

Please sign in to comment.