mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-20 20:43:09 -04:00
sys-cluster/extrae: add memkind and spectral
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
PYTHON_COMPAT=( pypy3 python3_{8,9} )
|
PYTHON_COMPAT=( pypy3 python3_{8..10} )
|
||||||
|
|
||||||
inherit autotools java-pkg-opt-2 python-single-r1
|
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"
|
LICENSE="LGPL-2.1"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~amd64"
|
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
|
#aspectj and aspectj-weaver need to both be enabled at the same time
|
||||||
#current dev-java/aspectj package only provides aspectj.jar
|
#current dev-java/aspectj package only provides aspectj.jar
|
||||||
#aspectj needs foo/lib/aspectj.jar and foo/bin/ajc
|
#aspectj needs foo/lib/aspectj.jar and foo/bin/ajc
|
||||||
#aspectj-weaver needs bar/aspectjweaver.jar
|
#aspectj-weaver needs bar/aspectjweaver.jar
|
||||||
#TODO: find out who is pulling in libpfm
|
#TODO: remove some useflags (boost elf dwarf)
|
||||||
#TODO: find out which FFT library is used
|
#TODO: pmapi online dyninst cuda cupti openshmem gm mx synapse aspectj
|
||||||
#TODO: remove some useflags (boost fft elf dwarf)
|
|
||||||
#TODO: pmapi online dyninst cuda spectral cupti openshmem gm mx synapse memkind aspectj
|
|
||||||
#TODO: support llvm libunwind, llvm rt, elftoolchain
|
#TODO: support llvm libunwind, llvm rt, elftoolchain
|
||||||
|
|
||||||
CDEPEND="
|
CDEPEND="
|
||||||
${PYTHON_DEPS}
|
${PYTHON_DEPS}
|
||||||
app-arch/xz-utils
|
|
||||||
dev-libs/icu
|
|
||||||
dev-libs/libpfm
|
|
||||||
dev-libs/libxml2
|
dev-libs/libxml2
|
||||||
dev-libs/papi
|
dev-libs/papi
|
||||||
sys-apps/hwloc
|
|
||||||
!<sys-cluster/openmpi-4.0.5-r1
|
!<sys-cluster/openmpi-4.0.5-r1
|
||||||
!>=sys-cluster/openmpi-4.0.5-r1[libompitrace]
|
!>=sys-cluster/openmpi-4.0.5-r1[libompitrace]
|
||||||
sys-libs/zlib
|
sys-libs/zlib
|
||||||
@@ -46,8 +43,13 @@ CDEPEND="
|
|||||||
dwarf? ( dev-libs/libdwarf )
|
dwarf? ( dev-libs/libdwarf )
|
||||||
elf? ( virtual/libelf )
|
elf? ( virtual/libelf )
|
||||||
inotify? ( dev-libs/libevent )
|
inotify? ( dev-libs/libevent )
|
||||||
|
memkind? ( dev-libs/memkind )
|
||||||
opencl? ( dev-util/opencl-headers )
|
opencl? ( dev-util/opencl-headers )
|
||||||
sionlib? ( sys-cluster/sionlib:= )
|
sionlib? ( sys-cluster/sionlib:= )
|
||||||
|
spectral? (
|
||||||
|
sci-libs/fftw
|
||||||
|
sys-cluster/spectral
|
||||||
|
)
|
||||||
"
|
"
|
||||||
# aspectj? ( >=dev-java/aspectj-1.9.6 )
|
# aspectj? ( >=dev-java/aspectj-1.9.6 )
|
||||||
DEPEND="
|
DEPEND="
|
||||||
@@ -75,7 +77,6 @@ REQUIRED_USE="
|
|||||||
# dyninst? ( boost dwarf elf )
|
# dyninst? ( boost dwarf elf )
|
||||||
# online? ( synapse )
|
# online? ( synapse )
|
||||||
# aspectj? ( java )
|
# aspectj? ( java )
|
||||||
# spectral? ( fft )
|
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
default
|
default
|
||||||
@@ -105,9 +106,7 @@ src_configure() {
|
|||||||
|
|
||||||
--without-dyninst
|
--without-dyninst
|
||||||
--without-cupti
|
--without-cupti
|
||||||
--without-memkind
|
|
||||||
--without-synapse
|
--without-synapse
|
||||||
--without-spectral
|
|
||||||
--without-openshmem
|
--without-openshmem
|
||||||
--without-gm
|
--without-gm
|
||||||
--without-mx
|
--without-mx
|
||||||
@@ -159,21 +158,28 @@ src_configure() {
|
|||||||
else
|
else
|
||||||
myconf+=( "--without-elf" )
|
myconf+=( "--without-elf" )
|
||||||
fi
|
fi
|
||||||
if use fft; then
|
|
||||||
myconf+=( "--with-fft=${EPREFIX}/usr" )
|
|
||||||
else
|
|
||||||
myconf+=( "--without-fft" )
|
|
||||||
fi
|
|
||||||
if use java; then
|
if use java; then
|
||||||
myconf+=( "--with-java-jdk=$(java-config -O)" )
|
myconf+=( "--with-java-jdk=$(java-config -O)" )
|
||||||
else
|
else
|
||||||
myconf+=( "--without-java-jdk" )
|
myconf+=( "--without-java-jdk" )
|
||||||
fi
|
fi
|
||||||
|
if use memkind; then
|
||||||
|
myconf+=( "--with-memkind=${EPREFIX}/usr" )
|
||||||
|
else
|
||||||
|
myconf+=( "--without-memkind" )
|
||||||
|
fi
|
||||||
if use opencl; then
|
if use opencl; then
|
||||||
myconf+=( "--with-opencl=${EPREFIX}/usr" )
|
myconf+=( "--with-opencl=${EPREFIX}/usr" )
|
||||||
else
|
else
|
||||||
myconf+=( "--without-opencl" )
|
myconf+=( "--without-opencl" )
|
||||||
fi
|
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" )
|
use sionlib && myconf+=( "--with-sionlib=${EPREFIX}/usr" )
|
||||||
|
|
||||||
@@ -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="dwarf">Build with <pkg>dev-libs/libdwarf</pkg></flag>
|
||||||
<!--<flag name="dyninst">Build with dyninst</flag>-->
|
<!--<flag name="dyninst">Build with dyninst</flag>-->
|
||||||
<flag name="elf">Build with <pkg>virtual/libelf</pkg></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="heterogeneous">Enable support for heterogeneous tracing</flag>
|
||||||
<flag name="inotify">Enable inotify support</flag>
|
<flag name="inotify">Enable inotify support</flag>
|
||||||
<flag name="instrument-dynamic-memory">Enables instrumentation for dynamic memory (malloc, free, realloc) calls</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="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="pthread">Enable support for tracing pthread library</flag>
|
||||||
<flag name="sampling">Enable PAPI sampling support</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="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="sionlib">Enable support for <pkg>sys-cluster/sionlib</pkg></flag>
|
||||||
<flag name="smpss">Enable support for tracing SMP-superscalar</flag>
|
<flag name="smpss">Enable support for tracing SMP-superscalar</flag>
|
||||||
|
|||||||
Reference in New Issue
Block a user