1 |
commit: 62817bd44deeaa5bd49d33792c7931f2c000d8c3 |
2 |
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
3 |
AuthorDate: Thu Jun 2 12:30:34 2022 +0000 |
4 |
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Jun 2 13:50:03 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=62817bd4 |
7 |
|
8 |
sys-cluster/mpi-benchmarks: new package, add 2021.3 |
9 |
|
10 |
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> |
11 |
|
12 |
sys-cluster/mpi-benchmarks/Manifest | 1 + |
13 |
.../files/mpi-benchmarks-2021.3-makefile.patch | 142 +++++++++++++++++++++ |
14 |
sys-cluster/mpi-benchmarks/metadata.xml | 13 ++ |
15 |
.../mpi-benchmarks/mpi-benchmarks-2021.3.ebuild | 28 ++++ |
16 |
4 files changed, 184 insertions(+) |
17 |
|
18 |
diff --git a/sys-cluster/mpi-benchmarks/Manifest b/sys-cluster/mpi-benchmarks/Manifest |
19 |
new file mode 100644 |
20 |
index 000000000..87015f994 |
21 |
--- /dev/null |
22 |
+++ b/sys-cluster/mpi-benchmarks/Manifest |
23 |
@@ -0,0 +1 @@ |
24 |
+DIST IMB-v2021.3.tar.gz 221038 BLAKE2B d776e482a6632d9a538af0f8b89928322860ca6782f7c96bb47af0f9c6387eddc487bffbf3fde3e5c0477b7c9e9cbe7856857110890389f5ee42865051ef185b SHA512 fdb1a2426b5999c58c5d15228c64a80f28f4051d438e86a132f0fc42c3cda88f0e1bbcb792316617864d0f4d07d89143a96f3824bd4806fc8cde3c2dcb1d4094 |
25 |
|
26 |
diff --git a/sys-cluster/mpi-benchmarks/files/mpi-benchmarks-2021.3-makefile.patch b/sys-cluster/mpi-benchmarks/files/mpi-benchmarks-2021.3-makefile.patch |
27 |
new file mode 100644 |
28 |
index 000000000..2ba8660e1 |
29 |
--- /dev/null |
30 |
+++ b/sys-cluster/mpi-benchmarks/files/mpi-benchmarks-2021.3-makefile.patch |
31 |
@@ -0,0 +1,142 @@ |
32 |
+--- a/src_c/Makefile |
33 |
++++ b/src_c/Makefile |
34 |
+@@ -106,10 +106,10 @@ |
35 |
+ -mkdir -p $@ |
36 |
+ |
37 |
+ $(BINARY): $(OBJ) |
38 |
+- $(CC) $(LDFLAGS) $^ -o $@ |
39 |
++ $(CC) $(CFLAGS) -fPIE $(LDFLAGS) $^ -o $@ |
40 |
+ |
41 |
+ $(BUILDDIR)/%.o: %.c |
42 |
+- $(CC) $(CFLAGS) -D$(TARGET) -DIMB2018 -c $< -o $@ |
43 |
++ $(CC) $(CFLAGS) -fPIC -D$(TARGET) -DIMB2018 -c $< -o $@ |
44 |
+ |
45 |
+ clean: |
46 |
+ rm -rf $(BUILDDIR) $(OBJ) $(BINARY) |
47 |
+--- a/src_c/P2P/Makefile |
48 |
++++ b/src_c/P2P/Makefile |
49 |
+@@ -50,11 +50,11 @@ |
50 |
+ TARGET=P2P |
51 |
+ BINARY:=IMB-P2P |
52 |
+ |
53 |
+-override CFLAGS += -O3 -Wall -Wextra -pedantic -Wno-long-long |
54 |
++override CFLAGS += -Wall -Wextra -pedantic -Wno-long-long |
55 |
+ override LDFLAGS += -lm |
56 |
+ |
57 |
+ ifeq ($(origin CC),default) |
58 |
+-CC=mpiicc |
59 |
++CC=mpicc |
60 |
+ endif |
61 |
+ |
62 |
+ all: $(BINARY) |
63 |
+@@ -72,10 +72,10 @@ |
64 |
+ IMB_OBJ = $(IMB_SRC:.c=.o) |
65 |
+ |
66 |
+ $(BINARY): $(IMB_OBJ) |
67 |
+- $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) |
68 |
++ $(CC) $(CFLAGS) -fPIE -o $@ $^ $(LDFLAGS) |
69 |
+ |
70 |
+ %.o: %.c |
71 |
+- $(CC) $(CFLAGS) -c -o $@ $< |
72 |
++ $(CC) $(CFLAGS) -fPIC -c -o $@ $< |
73 |
+ |
74 |
+ clean: |
75 |
+ rm -f $(IMB_OBJ) $(BINARY) |
76 |
+--- a/src_cpp/Makefile |
77 |
++++ b/src_cpp/Makefile |
78 |
+@@ -49,11 +49,7 @@ |
79 |
+ |
80 |
+ all: announce |
81 |
+ |
82 |
+-ifdef WITH_YAML_CPP |
83 |
+-all: libyaml-cpp.a |
84 |
+-else |
85 |
+ all: |
86 |
+-endif |
87 |
+ |
88 |
+ ifndef TARGET |
89 |
+ TARGET=example |
90 |
+@@ -71,14 +67,14 @@ |
91 |
+ endif |
92 |
+ |
93 |
+ ifeq ($(origin CC),default) |
94 |
+-CC=mpiicc |
95 |
++CC ?= mpicc |
96 |
+ endif |
97 |
+ ifeq ($(origin CXX),default) |
98 |
+-CXX=mpiicpc |
99 |
++CXX ?= mpicxx |
100 |
+ endif |
101 |
+ override CPPFLAGS += -I. |
102 |
+-override CFLAGS += -g -O0 -Wall -Wno-long-long |
103 |
+-override CXXFLAGS += -g -O0 -Wall -Wextra -pedantic -Wno-long-long |
104 |
++override CFLAGS += -g -Wall -Wno-long-long |
105 |
++override CXXFLAGS += -g -Wall -Wextra -pedantic -Wno-long-long |
106 |
+ ifdef WITH_OPENMP |
107 |
+ override CFLAGS += -fopenmp |
108 |
+ override CXXFLAGS += -fopenmp |
109 |
+@@ -103,7 +99,7 @@ |
110 |
+ all: $(BINARY) |
111 |
+ |
112 |
+ ifdef WITH_YAML_CPP |
113 |
+-override CPPFLAGS += -Iyamlcpp/include -Iyamlcpp/test |
114 |
++override CPPFLAGS += -I/usr/include/yaml-cpp |
115 |
+ YAMLCPP_SRC = yamlcpp/src/aliasmanager.cpp \ |
116 |
+ yamlcpp/src/binary.cpp \ |
117 |
+ yamlcpp/src/conversion.cpp \ |
118 |
+@@ -140,8 +136,6 @@ |
119 |
+ yamlcpp/test/old-api/parsertests.cpp \ |
120 |
+ yamlcpp/test/old-api/spectests.cpp |
121 |
+ |
122 |
+-YAMLCPP_OBJ = $(YAMLCPP_SRC:.cpp=.o) |
123 |
+-YAMLCPP_TEST_OBJ = $(YAMLCPP_TEST_SRC:.cpp=.o) |
124 |
+ endif |
125 |
+ |
126 |
+ IMB_SRC = imb.cpp args_parser.cpp args_parser_utests.cpp scope.cpp |
127 |
+@@ -160,14 +154,7 @@ |
128 |
+ scope.h |
129 |
+ |
130 |
+ ifdef WITH_YAML_CPP |
131 |
+-libyaml-cpp.a: $(YAMLCPP_OBJ) |
132 |
+- ar qc $@ $^ |
133 |
+- ranlib $@ |
134 |
+- |
135 |
+-yamltest: $(YAMLCPP_TEST_OBJ) libyaml-cpp.a |
136 |
+- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ |
137 |
+- |
138 |
+-YAML_CPP_LIB = libyaml-cpp.a |
139 |
++YAML_CPP_LIB = -lyaml-cpp |
140 |
+ YAML_TEST = yamltest |
141 |
+ override CPPFLAGS += -DWITH_YAML_CPP |
142 |
+ endif |
143 |
+@@ -176,25 +163,21 @@ |
144 |
+ @if test "$(ANNOUNCE)" -eq "1"; then echo "NOTE: Building target: $(TARGET), binary name: $(BINARY)"; fi |
145 |
+ @if test "$(ANNOUNCE)" -eq "1"; then echo "NOTE: Use make TARGET=<DIR_NAME> to select a target suite"; fi |
146 |
+ |
147 |
+-$(BINARY): $(IMB_OBJ) $(BECHMARK_SUITE_OBJ) $(ADDITIONAL_OBJ) $(YAML_CPP_LIB) |
148 |
+- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) |
149 |
++$(BINARY): $(IMB_OBJ) $(BECHMARK_SUITE_OBJ) $(ADDITIONAL_OBJ) |
150 |
++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIE -o $@ $^ $(LDFLAGS) $(YAML_CPP_LIB) -lmpi_cxx -lmpi |
151 |
+ |
152 |
+ %.o: %.cpp |
153 |
+- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< |
154 |
++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -c -o $@ $< |
155 |
+ |
156 |
+ %.o: %.c |
157 |
+- $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< |
158 |
++ $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -c -o $@ $< |
159 |
+ |
160 |
+ clean: announce |
161 |
+- rm -f $(IMB_OBJ) $(YAMLCPP_OBJ) $(BECHMARK_SUITE_OBJ) $(ADDITIONAL_OBJ) $(BINARY) $(YAML_CPP_LIB) $(YAML_TEST) |
162 |
++ rm -f $(IMB_OBJ) $(YAMLCPP_OBJ) $(BECHMARK_SUITE_OBJ) $(ADDITIONAL_OBJ) $(BINARY) |
163 |
+ |
164 |
+ |
165 |
+ $(BECHMARK_SUITE_OBJ): $(HEADERS) Makefile |
166 |
+ $(IMB_OBJ): $(HEADERS) Makefile |
167 |
+ |
168 |
+-ifdef WITH_YAML_CPP |
169 |
+-$(YAMLCPP_OBJ): Makefile |
170 |
+-endif |
171 |
+- |
172 |
+ .PHONY: announce clean all |
173 |
+ |
174 |
|
175 |
diff --git a/sys-cluster/mpi-benchmarks/metadata.xml b/sys-cluster/mpi-benchmarks/metadata.xml |
176 |
new file mode 100644 |
177 |
index 000000000..1cccbcabb |
178 |
--- /dev/null |
179 |
+++ b/sys-cluster/mpi-benchmarks/metadata.xml |
180 |
@@ -0,0 +1,13 @@ |
181 |
+<?xml version="1.0" encoding="UTF-8"?> |
182 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
183 |
+<pkgmetadata> |
184 |
+ <maintainer type="person"> |
185 |
+ <email>lssndrbarbieri@×××××.com</email> |
186 |
+ <name>Alessandro Barbieri</name> |
187 |
+ </maintainer> |
188 |
+ <longdescription lang="en">Intel(R) MPI Benchmarks provides a set of elementary benchmarks that conform to MPI-1, MPI-2, and MPI-3 standard. You can run all of the supported benchmarks, or a subset specified in the command line using one executable file. Use command-line parameters to specify various settings, such as time measurement, message lengths, and selection of communicators.</longdescription> |
189 |
+ <upstream> |
190 |
+ <remote-id type="github">intel/mpi-benchmarks</remote-id> |
191 |
+ <bugs-to>https://github.com/intel/mpi-benchmarks/issues</bugs-to> |
192 |
+ </upstream> |
193 |
+</pkgmetadata> |
194 |
|
195 |
diff --git a/sys-cluster/mpi-benchmarks/mpi-benchmarks-2021.3.ebuild b/sys-cluster/mpi-benchmarks/mpi-benchmarks-2021.3.ebuild |
196 |
new file mode 100644 |
197 |
index 000000000..a2c16064d |
198 |
--- /dev/null |
199 |
+++ b/sys-cluster/mpi-benchmarks/mpi-benchmarks-2021.3.ebuild |
200 |
@@ -0,0 +1,28 @@ |
201 |
+# Copyright 2019-2022 Gentoo Authors |
202 |
+# Distributed under the terms of the GNU General Public License v2 |
203 |
+ |
204 |
+EAPI=8 |
205 |
+ |
206 |
+MYP="IMB-v${PV}" |
207 |
+ |
208 |
+DESCRIPTION="Intel MPI Benchmarks" |
209 |
+HOMEPAGE=" |
210 |
+ https://www.intel.com/content/www/us/en/developer/articles/technical/intel-mpi-benchmarks.html |
211 |
+ https://github.com/intel/mpi-benchmarks |
212 |
+" |
213 |
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/${MYP}.tar.gz" |
214 |
+S="${WORKDIR}/${PN}-${MYP}" |
215 |
+ |
216 |
+LICENSE="BSD CPL-1.0" |
217 |
+SLOT="0" |
218 |
+KEYWORDS="~amd64" |
219 |
+ |
220 |
+RDEPEND="virtual/mpi" |
221 |
+DEPEND="${RDEPEND}" |
222 |
+ |
223 |
+PATCHES=( "${FILESDIR}/${P}-makefile.patch" ) |
224 |
+ |
225 |
+src_install() { |
226 |
+ dodoc ReadMe_IMB.txt README.md |
227 |
+ dobin IMB-* |
228 |
+} |