diff --git a/sys-cluster/nanos6/Manifest b/sys-cluster/nanos6/Manifest new file mode 100644 index 0000000000..783a17df8b --- /dev/null +++ b/sys-cluster/nanos6/Manifest @@ -0,0 +1 @@ +DIST nanos6-2.5.1.tar.gz 744260 BLAKE2B 6b294391ebb18806da76b4bc73aaf6f7082ab4a61693ab300e130f04942bf50c1da884e5271765465bedab863cb1ce545a43ac09727152c0a52d69852e60e373 SHA512 c7da862aa41fb0be1a992f4fde7306a02c4159c05a89055f0144bf6a815c10ff5f7e7ee11b4afaa4c468afdd538a99b3b5971a896221b20928805b45d35e0335 diff --git a/sys-cluster/nanos6/metadata.xml b/sys-cluster/nanos6/metadata.xml new file mode 100644 index 0000000000..d72d9ec643 --- /dev/null +++ b/sys-cluster/nanos6/metadata.xml @@ -0,0 +1,29 @@ + + + + + lssndrbarbieri@gmail.com + Alessandro Barbieri + + + https://github.com/bsc-pm/nanos6/issues + bsc-pm/nanos6 + + + + Enable OmpSs@Cluster support. This requires an MPI version that supports MPI_THREAD_MULTIPLE to be present in your environment + + enable extra assertions and checks in debug - may cause significant slowdown + enable dynamic management and sharing of computing resources + embed into the runtime any code changes present in the source + Enable execution using the Execution Workflow + + + + + + enable dev-libs/papi support + + to generate sample-based profiling + + diff --git a/sys-cluster/nanos6/nanos6-2.5.1.ebuild b/sys-cluster/nanos6/nanos6-2.5.1.ebuild new file mode 100644 index 0000000000..a49c3601ad --- /dev/null +++ b/sys-cluster/nanos6/nanos6-2.5.1.ebuild @@ -0,0 +1,114 @@ +# Copyright 2019-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="runtime that implements the OmpSs-2 parallel programming model" +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" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="cluster debug dlb doc embed-code-changes execution-workflow git papi unwind" +#chrono-arch build fail +#jemalloc require custom stuff +#TODO: cuda pqos mercurium memkind k1om extrae +RDEPEND=" + >=dev-libs/boost-1.59:= + sys-apps/hwloc + sys-process/numactl + virtual/libelf + + cluster? ( virtual/mpi ) + dlb? ( sys-cluster/dlb ) + embed-code-changes? ( dev-vcs/git ) + papi? ( dev-libs/papi ) + unwind? ( sys-libs/libunwind ) +" +#extrae? ( sys-cluster/extrae[nanos] ) +DEPEND="${RDEPEND}" +BDEPEND="doc? ( app-doc/doxygen )" +REQUIRED_USE="cluster? ( execution-workflow )" +S="${WORKDIR}/${PN}-version-${PV}" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myconf=( + --disable-chrono-arch + --disable-openacc + --disable-static + + --enable-shared + + --with-boost="${EPREFIX}/usr" + --with-libnuma="${EPREFIX}/usr" + --with-pic + + --without-k1om + --without-nanos6-clang + --without-nanos6-mercurium + --without-pgi + + $(use_enable cluster) + $(use_enable doc doxygen-doc) + $(use_enable doc doxygen-dot) + $(use_enable doc doxygen-html) + $(use_enable doc doxygen-man) + $(use_enable doc doxygen-pdf) + $(use_enable doc doxygen-ps) + $(use_enable debug extra-debug) + $(use_enable embed-code-changes) + $(use_enable execution-workflow) + ) + + if use dlb; then + myconf+=( "--with-dlb=${EPREFIX}/usr" ) + else + myconf+=( "--without-dlb" ) + fi + if use embed-code-changes; then + myconf+=( "--with-git=${EPREFIX}/usr" ) + else + myconf+=( "--without-git" ) + fi +# if use extrae; then +# myconf+=( "--with-extrae=${EPREFIX}/usr/$(get_libdir)/extrae" ) +# else + myconf+=( "--without-extrae" ) +# fi + if use papi; then + myconf+=( "--with-papi=${EPREFIX}/usr" ) + else + myconf+=( "--without-papi" ) + fi + if use unwind; then + myconf+=( "--with-libunwind=${EPREFIX}/usr" ) + else + myconf+=( "--without-libunwind" ) + fi + + econf "${myconf[@]}" +} +# --without-pqos +# --without-jemalloc +# --without-cuda +# --without-memkind + +src_install() { + default + + docompress -x "/usr/share/doc/${PF}/paraver-cfg" + docompress -x "/usr/share/doc/${PF}/scripts" +} + +pkg_postinst() { + elog "install media-gfx/graphviz and app-text/pdfjam or >=app-text/texlive-core-2021 to generate graphical representations of the dependency graph" + elog "install sys-process/parallel to generate the graph representation in parallel" +}