-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
78 lines (67 loc) · 3.72 KB
/
index.html
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
---
layout: default
title: GTKorvo
---
</div><!-- /.blurb -->
<p>GTkorvo serves as a repository for software developed by the Korvo group at Georgia Tech.
EVPath is the mostly commonly accessed component of the Korvo software stack
For a quick build of EVPath and the GTkorvo software
components that it depends upon, follow the instructions below.</p>
<p>In an empty directory which will serve as a build directory,
do:</p>
<pre>
wget –q https://gtkorvo.github.io/korvo_bootstrap.pl
perl ./korvo_bootstrap.pl
perl ./korvo_build.pl
</pre>
<p>Doing this will build and install EVPath with $HOME as the
installation directory. By default, this
will build the most current stable release of EVPath, along with FFS (an efficient
data marshaling package), ATL (a name/value attribute list library), and DILL
(dynamic code generation used by FFS). By
default, it also builds one package of external origin, a modified version of
ENET (http://enet.bespin.org/index.html, a reliable UDP package written by Lee Salzman).
This basic set of packages is sufficient for most casual uses of EVPath.</p>
<H2>Architecture Support</H2>
<p>FFS (Fast Flexible Serialization) relies upon DILL’s dynamic
code generation to provide fast translation between wire and native data
formats. DILL can generate code for 32-
and 64-bit x86 architectures, ia64, PowerPC, Sparc
and ARM architectures. FFS can be used
on an unsupported processor architecture, but in this case DILL requires the
foreign function interface support provided by libffi
(<a href="https://sourceware.org/libffi/)">https://sourceware.org/libffi/)</a>.
FFI must be build and installed prior to the
korvo_build.pl invocation.</p>
<H2>Non-TCP/IP Network Support</H2>
<p>EVPath supports a number of underlying network transports,
but does not choose between them automatically.
Instead, it provides mechanisms for higher-level tools to choose. However, what choices are available depends
upon what software is found by EVPath at build time. The ENET reliable UDP library is one such
software package that is simply built by EVPath by default, providing an “enet” network transport for EVPath.
Additionally, if EVPath is configured on a
machine with an Infiniband Verbs library, it will
build a native “ib” transport.</p>
<p>Another possible transport, “nnti”, is built on the <b
style='mso-bidi-font-weight:normal'>NNTI</b> RDMA wrapper library derived
Trios in Trilinos <a
href="https://trilinos.org/packages/trios/">https://trilinos.org/packages/trios/</a>). NNTI
can only build successfully on hosts with RDMA interfaces, and is largely
deprecated, but it is currently one of the few RDMA transports for EVPath on
Titan (an ORNL supercomputer). NNTI can be built by editing the
“korvo_build_config” file after korvo_bootstrap and removing the comment
character (‘%’) in front of the ‘nnti’ entry in the ‘BUILDLIST’ section.</p>
<p>A third possible RDMA transport for EVPath is based upon Libfabric,
developed by the OFI Working Group, a subgroup of the <a href="http://www.openfabrics.org/">
OpenFabrics Alliance</a>. If
libfabric is built and installed in a visible location prior to building
EVPath, the “fabric” transport will be built and installed with
EVPath. Libfabric can be downloaded here: <a
href="https://ofiwg.github.io/libfabric/">https://ofiwg.github.io/libfabric/</a>.
Currently the EVPath fabric transport is known to function only over
libfabric’s VERBS and SOCKETS providers. As with libffi, libfabric must be built and installed prior to the korvo_build invocation.
<p>
IF YOU DON'T WANT EVPATH TO BUILD WITH ANY RDMA TRANSPORTS, edit the
build_config (or korvo_build_config) file to add the string
"-DEVPATH_NO_RDMA=1" to the cmake arguments.
</div><!-- /.blurb -->