1 |
commit: 62e7da4eeb6a27defbb7a4cfd3e01c510839738f |
2 |
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
3 |
AuthorDate: Thu Dec 24 12:01:55 2020 +0000 |
4 |
Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
5 |
CommitDate: Sat Dec 26 11:20:12 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=62e7da4e |
7 |
|
8 |
sys-cluster/dlb: new package |
9 |
|
10 |
help wanted in fixing python bindings |
11 |
|
12 |
Package-Manager: Portage-3.0.12, Repoman-3.0.2 |
13 |
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> |
14 |
|
15 |
sys-cluster/dlb/Manifest | 1 + |
16 |
sys-cluster/dlb/dlb-2.1.ebuild | 67 ++++++++++++++++++++++++++++++++++++++++++ |
17 |
sys-cluster/dlb/metadata.xml | 31 +++++++++++++++++++ |
18 |
3 files changed, 99 insertions(+) |
19 |
|
20 |
diff --git a/sys-cluster/dlb/Manifest b/sys-cluster/dlb/Manifest |
21 |
new file mode 100644 |
22 |
index 00000000..1c0cae12 |
23 |
--- /dev/null |
24 |
+++ b/sys-cluster/dlb/Manifest |
25 |
@@ -0,0 +1 @@ |
26 |
+DIST dlb-2.1.tar.gz 1847799 BLAKE2B 5fb4b010761e9883292e22f3254669116107aff4200b96930afd80c7f9073dbceef1b5109471cb948f9f74b8d7144a14137b4ea06dbee01f9857411f144a7fc2 SHA512 6199a05188b0afbeba3401b8182be5e1c04fbfd24a1ea0360d42d0f1518323df08c925ee4529a51e0065bb6653f54ed03106e9a77daf6e30564e2a9753839597 |
27 |
|
28 |
diff --git a/sys-cluster/dlb/dlb-2.1.ebuild b/sys-cluster/dlb/dlb-2.1.ebuild |
29 |
new file mode 100644 |
30 |
index 00000000..fbd921ed |
31 |
--- /dev/null |
32 |
+++ b/sys-cluster/dlb/dlb-2.1.ebuild |
33 |
@@ -0,0 +1,67 @@ |
34 |
+# Copyright 2019-2020 Gentoo Authors |
35 |
+# Distributed under the terms of the GNU General Public License v2 |
36 |
+ |
37 |
+EAPI=7 |
38 |
+#PYTHON_COMPAT=( pypy3 python3_{7,8,9} ) |
39 |
+inherit autotools #distutils-r1 |
40 |
+ |
41 |
+DESCRIPTION="tool that will dynamically react to the application imbalance modifying the number of resources" |
42 |
+HOMEPAGE="https://github.com/bsc-pm/dlb" |
43 |
+SRC_URI="https://github.com/bsc-pm/dlb/archive/v${PV}.tar.gz -> ${P}.tar.gz" |
44 |
+ |
45 |
+LICENSE="LGPL-3" |
46 |
+SLOT="0" |
47 |
+KEYWORDS="~amd64" |
48 |
+#TODO: correctly install python stuff |
49 |
+IUSE="hwloc instrumentation mpi openmp" # python" |
50 |
+ |
51 |
+DEPEND=" |
52 |
+ hwloc? ( sys-apps/hwloc ) |
53 |
+ mpi? ( virtual/mpi ) |
54 |
+" |
55 |
+#instrumentation ( sys-cluster/extrae ) |
56 |
+RDEPEND="${DEPEND}" |
57 |
+#REQUIRED_USE=" |
58 |
+# python? ( ${PYTHON_REQUIRED_USE} ) |
59 |
+#" |
60 |
+ |
61 |
+src_prepare() { |
62 |
+ sed -e "s|chmod +x \$(|chmod +x ${ED}/\$(|g" -i Makefile.am || die |
63 |
+ default |
64 |
+ eautoreconf |
65 |
+# if use python; then |
66 |
+# distutils-r1_python_prepare_all |
67 |
+# fi |
68 |
+} |
69 |
+ |
70 |
+src_configure() { |
71 |
+ local myconf=( |
72 |
+ --disable-static |
73 |
+ --enable-shared |
74 |
+ --with-pic |
75 |
+ $(use_enable instrumentation) |
76 |
+ $(use_enable openmp) |
77 |
+ $(use_with hwloc) |
78 |
+ $(use_with mpi) |
79 |
+ ) |
80 |
+ econf "${myconf[@]}" |
81 |
+# if use python; then |
82 |
+# python_foreach_impl distutils-r1_python_install |
83 |
+# fi |
84 |
+} |
85 |
+ |
86 |
+src_compile() { |
87 |
+ default |
88 |
+# if use python; then |
89 |
+# python_foreach_impl distutils-r1_python_compile |
90 |
+# fi |
91 |
+} |
92 |
+ |
93 |
+src_install() { |
94 |
+ default |
95 |
+# rm -rf "${D}/usr/lib/python*" || die |
96 |
+# if use python; then |
97 |
+# python_foreach_impl distutils-r1_python_install |
98 |
+# fi |
99 |
+ find "${D}" -name '*.la' -delete || die |
100 |
+} |
101 |
|
102 |
diff --git a/sys-cluster/dlb/metadata.xml b/sys-cluster/dlb/metadata.xml |
103 |
new file mode 100644 |
104 |
index 00000000..f7c1a6db |
105 |
--- /dev/null |
106 |
+++ b/sys-cluster/dlb/metadata.xml |
107 |
@@ -0,0 +1,31 @@ |
108 |
+<?xml version="1.0" encoding="UTF-8"?> |
109 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
110 |
+<pkgmetadata> |
111 |
+ <maintainer type="person"> |
112 |
+ <email>lssndrbarbieri@×××××.com</email> |
113 |
+ <name>Alessandro Barbieri</name> |
114 |
+ </maintainer> |
115 |
+ <longdescription> |
116 |
+Dynamic Load Balancing Library |
117 |
+DLB is a dynamic library designed to speed up HPC hybrid |
118 |
+applications (i.e., two levels of parallelism) by improving the load balance of the outer |
119 |
+level of parallelism (e.g., MPI) by dynamically redistributing the computational resources |
120 |
+at the inner level of parallelism (e.g., OpenMP). at run time. This dynamism allows DLB to |
121 |
+react to different sources of imbalance: Algorithm, data, hardware architecture and |
122 |
+resource availability among others. |
123 |
+ |
124 |
+Lend When Idle LeWI (Lend When Idle) is the algorithm |
125 |
+used to redistribute the computational resources that are not being used from one process |
126 |
+to another process inside the same shared memory node in order to speed up its execution. |
127 |
+ |
128 |
+Dynamic Resource Ownership Manager |
129 |
+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) |
130 |
+ </longdescription> |
131 |
+ <upstream> |
132 |
+ <remote-id type="github">bsc-pm/dlb</remote-id> |
133 |
+ </upstream> |
134 |
+ <use> |
135 |
+ <flag name="hwloc">add <pkg>sys-apps/hwloc</pkg>support</flag> |
136 |
+ <flag name="instrumentation">enable <pkg>sys-cluster/extrae</pkg> instrumentation</flag> |
137 |
+ </use> |
138 |
+</pkgmetadata> |