forked from jegonzal/PowerGraph
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BINARY_README
133 lines (100 loc) · 4.58 KB
/
BINARY_README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
Graphlab Binary Release
-----------------------
=======
License
=======
GraphLab is free software licensed under the Apache 2.0 License. See
license/LICENSE.txt for details.
============
Introduction
============
GraphLab is a graph-based, high performance, distributed computation framework
written in C++.
GraphLab Features:
Unified multicore/
distributed API: write once run anywhere
Tuned for performance: optimized C++ execution engine leverages extensive
multi-threading and asynchronous IO
Scalable: Run on large cluster deployments by
intelligently placing data and computation
HDFS Integration: Access your data directly from HDFS
Powerful Machine
Learning Toolkits: Tackle challenging machine
learning problems with ease
For more details on the GraphLab see http://graphlab.org, including
documentation, tutorial, etc.
The source code and documentation for all applications can be found at
http://docs.graphlab.org/toolkits.html
========
Mac OS X
========
The Mac OS X build is restricted and is compiled without HDFS support, nor
distributed capabilities. All toolkits therefore run entirely on one machine
in shared memory.
These binaries have been tested to run on OS X 10.6 or greater. Though they
may work on 10.5 as well. Please let us know if you encounter any issues.
=====
Linux
=====
The Linux builds are more complex due to varying glibc versions as well as the
need to support both OpenMPI and MPICH2. FOUR binary releases are provided
Please obtain the package closest matching your needs. In particular, it is
important to match the MPI library you have on your cluster:
they are not compatible.
The binary packages are:
- graphlab_openmpi : Supports OpenMPI 1.3 and 1.4. Supports HDFS and thus
requires a working JVM (whether or not you use
HDFS).
- graphlab_mpich2 : Supports MPICH2. Supports HDFS and thus
requires a working JVM (whether or not you use
HDFS).
- graphlab_openmpi_no_jvm : Supports OpenMPI 1.3 and 1.4. Does not support
HDFS. Does not require a working JVM. Loading
files distributed will therefore require either
a distributed file system or a common NFS
share.
- graphlab_mpich2_no_jvm : Supports MPICH2. Does not support HDFS. Does not
require a working JVM. Loading files distributed
will therefore require either a distributed file
system or a common NFS share. If you want to run
to run only in shared memory, this is also the
package to use.
Each binary is paired with a matching shell script which sets up the
execution environment (by forcing the load of provided versions of system
binaries). Several environment variables are used to control the process.
JAVA_HOME
Either JAVA_HOME or JVM_SO_PATH must be set.
This must point to the Java home directory.
For instance: /usr/lib/jvm/java-6-openjdk
This was tested with Oracle's implementation of Java (sun-jdk or open-jdk).
JVM_SO_PATH
Either JAVA_HOME or JVM_SO_PATH must be set.
Optional. The script will expect to find libjvm.so in
$JAVA_HOME/jre/lib/amd64/client/libjvm.so or
$JAVA_HOME/jre/lib/amd64/server/libjvm.so
If libjvm.so is not in either locations, the script will fail. In which
case, you should set this variable to the directory containing libjvm.so.
USE_SYSTEM_LIBS
Optional. If set, the system's glibc (and other system dependencies)
will be used instead of the provided versions.
HDFS Capability is compiled in. If HDFS is to be used, the
"hadoop" command must be available.
Additional Notes for OpenMPI
----------------------------
Unlike the MPICH2 build, the OpenMPI build is unable to static link
everything. For now, we provide only binary releases built against
OpenMPI 1.3.2 which should be binary compatible with 1.4.
=============
Build Details
=============
Mac Build:
Compiled on OS X 10.8
Apple clang version 4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn)
-O3 -march=x86-64 -mtune=generic -mmacosx-version-min=10.5
Linux Build:
To support maximal compatibility, this was compiled on an
old Linux distribution.
Compiled on Ubuntu 9.04, GCC 4.3.3
-O3 -march=x86-64 -mtune=generic
OpenMPI: 1.3.2 (ABI Compatible with 1.4)
MPICH2: 1.5