sys-cluster/nanos6: EAPI8, mercurium support

Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2021-08-21 03:59:46 +02:00
parent e378530982
commit 91ed6bc2f5
2 changed files with 17 additions and 12 deletions

View File

@@ -10,16 +10,14 @@
<remote-id type="github">bsc-pm/nanos6</remote-id> <remote-id type="github">bsc-pm/nanos6</remote-id>
</upstream> </upstream>
<use> <use>
<flag name="cluster">Enable OmpSs@Cluster support. This requires an MPI version that supports MPI_THREAD_MULTIPLE to be present in your environment</flag>
<!--<flag name="cuda">enable CUDA</flag>--> <!--<flag name="cuda">enable CUDA</flag>-->
<flag name="debug">enable extra assertions and checks in debug - may cause significant slowdown</flag> <flag name="debug">enable extra assertions and checks in debug - may cause significant slowdown</flag>
<flag name="dlb">enable dynamic management and sharing of computing resources</flag> <flag name="dlb">enable dynamic management and sharing of computing resources</flag>
<flag name="execution-workflow">Enable execution using the Execution Workflow</flag> <flag name="execution-workflow">Enable execution using the Execution Workflow</flag>
<flag name="extrae">to generate execution traces for offline performance analysis with paraver</flag> <flag name="extrae">to generate execution traces for offline performance analysis with paraver</flag>
<!--<flag name="jemalloc">use jemalloc as the default memory allocator, providing better performance than the default glibc implementation</flag>--> <!--<flag name="jemalloc">use jemalloc as the default memory allocator, providing better performance than the default glibc implementation</flag>-->
<!--<flag name="k1om">specify the installation prefix of the k1om GNU compilers</flag>-->
<flag name="memkind">Add support for <pkg>dev-libs/memkind</pkg> in memory allocator</flag> <flag name="memkind">Add support for <pkg>dev-libs/memkind</pkg> in memory allocator</flag>
<!--<flag name="mercurium">specify the installation prefix of the Nanos6 Mercurium compiler</flag>--> <flag name="mercurium">Enable <pkg>sys-cluster/mcxx</pkg> support</flag>
<flag name="papi">enable <pkg>dev-libs/papi</pkg> support</flag> <flag name="papi">enable <pkg>dev-libs/papi</pkg> support</flag>
<!--<flag name="pqos"> to generate real-time statistics of hardware counters</flag>--> <!--<flag name="pqos"> to generate real-time statistics of hardware counters</flag>-->
<flag name="unwind">to generate sample-based profiling</flag> <flag name="unwind">to generate sample-based profiling</flag>

View File

@@ -1,7 +1,7 @@
# Copyright 2019-2021 Gentoo Authors # Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=7 EAPI=8
inherit autotools inherit autotools
@@ -9,13 +9,13 @@ DESCRIPTION="runtime that implements the OmpSs-2 parallel programming model"
HOMEPAGE="https://github.com/bsc-pm/nanos6" HOMEPAGE="https://github.com/bsc-pm/nanos6"
SRC_URI="https://github.com/bsc-pm/nanos6/archive/refs/tags/version-${PV}.tar.gz -> ${P}.tar.gz" SRC_URI="https://github.com/bsc-pm/nanos6/archive/refs/tags/version-${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-version-${PV}" S="${WORKDIR}/${PN}-version-${PV}"
LICENSE="GPL-3" LICENSE="GPL-3"
SLOT="0" SLOT="0"
KEYWORDS="~amd64" KEYWORDS="~amd64"
IUSE="cluster debug dlb execution-workflow extrae memkind papi unwind" IUSE="debug dlb execution-workflow extrae memkind mercurium papi unwind"
#chrono-arch build fail
#jemalloc require custom stuff #jemalloc require custom stuff
#TODO: cuda pqos mercurium k1om babeltrace2 #TODO: cuda pqos babeltrace2
#TODO: llvm-libunwind #TODO: llvm-libunwind
RDEPEND=" RDEPEND="
@@ -24,15 +24,15 @@ RDEPEND="
sys-process/numactl sys-process/numactl
virtual/libelf virtual/libelf
cluster? ( virtual/mpi )
dlb? ( sys-cluster/dlb ) dlb? ( sys-cluster/dlb )
extrae? ( sys-cluster/extrae[nanos] ) extrae? ( sys-cluster/extrae[nanos] )
memkind? ( dev-libs/memkind ) memkind? ( dev-libs/memkind )
mercurium? ( sys-cluster/mcxx[ompss2] )
papi? ( dev-libs/papi ) papi? ( dev-libs/papi )
unwind? ( sys-libs/libunwind ) unwind? ( sys-libs/libunwind )
" "
# jemalloc? ( dev-libs/jemalloc )
DEPEND="${RDEPEND}" DEPEND="${RDEPEND}"
REQUIRED_USE="cluster? ( execution-workflow )"
src_prepare() { src_prepare() {
default default
@@ -54,12 +54,9 @@ src_configure() {
--without-git --without-git
--without-k1om --without-k1om
--without-nanos6-clang --without-nanos6-clang
--without-nanos6-mercurium
--without-pgi --without-pgi
$(use_enable cluster)
$(use_enable debug extra-debug) $(use_enable debug extra-debug)
$(use_enable execution-workflow)
) )
use dlb && myconf+=( "--with-dlb=${EPREFIX}/usr" ) use dlb && myconf+=( "--with-dlb=${EPREFIX}/usr" )
use memkind && myconf+=( "--with-memkind=${EPREFIX}/usr" ) use memkind && myconf+=( "--with-memkind=${EPREFIX}/usr" )
@@ -74,6 +71,16 @@ src_configure() {
else else
myconf+=( "--without-extrae" ) myconf+=( "--without-extrae" )
fi fi
# if use jemalloc; then
# myconf+=( "--with-jemalloc=${EPREFIX}/usr" )
# else
# myconf+=( "--without-jemalloc" )
# fi
if use mercurium; then
myconf+=( "--with-nanos6-mercurium=${EPREFIX}/usr" )
else
myconf+=( "--without-nanos6-mercurium" )
fi
if use papi; then if use papi; then
myconf+=( "--with-papi=${EPREFIX}/usr" ) myconf+=( "--with-papi=${EPREFIX}/usr" )
else else