mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-20 04:23:16 -04:00
sys-cluster/mrnet: initial import
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
1
sys-cluster/mrnet/Manifest
Normal file
1
sys-cluster/mrnet/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST mrnet-5.0.1_p20180510.tar.gz 809277 BLAKE2B c3465db9977f133994d9d8aa619d50e8bbf03f4d17b04ed4f0bdfdbd185fbf9b3c74f63de458cfebc79493228a9243c08c95333ae30ef2a19c01625c77e94408 SHA512 e190cf0b291a0fdebd7ff8449ea1cf0ef5bbda4c1ec4af8341db18fdcd1407ace428dc2a527d004987dc4171a82b4db2cfa34534695e3ec67c519523058915a2
|
||||
56
sys-cluster/mrnet/metadata.xml
Normal file
56
sys-cluster/mrnet/metadata.xml
Normal file
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>lssndrbarbieri@gmail.com</email>
|
||||
<name>Alessandro Barbieri</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
MRNet is a customizable, high-performance software infrastructure for
|
||||
building scalable tools and applications. It supports efficient
|
||||
multicast and data aggregation functionality using a tree of processes
|
||||
between the tool's front-end and back-ends. MRNet-based tools may use
|
||||
these internal processes to distribute many important tool activities,
|
||||
for example to reduce data analysis time and keep tool front-end loads
|
||||
manageable.
|
||||
|
||||
MRNet-based tool components communicate across logical channels called
|
||||
streams. At MRNet internal processes, filters are bound to these streams to
|
||||
synchronize and aggregate dataflows. Using filters, MRNet can efficiently
|
||||
compute averages, sums, and other more complex aggregations and analyses
|
||||
on tool data. MRNet also supports facilities that allow tool developers
|
||||
dynamically load new tool-specific filters into the system.
|
||||
|
||||
Features:
|
||||
* Flexible tool organization: MRNet does not dictate the organization of
|
||||
MRNet and tool processes, so MRNet-based tools can tailor MRNet's
|
||||
configuration to the requirements of the tool and its target environment.
|
||||
|
||||
* Scalable, flexible data aggregation: MRNet provides a set of built-in
|
||||
filters for traditional data aggregation operations like averages, sums,
|
||||
and data concatenation. MRNet also supports custom, dynamically-loaded
|
||||
filters for tool-specific aggregations.
|
||||
|
||||
* High-bandwidth communication: Internally, MRNet transfers data using an
|
||||
efficient, packed binary representation. Zero-copy data paths are used
|
||||
whenever possible to reduce data transfer latency.
|
||||
|
||||
* Scalable multicast: MRNet supports efficient multicast to reduce the cost
|
||||
of delivering tool control messages to tool back-ends.
|
||||
|
||||
* Multiple concurrent data channels: MRNet supports multiple logical
|
||||
channels of data between tool components. Multiple aggregation and
|
||||
multicast operations may be in progress simultaneously.
|
||||
|
||||
* Open source licensing.
|
||||
</longdescription>
|
||||
<use>
|
||||
<!--<flag name="libi">Use libi as tree instantiation method instead of ssh</flag>-->
|
||||
<flag name="threadsafe">Build threasafe version of lightweight MRNet and XPlat libraries</flag>
|
||||
<!--<flag name="slurm">Use slurm as libi tree instantiation method instead of ssh</flag>-->
|
||||
</use>
|
||||
<upstream>
|
||||
<bugs-to>https://github.com/dyninst/mrnet/issues</bugs-to>
|
||||
<remote-id type="github">dyninst/mrnet</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
74
sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild
Normal file
74
sys-cluster/mrnet/mrnet-5.0.1_p20180510.ebuild
Normal file
@@ -0,0 +1,74 @@
|
||||
# Copyright 2019-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
COMMIT="7375ba5bb0df87c68e58ad15e9e5e351ae020c08"
|
||||
|
||||
DESCRIPTION="A Multicast/Reduction Network"
|
||||
HOMEPAGE="http://www.paradyn.org/mrnet"
|
||||
SRC_URI="https://github.com/dyninst/mrnet/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${COMMIT}"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="threadsafe" #launchmon libi slurm
|
||||
|
||||
DEPEND="dev-libs/boost:="
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
"
|
||||
# slurm? ( sys-cluster/slurm )
|
||||
|
||||
#REQUIRED_USE="slurm? ( libi )"
|
||||
|
||||
src_prepare() {
|
||||
rm -r external || die
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--enable-shared
|
||||
--enable-verbosebuild
|
||||
--with-boost="${EPREFIX}/usr"
|
||||
|
||||
$(use_enable threadsafe ltwt-threadsafe)
|
||||
)
|
||||
|
||||
#expat seems to be used only on cray
|
||||
# if use expat; then
|
||||
# myconf+=( "--with-expat=${EPREFIX}/usr" )
|
||||
# else
|
||||
# myconf+=( "--without-expat" )
|
||||
# fi
|
||||
# if use launchmon; then
|
||||
# myconf+=( "--with-launchmon=${EPREFIX}/usr" )
|
||||
# else
|
||||
# myconf+=( "--without-launchmon" )
|
||||
# fi
|
||||
# if use libi; then
|
||||
# myconf+=( "--with-libi=${EPREFIX}/usr" )
|
||||
# myconf+=( "--with-startup=libi" )
|
||||
# use slurm && myconf+=( "--with-libi-startup=slurm" )
|
||||
# else
|
||||
# myconf+=( "--without-libi" )
|
||||
# myconf+=( "--with-startup=ssh" )
|
||||
# fi
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
MAKEOPTS="-j1" emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dolib.so build/*/lib/*.so*
|
||||
dobin build/*/bin/*
|
||||
insinto /usr/include
|
||||
doins -r xplat/include/*
|
||||
doins -r include/*
|
||||
dodoc README ACKNOWLEDGMENTS
|
||||
}
|
||||
Reference in New Issue
Block a user