Gentoo Archives: gentoo-commits

From: Florian Schmaus <flow@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:master commit in: sys-cluster/mpi-benchmarks/files/, sys-cluster/mpi-benchmarks/
Date: Fri, 03 Jun 2022 10:44:41
Message-Id: 1654177803.62817bd44deeaa5bd49d33792c7931f2c000d8c3.flow@gentoo
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 +}