aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Barbieri <lssndrbarbieri@gmail.com>2022-06-02 15:47:41 +0200
committerAlessandro Barbieri <lssndrbarbieri@gmail.com>2022-06-02 15:50:04 +0200
commit2a816ae3b96eb1f0f95d2bb58ef6470eed0ba9d8 (patch)
tree8c00ab974e349da8f8a46d513f958fc6c39d1b4f
parentsys-cluster/SOS: correctly link to mpi (diff)
downloadguru-2a816ae3.tar.gz
guru-2a816ae3.tar.bz2
guru-2a816ae3.zip
sys-cluster/osu-micro-benchmarks: new package, add 5.9
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
-rw-r--r--sys-cluster/osu-micro-benchmarks/Manifest1
-rw-r--r--sys-cluster/osu-micro-benchmarks/metadata.xml12
-rw-r--r--sys-cluster/osu-micro-benchmarks/osu-micro-benchmarks-5.9.ebuild86
3 files changed, 99 insertions, 0 deletions
diff --git a/sys-cluster/osu-micro-benchmarks/Manifest b/sys-cluster/osu-micro-benchmarks/Manifest
new file mode 100644
index 000000000..4d46654a7
--- /dev/null
+++ b/sys-cluster/osu-micro-benchmarks/Manifest
@@ -0,0 +1 @@
+DIST osu-micro-benchmarks-5.9.tar.gz 809301 BLAKE2B 84c3fcfe78817a0ab646a63e74f5b8d140cf318c2cfe1d6a533a063c5b5edbbb80991e97f1295948ab5778e1326c7cd7c3057b56d239d87386f0ae45cbd310d5 SHA512 67bc1efedd4eb4a75024c51dd83da46179185171ae9028ca586edb91488600aabe0101a14d4de105517f5fa06ee546b83701034d34d64ad301ad6ea5227dd91d
diff --git a/sys-cluster/osu-micro-benchmarks/metadata.xml b/sys-cluster/osu-micro-benchmarks/metadata.xml
new file mode 100644
index 000000000..83a3ae08f
--- /dev/null
+++ b/sys-cluster/osu-micro-benchmarks/metadata.xml
@@ -0,0 +1,12 @@
+<?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>
+ <use>
+ <flag name="openshmem">Build OpenSHMEM benchmarks</flag>
+ <flag name="rocm">Enable ROCm extensions</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/osu-micro-benchmarks/osu-micro-benchmarks-5.9.ebuild b/sys-cluster/osu-micro-benchmarks/osu-micro-benchmarks-5.9.ebuild
new file mode 100644
index 000000000..8171ab726
--- /dev/null
+++ b/sys-cluster/osu-micro-benchmarks/osu-micro-benchmarks-5.9.ebuild
@@ -0,0 +1,86 @@
+# Copyright 2019-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools edo toolchain-funcs
+
+DESCRIPTION="MPI, OPC and many other benchmarks"
+HOMEPAGE="https://mvapich.cse.ohio-state.edu/benchmarks/"
+SRC_URI="https://mvapich.cse.ohio-state.edu/download/mvapich/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="openshmem rocm"
+
+DEPEND="
+ virtual/mpi
+
+ openshmem? ( sys-cluster/SOS )
+ rocm? ( dev-util/hip )
+"
+RDEPEND="${RDEPEND}"
+
+# TODO: cuda upc++ NCCL
+
+src_prepare() {
+ default
+ eautoreconf
+ edo pushd "${WORKDIR}"
+ edo cp -r "${S}" "${S}_mpi"
+ use openshmem && edo cp -r "${S}" "${S}_oshm"
+}
+
+src_configure() {
+ local myconf=(
+ --disable-cuda
+ --disable-ncclomb
+ --disable-openacc
+ --disable-static
+ --enable-shared
+
+ $(use_enable rocm)
+ )
+
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" econf "${myconf[@]}"
+
+ edo pushd "${S}_mpi"
+ CC=mpicc CXX=mpicxx econf "${myconf[@]}"
+ edo popd
+
+ if use openshmem; then
+ edo pushd "${S}_oshm"
+ CC=oshcc CXX=oshc++ econf "${myconf[@]}"
+ edo popd
+ fi
+}
+
+src_compile() {
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" default
+
+ edo pushd "${S}_mpi"
+ CC=mpicc CXX=mpicxx default
+ edo popd
+
+ if use openshmem; then
+ edo pushd "${S}_oshm"
+ CC=oshcc CXX=oshc++ default
+ edo popd
+ fi
+}
+
+src_install() {
+ default
+
+ edo pushd "${S}_mpi"
+ default
+ edo popd
+
+ if use openshmem; then
+ edo pushd "${S}_oshm"
+ default
+ edo popd
+ fi
+}