-
Notifications
You must be signed in to change notification settings - Fork 493
Expand file tree
/
Copy pathREADME
More file actions
132 lines (101 loc) · 4.78 KB
/
README
File metadata and controls
132 lines (101 loc) · 4.78 KB
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
Version @VERSION@
Released on @DATE@
Introduction
============
Libfabric is a communication library that exports interfaces for
fabric services to applications. Libfabric is the core component
of the Open Fabrics Interfaces (OFI) framework.
Libfabric has the following objectives:
* High-performance: provide optimized software paths to hardware
- Independent of hardware implementations
* Scalable: targets support for millions of processes
- Designed to reduce cache and memory footprint
- Scalable address resolution and storage
- Tight data structures
* Application-centric
- Interfaces co-designed with application developers and hardware
vendors
* Extensible
- Easily adaptable to support future application needs
OFI is being developed by the OFI Working Group (OFIWG) a subgroup
of the OpenFabrics Alliance (OFA). Participation in OFIWG
(pronounced o-fee-wig) is open to anyone, regardless of their
membership in OFA.
The goal of OFI and libfabric is to define interfaces that enable
a tight semantic map between applications and underlying fabric
services. Specifically, libfabric software interfaces have been
co-designed with fabric hardware providers and application developers,
with an initial focus on the needs of HPC users. OFI supports multiple
interface semantics, is fabric and hardware implementation agnostic,
and leverages and expands the existing RDMA open source community.
For more information regarding the OFI project, please visit the OFIWG
GitHub site:
http://ofiwg.github.io/libfabric/
or
http://libfabric.org
Support
=======
OFI targets support for the Linux operating system. A reasonable effort
is made to support all major, modern Linux distributions; however,
validation is limited to the most recent 2-3 releases of RedHat
Enterprise Linux (RHEL)and SUSE Linux Enterprise Server (SLES).
OFI aligns its supported distributions with the most current
OpenFabrics Enterprise Distribution (OFED) software releases. With
the exception of the sockets provider, which is provided for development
purposes, distro support for a specific provider is vendor specific.
Libfabric will also run on OS X, but OS X support is provided as a convenience
for developers.
Bugs, issues, or requests for feature enhancements may be made directly to
the github issues list:
https://github.com/ofiwg/libfabric/issues
Additionally, users may post questions, comments, bugs, etc. to the Libfabric
users mailing list. (Don't be bashful. We don't bite.)
libfabric-users@lists.openfabrics.org
Patches may be submitted using github (preferred) or posted to the OFIWG
mail list.
Building
========
To install from a libfabric source package run the following commands:
./configure && make && make install
If building directly from the libfabric git tree, run './autogen.sh'
before the configure step.
Configure Options
-----------------
The configure script has many built-in options (see './configure --help').
Some useful options are:
--prefix=<directory>
By default 'make install' will place the files in the '/usr' tree.
The '--prefix' option specifies that libfabric files should be
installed into the tree specified by named <directory>.
--with-cuda[=DIR]
Enable CUDA build and fail if not found. Optional=<Path to where the
CUDA libraries and headers are installed.> This enables CUDA memory
support for heterogeneous memory (HMEM) operations.
--with-rocr[=DIR]
Enable ROCR/HSA build and fail if not found. Optional=<Path to where
the ROCR/HSA libraries and headers are installed.> This enables ROCr
memory support for heterogeneous memory (HMEM) operations.
--with-neuron[=DIR]
Enable Neuron build and fail if not found. Optional=<Path to where the
Neuron libraries and headers are installed.> This enables Neuron memory
support for heterogeneous memory (HMEM) operations.
--with-synapseai[=DIR]
Enable SynapseAI build and fail if not found. Optional=<Path to where
the SynapseAI libraries and headers are installed.> This enables
SynapseAI memory support for heterogeneous memory (HMEM) operations.
--with-ze[=DIR]
Enable ZE build and fail if not found. Optional=<Path to where the ZE
libraries and headers are installed.> This enables Intel GPU memory
support for heterogeneous memory (HMEM) operations.
--enable-cuda-dlopen
Enable dlopen of CUDA libraries [default=no]. This allows building
binaries that can run on systems with or without CUDA runtime.
--enable-rocr-dlopen
Enable dlopen of ROCR libraries [default=no]. This allows building
binaries that can run on systems with or without ROCR runtime.
--enable-ze-dlopen
Enable dlopen of ZE libraries [default=no]. This allows building
binaries that can run on systems with or without ZE runtime.
Windows
=======
Please find Windows specific instructions in docs/windows.txt file