sys-cluster/mpi-benchmarks: new package, add 2021.3

Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2022-06-02 14:30:34 +02:00
parent 34dc180aaa
commit 62817bd44d
4 changed files with 184 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST IMB-v2021.3.tar.gz 221038 BLAKE2B d776e482a6632d9a538af0f8b89928322860ca6782f7c96bb47af0f9c6387eddc487bffbf3fde3e5c0477b7c9e9cbe7856857110890389f5ee42865051ef185b SHA512 fdb1a2426b5999c58c5d15228c64a80f28f4051d438e86a132f0fc42c3cda88f0e1bbcb792316617864d0f4d07d89143a96f3824bd4806fc8cde3c2dcb1d4094

View File

@@ -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

View 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>

View 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-*
}