commit: 19c5c0a12bcd017f5daa0723de4eed982f08adee
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Sat Jul 10 14:31:43 2021 +0000
Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Sat Jul 10 14:31:43 2021 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=19c5c0a1
sys-cluster/extrae: add memkind and spectral
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
...trae-3.8.3-r5.ebuild => extrae-3.8.3-r6.ebuild} | 42 ++++++++++++----------
sys-cluster/extrae/metadata.xml | 3 +-
2 files changed, 25 insertions(+), 20 deletions(-)
diff --git a/sys-cluster/extrae/extrae-3.8.3-r5.ebuild
b/sys-cluster/extrae/extrae-3.8.3-r6.ebuild
similarity index 86%
rename from sys-cluster/extrae/extrae-3.8.3-r5.ebuild
rename to sys-cluster/extrae/extrae-3.8.3-r6.ebuild
index a221e2b61..4baf807be 100644
--- a/sys-cluster/extrae/extrae-3.8.3-r5.ebuild
+++ b/sys-cluster/extrae/extrae-3.8.3-r6.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( pypy3 python3_{8,9} )
+PYTHON_COMPAT=( pypy3 python3_{8..10} )
inherit autotools java-pkg-opt-2 python-single-r1
@@ -14,25 +14,22 @@
SRC_URI="https://github.com/bsc-performance-tools/extrae/archive/${PV}.tar.gz ->
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="boost clustering doc dwarf elf fft heterogeneous inotify
+instrument-dynamic-memory +instrument-io +instrument-syscall merge-in-trace
nanos opencl openmp +parallel-merge pebs-sampling +posix-clock pthread sampling
+single-mpi-lib sionlib smpss +xml"
+IUSE="boost clustering doc dwarf elf heterogeneous inotify
+instrument-dynamic-memory
++instrument-io +instrument-syscall memkind merge-in-trace nanos opencl openmp
+parallel-merge
+pebs-sampling +posix-clock pthread sampling +single-mpi-lib sionlib smpss
spectral +xml"
+
#aspectj and aspectj-weaver need to both be enabled at the same time
#current dev-java/aspectj package only provides aspectj.jar
#aspectj needs foo/lib/aspectj.jar and foo/bin/ajc
#aspectj-weaver needs bar/aspectjweaver.jar
-#TODO: find out who is pulling in libpfm
-#TODO: find out which FFT library is used
-#TODO: remove some useflags (boost fft elf dwarf)
-#TODO: pmapi online dyninst cuda spectral cupti openshmem gm mx synapse
memkind aspectj
+#TODO: remove some useflags (boost elf dwarf)
+#TODO: pmapi online dyninst cuda cupti openshmem gm mx synapse aspectj
#TODO: support llvm libunwind, llvm rt, elftoolchain
CDEPEND="
${PYTHON_DEPS}
- app-arch/xz-utils
- dev-libs/icu
- dev-libs/libpfm
dev-libs/libxml2
dev-libs/papi
- sys-apps/hwloc
!<sys-cluster/openmpi-4.0.5-r1
!>=sys-cluster/openmpi-4.0.5-r1[libompitrace]
sys-libs/zlib
@@ -46,8 +43,13 @@ CDEPEND="
dwarf? ( dev-libs/libdwarf )
elf? ( virtual/libelf )
inotify? ( dev-libs/libevent )
+ memkind? ( dev-libs/memkind )
opencl? ( dev-util/opencl-headers )
sionlib? ( sys-cluster/sionlib:= )
+ spectral? (
+ sci-libs/fftw
+ sys-cluster/spectral
+ )
"
# aspectj? ( >=dev-java/aspectj-1.9.6 )
DEPEND="
@@ -75,7 +77,6 @@ REQUIRED_USE="
# dyninst? ( boost dwarf elf )
# online? ( synapse )
# aspectj? ( java )
-# spectral? ( fft )
src_prepare() {
default
@@ -105,9 +106,7 @@ src_configure() {
--without-dyninst
--without-cupti
- --without-memkind
--without-synapse
- --without-spectral
--without-openshmem
--without-gm
--without-mx
@@ -159,21 +158,28 @@ src_configure() {
else
myconf+=( "--without-elf" )
fi
- if use fft; then
- myconf+=( "--with-fft=${EPREFIX}/usr" )
- else
- myconf+=( "--without-fft" )
- fi
if use java; then
myconf+=( "--with-java-jdk=$(java-config -O)" )
else
myconf+=( "--without-java-jdk" )
fi
+ if use memkind; then
+ myconf+=( "--with-memkind=${EPREFIX}/usr" )
+ else
+ myconf+=( "--without-memkind" )
+ fi
if use opencl; then
myconf+=( "--with-opencl=${EPREFIX}/usr" )
else
myconf+=( "--without-opencl" )
fi
+ if use spectral; then
+ myconf+=( "--with-fft=${EPREFIX}/usr" )
+ myconf+=( "--with-spectral=${EPREFIX}/usr" )
+ else
+ myconf+=( "--without-fft" )
+ myconf+=( "--without-spectral" )
+ fi
use sionlib && myconf+=( "--with-sionlib=${EPREFIX}/usr" )
diff --git a/sys-cluster/extrae/metadata.xml b/sys-cluster/extrae/metadata.xml
index 9c6006a1b..bcef4fe59 100644
--- a/sys-cluster/extrae/metadata.xml
+++ b/sys-cluster/extrae/metadata.xml
@@ -25,7 +25,6 @@ process). Extrae generates trace files that can be later
visualized with sys-clu
<flag name="dwarf">Build with
<pkg>dev-libs/libdwarf</pkg></flag>
<!--<flag name="dyninst">Build with dyninst</flag>-->
<flag name="elf">Build with <pkg>virtual/libelf</pkg></flag>
- <flag name="fft">Search for FFT package (which?)</flag>
<flag name="heterogeneous">Enable support for heterogeneous
tracing</flag>
<flag name="inotify">Enable inotify support</flag>
<flag name="instrument-dynamic-memory">Enables instrumentation
for dynamic memory (malloc, free, realloc) calls</flag>
@@ -43,7 +42,7 @@ process). Extrae generates trace files that can be later
visualized with sys-clu
<flag name="posix-clock">Use POSIX clock (clock_gettime call)
instead of low level timing routines. Use this option if the system where you
install the instrumentation package modifies the frequency of its processors at
runtime.</flag>
<flag name="pthread">Enable support for tracing pthread
library</flag>
<flag name="sampling">Enable PAPI sampling support</flag>
- <!--<flag name="spectral">This package enables support for
on-line spectral analysis.</flag>-->
+ <flag name="spectral">This package enables support for on-line
spectral analysis.</flag>
<flag name="single-mpi-lib">Produces a single instrumentation
library for MPI that contains both Fortran and C wrappers. Applications that
call the MPI library from both C and Fortran languages need this flag to be
enabled.</flag>
<flag name="sionlib">Enable support for
<pkg>sys-cluster/sionlib</pkg></flag>
<flag name="smpss">Enable support for tracing
SMP-superscalar</flag>