From 62e7da4eeb6a27defbb7a4cfd3e01c510839738f Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Thu, 24 Dec 2020 13:01:55 +0100 Subject: [PATCH] sys-cluster/dlb: new package help wanted in fixing python bindings Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Alessandro Barbieri --- sys-cluster/dlb/Manifest | 1 + sys-cluster/dlb/dlb-2.1.ebuild | 67 ++++++++++++++++++++++++++++++++++ sys-cluster/dlb/metadata.xml | 31 ++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 sys-cluster/dlb/Manifest create mode 100644 sys-cluster/dlb/dlb-2.1.ebuild create mode 100644 sys-cluster/dlb/metadata.xml diff --git a/sys-cluster/dlb/Manifest b/sys-cluster/dlb/Manifest new file mode 100644 index 0000000000..1c0cae123f --- /dev/null +++ b/sys-cluster/dlb/Manifest @@ -0,0 +1 @@ +DIST dlb-2.1.tar.gz 1847799 BLAKE2B 5fb4b010761e9883292e22f3254669116107aff4200b96930afd80c7f9073dbceef1b5109471cb948f9f74b8d7144a14137b4ea06dbee01f9857411f144a7fc2 SHA512 6199a05188b0afbeba3401b8182be5e1c04fbfd24a1ea0360d42d0f1518323df08c925ee4529a51e0065bb6653f54ed03106e9a77daf6e30564e2a9753839597 diff --git a/sys-cluster/dlb/dlb-2.1.ebuild b/sys-cluster/dlb/dlb-2.1.ebuild new file mode 100644 index 0000000000..fbd921eded --- /dev/null +++ b/sys-cluster/dlb/dlb-2.1.ebuild @@ -0,0 +1,67 @@ +# Copyright 2019-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +#PYTHON_COMPAT=( pypy3 python3_{7,8,9} ) +inherit autotools #distutils-r1 + +DESCRIPTION="tool that will dynamically react to the application imbalance modifying the number of resources" +HOMEPAGE="https://github.com/bsc-pm/dlb" +SRC_URI="https://github.com/bsc-pm/dlb/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~amd64" +#TODO: correctly install python stuff +IUSE="hwloc instrumentation mpi openmp" # python" + +DEPEND=" + hwloc? ( sys-apps/hwloc ) + mpi? ( virtual/mpi ) +" +#instrumentation ( sys-cluster/extrae ) +RDEPEND="${DEPEND}" +#REQUIRED_USE=" +# python? ( ${PYTHON_REQUIRED_USE} ) +#" + +src_prepare() { + sed -e "s|chmod +x \$(|chmod +x ${ED}/\$(|g" -i Makefile.am || die + default + eautoreconf +# if use python; then +# distutils-r1_python_prepare_all +# fi +} + +src_configure() { + local myconf=( + --disable-static + --enable-shared + --with-pic + $(use_enable instrumentation) + $(use_enable openmp) + $(use_with hwloc) + $(use_with mpi) + ) + econf "${myconf[@]}" +# if use python; then +# python_foreach_impl distutils-r1_python_install +# fi +} + +src_compile() { + default +# if use python; then +# python_foreach_impl distutils-r1_python_compile +# fi +} + +src_install() { + default +# rm -rf "${D}/usr/lib/python*" || die +# if use python; then +# python_foreach_impl distutils-r1_python_install +# fi + find "${D}" -name '*.la' -delete || die +} diff --git a/sys-cluster/dlb/metadata.xml b/sys-cluster/dlb/metadata.xml new file mode 100644 index 0000000000..f7c1a6db8e --- /dev/null +++ b/sys-cluster/dlb/metadata.xml @@ -0,0 +1,31 @@ + + + + + lssndrbarbieri@gmail.com + Alessandro Barbieri + + +Dynamic Load Balancing Library +DLB is a dynamic library designed to speed up HPC hybrid +applications (i.e., two levels of parallelism) by improving the load balance of the outer +level of parallelism (e.g., MPI) by dynamically redistributing the computational resources +at the inner level of parallelism (e.g., OpenMP). at run time. This dynamism allows DLB to +react to different sources of imbalance: Algorithm, data, hardware architecture and +resource availability among others. + +Lend When Idle LeWI (Lend When Idle) is the algorithm +used to redistribute the computational resources that are not being used from one process +to another process inside the same shared memory node in order to speed up its execution. + +Dynamic Resource Ownership Manager +DROM (Dynamic Resource Ownership Manager) is the algorithm used to manage the CPU affinity of a process running a shared memory programming model (e.g., OpenMP) + + + bsc-pm/dlb + + + add sys-apps/hwlocsupport + enable sys-cluster/extrae instrumentation + +