commit: 24acda93ef6607f738666b1e33672fac5143f910 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> AuthorDate: Thu May 26 23:55:14 2022 +0000 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> 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)