mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-19 20:13:01 -04:00
sys-cluster/mpi-benchmarks: new package, add 2021.3
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
1
sys-cluster/mpi-benchmarks/Manifest
Normal file
1
sys-cluster/mpi-benchmarks/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST IMB-v2021.3.tar.gz 221038 BLAKE2B d776e482a6632d9a538af0f8b89928322860ca6782f7c96bb47af0f9c6387eddc487bffbf3fde3e5c0477b7c9e9cbe7856857110890389f5ee42865051ef185b SHA512 fdb1a2426b5999c58c5d15228c64a80f28f4051d438e86a132f0fc42c3cda88f0e1bbcb792316617864d0f4d07d89143a96f3824bd4806fc8cde3c2dcb1d4094
|
||||
@@ -0,0 +1,142 @@
|
||||
--- a/src_c/Makefile
|
||||
+++ b/src_c/Makefile
|
||||
@@ -106,10 +106,10 @@
|
||||
-mkdir -p $@
|
||||
|
||||
$(BINARY): $(OBJ)
|
||||
- $(CC) $(LDFLAGS) $^ -o $@
|
||||
+ $(CC) $(CFLAGS) -fPIE $(LDFLAGS) $^ -o $@
|
||||
|
||||
$(BUILDDIR)/%.o: %.c
|
||||
- $(CC) $(CFLAGS) -D$(TARGET) -DIMB2018 -c $< -o $@
|
||||
+ $(CC) $(CFLAGS) -fPIC -D$(TARGET) -DIMB2018 -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILDDIR) $(OBJ) $(BINARY)
|
||||
--- a/src_c/P2P/Makefile
|
||||
+++ b/src_c/P2P/Makefile
|
||||
@@ -50,11 +50,11 @@
|
||||
TARGET=P2P
|
||||
BINARY:=IMB-P2P
|
||||
|
||||
-override CFLAGS += -O3 -Wall -Wextra -pedantic -Wno-long-long
|
||||
+override CFLAGS += -Wall -Wextra -pedantic -Wno-long-long
|
||||
override LDFLAGS += -lm
|
||||
|
||||
ifeq ($(origin CC),default)
|
||||
-CC=mpiicc
|
||||
+CC=mpicc
|
||||
endif
|
||||
|
||||
all: $(BINARY)
|
||||
@@ -72,10 +72,10 @@
|
||||
IMB_OBJ = $(IMB_SRC:.c=.o)
|
||||
|
||||
$(BINARY): $(IMB_OBJ)
|
||||
- $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
||||
+ $(CC) $(CFLAGS) -fPIE -o $@ $^ $(LDFLAGS)
|
||||
|
||||
%.o: %.c
|
||||
- $(CC) $(CFLAGS) -c -o $@ $<
|
||||
+ $(CC) $(CFLAGS) -fPIC -c -o $@ $<
|
||||
|
||||
clean:
|
||||
rm -f $(IMB_OBJ) $(BINARY)
|
||||
--- a/src_cpp/Makefile
|
||||
+++ b/src_cpp/Makefile
|
||||
@@ -49,11 +49,7 @@
|
||||
|
||||
all: announce
|
||||
|
||||
-ifdef WITH_YAML_CPP
|
||||
-all: libyaml-cpp.a
|
||||
-else
|
||||
all:
|
||||
-endif
|
||||
|
||||
ifndef TARGET
|
||||
TARGET=example
|
||||
@@ -71,14 +67,14 @@
|
||||
endif
|
||||
|
||||
ifeq ($(origin CC),default)
|
||||
-CC=mpiicc
|
||||
+CC ?= mpicc
|
||||
endif
|
||||
ifeq ($(origin CXX),default)
|
||||
-CXX=mpiicpc
|
||||
+CXX ?= mpicxx
|
||||
endif
|
||||
override CPPFLAGS += -I.
|
||||
-override CFLAGS += -g -O0 -Wall -Wno-long-long
|
||||
-override CXXFLAGS += -g -O0 -Wall -Wextra -pedantic -Wno-long-long
|
||||
+override CFLAGS += -g -Wall -Wno-long-long
|
||||
+override CXXFLAGS += -g -Wall -Wextra -pedantic -Wno-long-long
|
||||
ifdef WITH_OPENMP
|
||||
override CFLAGS += -fopenmp
|
||||
override CXXFLAGS += -fopenmp
|
||||
@@ -103,7 +99,7 @@
|
||||
all: $(BINARY)
|
||||
|
||||
ifdef WITH_YAML_CPP
|
||||
-override CPPFLAGS += -Iyamlcpp/include -Iyamlcpp/test
|
||||
+override CPPFLAGS += -I/usr/include/yaml-cpp
|
||||
YAMLCPP_SRC = yamlcpp/src/aliasmanager.cpp \
|
||||
yamlcpp/src/binary.cpp \
|
||||
yamlcpp/src/conversion.cpp \
|
||||
@@ -140,8 +136,6 @@
|
||||
yamlcpp/test/old-api/parsertests.cpp \
|
||||
yamlcpp/test/old-api/spectests.cpp
|
||||
|
||||
-YAMLCPP_OBJ = $(YAMLCPP_SRC:.cpp=.o)
|
||||
-YAMLCPP_TEST_OBJ = $(YAMLCPP_TEST_SRC:.cpp=.o)
|
||||
endif
|
||||
|
||||
IMB_SRC = imb.cpp args_parser.cpp args_parser_utests.cpp scope.cpp
|
||||
@@ -160,14 +154,7 @@
|
||||
scope.h
|
||||
|
||||
ifdef WITH_YAML_CPP
|
||||
-libyaml-cpp.a: $(YAMLCPP_OBJ)
|
||||
- ar qc $@ $^
|
||||
- ranlib $@
|
||||
-
|
||||
-yamltest: $(YAMLCPP_TEST_OBJ) libyaml-cpp.a
|
||||
- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^
|
||||
-
|
||||
-YAML_CPP_LIB = libyaml-cpp.a
|
||||
+YAML_CPP_LIB = -lyaml-cpp
|
||||
YAML_TEST = yamltest
|
||||
override CPPFLAGS += -DWITH_YAML_CPP
|
||||
endif
|
||||
@@ -176,25 +163,21 @@
|
||||
@if test "$(ANNOUNCE)" -eq "1"; then echo "NOTE: Building target: $(TARGET), binary name: $(BINARY)"; fi
|
||||
@if test "$(ANNOUNCE)" -eq "1"; then echo "NOTE: Use make TARGET=<DIR_NAME> to select a target suite"; fi
|
||||
|
||||
-$(BINARY): $(IMB_OBJ) $(BECHMARK_SUITE_OBJ) $(ADDITIONAL_OBJ) $(YAML_CPP_LIB)
|
||||
- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
|
||||
+$(BINARY): $(IMB_OBJ) $(BECHMARK_SUITE_OBJ) $(ADDITIONAL_OBJ)
|
||||
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIE -o $@ $^ $(LDFLAGS) $(YAML_CPP_LIB) -lmpi_cxx -lmpi
|
||||
|
||||
%.o: %.cpp
|
||||
- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
|
||||
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -c -o $@ $<
|
||||
|
||||
%.o: %.c
|
||||
- $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
|
||||
+ $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -c -o $@ $<
|
||||
|
||||
clean: announce
|
||||
- rm -f $(IMB_OBJ) $(YAMLCPP_OBJ) $(BECHMARK_SUITE_OBJ) $(ADDITIONAL_OBJ) $(BINARY) $(YAML_CPP_LIB) $(YAML_TEST)
|
||||
+ rm -f $(IMB_OBJ) $(YAMLCPP_OBJ) $(BECHMARK_SUITE_OBJ) $(ADDITIONAL_OBJ) $(BINARY)
|
||||
|
||||
|
||||
$(BECHMARK_SUITE_OBJ): $(HEADERS) Makefile
|
||||
$(IMB_OBJ): $(HEADERS) Makefile
|
||||
|
||||
-ifdef WITH_YAML_CPP
|
||||
-$(YAMLCPP_OBJ): Makefile
|
||||
-endif
|
||||
-
|
||||
.PHONY: announce clean all
|
||||
|
||||
13
sys-cluster/mpi-benchmarks/metadata.xml
Normal file
13
sys-cluster/mpi-benchmarks/metadata.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?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">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>
|
||||
<upstream>
|
||||
<remote-id type="github">intel/mpi-benchmarks</remote-id>
|
||||
<bugs-to>https://github.com/intel/mpi-benchmarks/issues</bugs-to>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
28
sys-cluster/mpi-benchmarks/mpi-benchmarks-2021.3.ebuild
Normal file
28
sys-cluster/mpi-benchmarks/mpi-benchmarks-2021.3.ebuild
Normal file
@@ -0,0 +1,28 @@
|
||||
# Copyright 2019-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MYP="IMB-v${PV}"
|
||||
|
||||
DESCRIPTION="Intel MPI Benchmarks"
|
||||
HOMEPAGE="
|
||||
https://www.intel.com/content/www/us/en/developer/articles/technical/intel-mpi-benchmarks.html
|
||||
https://github.com/intel/mpi-benchmarks
|
||||
"
|
||||
SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/${MYP}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${MYP}"
|
||||
|
||||
LICENSE="BSD CPL-1.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RDEPEND="virtual/mpi"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-makefile.patch" )
|
||||
|
||||
src_install() {
|
||||
dodoc ReadMe_IMB.txt README.md
|
||||
dobin IMB-*
|
||||
}
|
||||
Reference in New Issue
Block a user