commit: 24acda93ef6607f738666b1e33672fac5143f910
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Thu May 26 23:55:14 2022 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri May 27 11:28:07 2022 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=24acda93
sys-cluster/parsec: move parsec's use expand to profiles/desc
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
profiles/desc/parsec_debug.desc | 11 ++++
profiles/desc/parsec_dist.desc | 8 +++
profiles/desc/parsec_prof.desc | 18 ++++++
sys-cluster/parsec/metadata.xml | 23 -------
sys-cluster/parsec/parsec-3.0.2012.ebuild | 100 +++++++++++++++---------------
5 files changed, 87 insertions(+), 73 deletions(-)
diff --git a/profiles/desc/parsec_debug.desc b/profiles/desc/parsec_debug.desc
new file mode 100644
index 000000000..0eb75dccd
--- /dev/null
+++ b/profiles/desc/parsec_debug.desc
@@ -0,0 +1,11 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# This file contains descriptions of PARSEC_DEBUG USE_EXPAND flags.
+
+debug-history - Keep a summarized history of critical events in memory that
can be dumped in gdb when deadlock occur
+debug-mem-addr - Enable the memory access checker
+debug-mem-leak - Enable only the memory leak checker
+debug-mem-race - Enable the memory thread-race checker
+debug-noisier - Enable chatterbox-like verbose debugging (may impact
performance)
+debug-paranoid - Enable extra paranoid checks (may impact performance)
diff --git a/profiles/desc/parsec_dist.desc b/profiles/desc/parsec_dist.desc
new file mode 100644
index 000000000..404ed1ed1
--- /dev/null
+++ b/profiles/desc/parsec_dist.desc
@@ -0,0 +1,8 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# This file contains descriptions of PARSEC_DIST USE_EXPAND flags.
+
+collectives - Use optimized asynchronous operations where collective
communication pattern is detected
+priorities - Favor the communications that unlock the most prioritary tasks
+thread - Use an extra thread to progress the data movements
diff --git a/profiles/desc/parsec_prof.desc b/profiles/desc/parsec_prof.desc
new file mode 100644
index 000000000..c6f71c412
--- /dev/null
+++ b/profiles/desc/parsec_prof.desc
@@ -0,0 +1,18 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# This file contains descriptions of PARSEC_PROF USE_EXPAND flags.
+
+active-arena-set - Enable the profiling of active arena set to track memory
usage of parsec handles
+btf - Force PaRSEC Binary Tracing Format to be the profiling system
+dry-body - Disable calls to the actual bodies, no computation is performed
+dry-dep - Disable calls to the actual data transport, remote dependencies are
notified, but no data movement takes place
+dry-run - Disable calls to the actual bodies and do not move the data between
nodes, unfold the dependencies only
+grapher - Enable the generation of the dot graph representation during
execution
+mmap - Use MMAP to create the profile files
+otf2 - Force otf2 to be the profiling system
+pins - Enable the use of the PaRSEC callback instrumentation system
+ptg - Generate Profiling traces for the internal_init tasks in the PTG
interface
+rusage - Print the rusage per execution unit for each progress
+scheduling-events - Enable the tracing of fine-grained scheduling details
during execution
+prof-tau - Experimental usage of TAU profiling framework
diff --git a/sys-cluster/parsec/metadata.xml b/sys-cluster/parsec/metadata.xml
index 281014f7a..763617a70 100644
--- a/sys-cluster/parsec/metadata.xml
+++ b/sys-cluster/parsec/metadata.xml
@@ -21,29 +21,6 @@ The framework includes libraries, a runtime system, and
development tools to hel
<flag name="home-config-files">Should the runtime check for the parameter
configuration file in the user home (\$HOME/.parsec/mca-params.conf)</flag>
<!--<flag name="opencl">Enable GPU support using OpenCL kernels</flag>-->
<flag name="sched-deps-mask">Use a complete bitmask to track the
dependencies, instead of a counter -- increase the debugging features, but
limits to a maximum of 30 input dependencies</flag>
- <flag name="parsec-debug-history">Keep a summarized history of critical
events in memory that can be dumped in gdb when deadlock occur</flag>
- <!--<flag name="parsec-debug-mem-addr">Enable the memory access
checker</flag>-->
- <!--<flag name="parsec-debug-mem-leak">Enable only the memory leak
checker</flag>-->
- <!--<flag name="parsec-debug-mem-race">Enable the memory thread-race
checker</flag>-->
- <flag name="parsec-debug-noisier">Enable chatterbox-like verbose debugging
(may impact performance)</flag>
- <flag name="parsec-debug-paranoid">Enable extra paranoid checks (may
impact performance)</flag>
- <flag name="parsec-dist-collectives">Use optimized asynchronous operations
where collective communication pattern is detected</flag>
- <flag name="parsec-dist-priorities">Favor the communications that unlock
the most prioritary tasks</flag>
- <flag name="parsec-dist-thread">Use an extra thread to progress the data
movements</flag>
- <flag name="parsec-prof-active-arena-set">Enable the profiling of active
arena set to track memory usage of parsec handles</flag>
- <flag name="parsec-prof-btf">Force PaRSEC Binary Tracing Format to be the
profiling system</flag>
- <flag name="parsec-prof-dry-body">Disable calls to the actual bodies, no
computation is performed</flag>
- <flag name="parsec-prof-dry-dep">Disable calls to the actual data
transport, remote dependencies are notified, but no data movement takes
place</flag>
- <flag name="parsec-prof-dry-run">Disable calls to the actual bodies and do
not move the data between nodes, unfold the dependencies only</flag>
- <flag name="parsec-prof-grapher">Enable the generation of the dot graph
representation during execution</flag>
- <flag name="parsec-prof-mmap">Use MMAP to create the profile files</flag>
- <flag name="parsec-prof-otf2">Force otf2 to be the profiling system</flag>
- <flag name="parsec-prof-pins">Enable the use of the PaRSEC callback
instrumentation system</flag>
- <flag name="parsec-prof-ptg">Generate Profiling traces for the
internal_init tasks in the PTG interface</flag>
- <flag name="parsec-prof-rusage">Print the rusage per execution unit for
each progress</flag>
- <flag name="parsec-prof-scheduling-events">Enable the tracing of
fine-grained scheduling details during execution</flag>
- <!--<flag name="parsec-prof-tau">Experimental usage of TAU profiling
framework</flag>-->
- <flag name="parsec-prof-thread">Use a Helper Thread to create the profile
files</flag>
<flag name="sim">Enable the computation of the critical path, through
simulation</flag>
<flag name="tools">Build the helper tools such as the pre-compilers,
profiling manipulation and so on</flag>
</use>
diff --git a/sys-cluster/parsec/parsec-3.0.2012.ebuild
b/sys-cluster/parsec/parsec-3.0.2012.ebuild
index a09891890..24ab099e3 100644
--- a/sys-cluster/parsec/parsec-3.0.2012.ebuild
+++ b/sys-cluster/parsec/parsec-3.0.2012.ebuild
@@ -18,33 +18,33 @@ SLOT="0"
KEYWORDS="~amd64"
# next release
-# parsec-debug-mem-addr
-# parsec-debug-mem-leak
-# parsec-debug-mem-race
+# parsec_debug_mem-addr
+# parsec_debug_mem-leak
+# parsec_debug_mem-race
IUSE_PARSEC_DEBUG="
- parsec-debug-history
- parsec-debug-noisier
- parsec-debug-paranoid
+ parsec_debug_history
+ parsec_debug_noisier
+ parsec_debug_paranoid
"
IUSE_PARSEC_DIST="
- +parsec-dist-collectives
- +parsec-dist-priorities
- +parsec-dist-thread
+ +parsec_dist_collectives
+ +parsec_dist_priorities
+ +parsec_dist_thread
"
IUSE_PARSEC_PROF="
- parsec-prof-active-arena-set
- parsec-prof-btf
- parsec-prof-dry-body
- parsec-prof-dry-dep
- parsec-prof-dry-run
- parsec-prof-grapher
- +parsec-prof-mmap
- parsec-prof-otf2
- parsec-prof-pins
- parsec-prof-ptg
- parsec-prof-rusage
- parsec-prof-scheduling-events
- +parsec-prof-thread
+ parsec_prof_active-arena-set
+ parsec_prof_btf
+ parsec_prof_dry-body
+ parsec_prof_dry-dep
+ parsec_prof_dry-run
+ parsec_prof_grapher
+ +parsec_prof_mmap
+ parsec_prof_otf2
+ parsec_prof_pins
+ parsec_prof_ptg
+ parsec_prof_rusage
+ parsec_prof_scheduling-events
+ +parsec_prof_thread
"
IUSE="${IUSE_PARSEC_DEBUG} ${IUSE_PARSEC_DIST} ${IUSE_PARSEC_PROF} +cxx debug
+devel-headers fortran +home-config-files +mpi profile +sched-deps-mask sim
test +tools"
@@ -55,8 +55,8 @@ RDEPEND="
sys-cluster/temanejo
mpi? ( virtual/mpi )
- parsec-prof-otf2? ( sys-cluster/otf2 )
- parsec-prof-pins? ( dev-libs/papi )
+ parsec_prof_otf2? ( sys-cluster/otf2 )
+ parsec_prof_pins? ( dev-libs/papi )
"
DEPEND="${RDEPEND}"
BDEPEND="
@@ -67,12 +67,12 @@ BDEPEND="
RESTRICT="!test? ( test )"
REQUIRED_USE="
?? ( mpi sim )
- ?? ( parsec-debug-noisier parsec-debug-history )
- ?? ( parsec-prof-dry-body parsec-prof-dry-dep parsec-prof-dry-run )
- ?? ( parsec-prof-btf parsec-prof-otf2 )
+ ?? ( parsec_debug_noisier parsec_debug_history )
+ ?? ( parsec_prof_dry-body parsec_prof_dry-dep parsec_prof_dry-run )
+ ?? ( parsec_prof_btf parsec_prof_otf2 )
"
# next release
-# ?? ( parsec-debug-mem-addr parsec-debug-mem-leak parsec-debug-mem-race )
+# ?? ( parsec_debug_mem-addr parsec_debug_mem-leak parsec_debug_mem-race )
pkg_setup() {
fortran-2_pkg_setup
@@ -80,13 +80,13 @@ pkg_setup() {
src_configure() {
local trace="Auto"
- use parsec-prof-btf && trace="PaRSEC Binary Tracing Format"
- use parsec-prof-otf2 && trace="OTF2"
+ use parsec_prof_btf && trace="PaRSEC Binary Tracing Format"
+ use parsec_prof_otf2 && trace="OTF2"
# next release
-# -DPARSEC_DEBUG_MEM_ADDR=$(usex parsec-debug-mem-addr)
-# -DPARSEC_DEBUG_MEM_LEAK=$(usex parsec-debug-mem-leak)
-# -DPARSEC_DEBUG_MEM_RACE=$(usex parsec-debug-mem-race)
+# -DPARSEC_DEBUG_MEM_ADDR=$(usex parsec_debug_mem-addr)
+# -DPARSEC_DEBUG_MEM_LEAK=$(usex parsec_debug_mem-leak)
+# -DPARSEC_DEBUG_MEM_RACE=$(usex parsec_debug_mem-race)
local mycmakeargs=(
-DBUILD_SHARED_LIBS=ON
-DPARSEC_GPU_CUDA_ALLOC_PER_TILE=OFF
@@ -96,28 +96,28 @@ src_configure() {
-DBUILD_TOOLS=$(usex tools)
-DPARSEC_DEBUG=$(usex debug)
- -DPARSEC_DEBUG_HISTORY=$(usex parsec-debug-history)
- -DPARSEC_DEBUG_NOISIER=$(usex parsec-debug-noisier)
- -DPARSEC_DEBUG_PARANOID=$(usex parsec-debug-paranoid)
- -DPARSEC_DIST_COLLECTIVES=$(usex parsec-dist-collectives)
- -DPARSEC_DIST_PRIORITIES=$(usex parsec-dist-priorities)
- -DPARSEC_DIST_THREAD=$(usex parsec-dist-thread)
+ -DPARSEC_DEBUG_HISTORY=$(usex parsec_debug_history)
+ -DPARSEC_DEBUG_NOISIER=$(usex parsec_debug_noisier)
+ -DPARSEC_DEBUG_PARANOID=$(usex parsec_debug_paranoid)
+ -DPARSEC_DIST_COLLECTIVES=$(usex parsec_dist_collectives)
+ -DPARSEC_DIST_PRIORITIES=$(usex parsec_dist_priorities)
+ -DPARSEC_DIST_THREAD=$(usex parsec_dist_thread)
-DPARSEC_DIST_WITH_MPI=$(usex mpi)
-DPARSEC_SCHED_DEPS_MASK=$(usex sched-deps-mask)
-DPARSEC_SIM=$(usex sim)
- -DPARSEC_PROF_DRY_BODY=$(usex parsec-prof-dry-body)
- -DPARSEC_PROF_DRY_DEP=$(usex parsec-prof-dry-dep)
- -DPARSEC_PROF_DRY_RUN=$(usex parsec-prof-dry-run)
- -DPARSEC_PROF_GRAPHER=$(usex parsec-prof-grapher)
- -DPARSEC_PROF_PINS=$(usex parsec-prof-pins)
- -DPARSEC_PROF_RUSAGE_EU=$(usex parsec-prof-rusage)
+ -DPARSEC_PROF_DRY_BODY=$(usex parsec_prof_dry-body)
+ -DPARSEC_PROF_DRY_DEP=$(usex parsec_prof_dry-dep)
+ -DPARSEC_PROF_DRY_RUN=$(usex parsec_prof_dry-run)
+ -DPARSEC_PROF_GRAPHER=$(usex parsec_prof_grapher)
+ -DPARSEC_PROF_PINS=$(usex parsec_prof_pins)
+ -DPARSEC_PROF_RUSAGE_EU=$(usex parsec_prof_rusage)
-DPARSEC_PROF_TRACE=$(usex profile)
- -DPARSEC_PROF_TRACE_ACTIVE_ARENA_SET=$(usex
parsec-prof-active-arena-set)
- -DPARSEC_PROF_TRACE_PTG_INTERNAL_INIT=$(usex parsec-prof-ptg)
- -DPARSEC_PROF_TRACE_SCHEDULING_EVENTS=$(usex
parsec-prof-scheduling-events)
+ -DPARSEC_PROF_TRACE_ACTIVE_ARENA_SET=$(usex
parsec_prof_active-arena-set)
+ -DPARSEC_PROF_TRACE_PTG_INTERNAL_INIT=$(usex parsec_prof_ptg)
+ -DPARSEC_PROF_TRACE_SCHEDULING_EVENTS=$(usex
parsec_prof_scheduling-events)
-DPARSEC_PROF_TRACE_SYSTEM="${trace}"
- -DPARSEC_PROFILING_USE_HELPER_THREAD=$(usex parsec-prof-thread)
- -DPARSEC_PROFILING_USE_MMAP=$(usex parsec-prof-mmap)
+ -DPARSEC_PROFILING_USE_HELPER_THREAD=$(usex parsec_prof_thread)
+ -DPARSEC_PROFILING_USE_MMAP=$(usex parsec_prof_mmap)
-DPARSEC_WANT_HOME_CONFIG_FILES=$(usex home-config-files)
-DPARSEC_WITH_DEVEL_HEADERS=$(usex devel-headers)
-DSUPPORT_CXX=$(usex cxx)