1 |
commit: a89b7b4b8916b53d8e518b2de0f76405b314008c |
2 |
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
3 |
AuthorDate: Tue Jul 13 11:07:27 2021 +0000 |
4 |
Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
5 |
CommitDate: Tue Jul 13 11:13:55 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a89b7b4b |
7 |
|
8 |
sys-cluster/mrnet: initial import |
9 |
|
10 |
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> |
11 |
|
12 |
sys-cluster/mrnet/Manifest | 1 + |
13 |
sys-cluster/mrnet/metadata.xml | 56 +++++++++++++++++++ |
14 |
sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild | 74 ++++++++++++++++++++++++++ |
15 |
3 files changed, 131 insertions(+) |
16 |
|
17 |
diff --git a/sys-cluster/mrnet/Manifest b/sys-cluster/mrnet/Manifest |
18 |
new file mode 100644 |
19 |
index 000000000..e0d53f35e |
20 |
--- /dev/null |
21 |
+++ b/sys-cluster/mrnet/Manifest |
22 |
@@ -0,0 +1 @@ |
23 |
+DIST mrnet-5.0.1_p20180510.tar.gz 809277 BLAKE2B c3465db9977f133994d9d8aa619d50e8bbf03f4d17b04ed4f0bdfdbd185fbf9b3c74f63de458cfebc79493228a9243c08c95333ae30ef2a19c01625c77e94408 SHA512 e190cf0b291a0fdebd7ff8449ea1cf0ef5bbda4c1ec4af8341db18fdcd1407ace428dc2a527d004987dc4171a82b4db2cfa34534695e3ec67c519523058915a2 |
24 |
|
25 |
diff --git a/sys-cluster/mrnet/metadata.xml b/sys-cluster/mrnet/metadata.xml |
26 |
new file mode 100644 |
27 |
index 000000000..e2be8a693 |
28 |
--- /dev/null |
29 |
+++ b/sys-cluster/mrnet/metadata.xml |
30 |
@@ -0,0 +1,56 @@ |
31 |
+<?xml version="1.0" encoding="UTF-8"?> |
32 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
33 |
+<pkgmetadata> |
34 |
+ <maintainer type="person"> |
35 |
+ <email>lssndrbarbieri@×××××.com</email> |
36 |
+ <name>Alessandro Barbieri</name> |
37 |
+ </maintainer> |
38 |
+ <longdescription lang="en"> |
39 |
+MRNet is a customizable, high-performance software infrastructure for |
40 |
+building scalable tools and applications. It supports efficient |
41 |
+multicast and data aggregation functionality using a tree of processes |
42 |
+between the tool's front-end and back-ends. MRNet-based tools may use |
43 |
+these internal processes to distribute many important tool activities, |
44 |
+for example to reduce data analysis time and keep tool front-end loads |
45 |
+manageable. |
46 |
+ |
47 |
+MRNet-based tool components communicate across logical channels called |
48 |
+streams. At MRNet internal processes, filters are bound to these streams to |
49 |
+synchronize and aggregate dataflows. Using filters, MRNet can efficiently |
50 |
+compute averages, sums, and other more complex aggregations and analyses |
51 |
+on tool data. MRNet also supports facilities that allow tool developers |
52 |
+dynamically load new tool-specific filters into the system. |
53 |
+ |
54 |
+Features: |
55 |
+* Flexible tool organization: MRNet does not dictate the organization of |
56 |
+MRNet and tool processes, so MRNet-based tools can tailor MRNet's |
57 |
+configuration to the requirements of the tool and its target environment. |
58 |
+ |
59 |
+* Scalable, flexible data aggregation: MRNet provides a set of built-in |
60 |
+filters for traditional data aggregation operations like averages, sums, |
61 |
+and data concatenation. MRNet also supports custom, dynamically-loaded |
62 |
+filters for tool-specific aggregations. |
63 |
+ |
64 |
+* High-bandwidth communication: Internally, MRNet transfers data using an |
65 |
+efficient, packed binary representation. Zero-copy data paths are used |
66 |
+whenever possible to reduce data transfer latency. |
67 |
+ |
68 |
+* Scalable multicast: MRNet supports efficient multicast to reduce the cost |
69 |
+of delivering tool control messages to tool back-ends. |
70 |
+ |
71 |
+* Multiple concurrent data channels: MRNet supports multiple logical |
72 |
+channels of data between tool components. Multiple aggregation and |
73 |
+multicast operations may be in progress simultaneously. |
74 |
+ |
75 |
+* Open source licensing. |
76 |
+ </longdescription> |
77 |
+ <use> |
78 |
+ <!--<flag name="libi">Use libi as tree instantiation method instead of ssh</flag>--> |
79 |
+ <flag name="threadsafe">Build threasafe version of lightweight MRNet and XPlat libraries</flag> |
80 |
+ <!--<flag name="slurm">Use slurm as libi tree instantiation method instead of ssh</flag>--> |
81 |
+ </use> |
82 |
+ <upstream> |
83 |
+ <bugs-to>https://github.com/dyninst/mrnet/issues</bugs-to> |
84 |
+ <remote-id type="github">dyninst/mrnet</remote-id> |
85 |
+ </upstream> |
86 |
+</pkgmetadata> |
87 |
|
88 |
diff --git a/sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild b/sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild |
89 |
new file mode 100644 |
90 |
index 000000000..abd8faaf5 |
91 |
--- /dev/null |
92 |
+++ b/sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild |
93 |
@@ -0,0 +1,74 @@ |
94 |
+# Copyright 2019-2021 Gentoo Authors |
95 |
+# Distributed under the terms of the GNU General Public License v2 |
96 |
+ |
97 |
+EAPI=8 |
98 |
+ |
99 |
+COMMIT="7375ba5bb0df87c68e58ad15e9e5e351ae020c08" |
100 |
+ |
101 |
+DESCRIPTION="A Multicast/Reduction Network" |
102 |
+HOMEPAGE="http://www.paradyn.org/mrnet" |
103 |
+SRC_URI="https://github.com/dyninst/mrnet/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" |
104 |
+S="${WORKDIR}/${PN}-${COMMIT}" |
105 |
+ |
106 |
+LICENSE="LGPL-2.1+" |
107 |
+SLOT="0" |
108 |
+KEYWORDS="~amd64" |
109 |
+IUSE="threadsafe" #launchmon libi slurm |
110 |
+ |
111 |
+DEPEND="dev-libs/boost:=" |
112 |
+DEPEND=" |
113 |
+ ${RDEPEND} |
114 |
+" |
115 |
+# slurm? ( sys-cluster/slurm ) |
116 |
+ |
117 |
+#REQUIRED_USE="slurm? ( libi )" |
118 |
+ |
119 |
+src_prepare() { |
120 |
+ rm -r external || die |
121 |
+ default |
122 |
+} |
123 |
+ |
124 |
+src_configure() { |
125 |
+ local myconf=( |
126 |
+ --enable-shared |
127 |
+ --enable-verbosebuild |
128 |
+ --with-boost="${EPREFIX}/usr" |
129 |
+ |
130 |
+ $(use_enable threadsafe ltwt-threadsafe) |
131 |
+ ) |
132 |
+ |
133 |
+#expat seems to be used only on cray |
134 |
+# if use expat; then |
135 |
+# myconf+=( "--with-expat=${EPREFIX}/usr" ) |
136 |
+# else |
137 |
+# myconf+=( "--without-expat" ) |
138 |
+# fi |
139 |
+# if use launchmon; then |
140 |
+# myconf+=( "--with-launchmon=${EPREFIX}/usr" ) |
141 |
+# else |
142 |
+# myconf+=( "--without-launchmon" ) |
143 |
+# fi |
144 |
+# if use libi; then |
145 |
+# myconf+=( "--with-libi=${EPREFIX}/usr" ) |
146 |
+# myconf+=( "--with-startup=libi" ) |
147 |
+# use slurm && myconf+=( "--with-libi-startup=slurm" ) |
148 |
+# else |
149 |
+# myconf+=( "--without-libi" ) |
150 |
+# myconf+=( "--with-startup=ssh" ) |
151 |
+# fi |
152 |
+ |
153 |
+ econf "${myconf[@]}" |
154 |
+} |
155 |
+ |
156 |
+src_compile() { |
157 |
+ MAKEOPTS="-j1" emake |
158 |
+} |
159 |
+ |
160 |
+src_install() { |
161 |
+ dolib.so build/*/lib/*.so* |
162 |
+ dobin build/*/bin/* |
163 |
+ insinto /usr/include |
164 |
+ doins -r xplat/include/* |
165 |
+ doins -r include/* |
166 |
+ dodoc README ACKNOWLEDGMENTS |
167 |
+} |