Files
guru/sys-cluster/osu-micro-benchmarks/osu-micro-benchmarks-5.9.ebuild
Alessandro Barbieri 2a816ae3b9 sys-cluster/osu-micro-benchmarks: new package, add 5.9
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
2022-06-02 15:50:04 +02:00

87 lines
1.4 KiB
Bash

# 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
}