Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: sys-cluster/parsec/, profiles/desc/
Date: Fri, 27 May 2022 11:28:18
Message-Id: 1653650887.24acda93ef6607f738666b1e33672fac5143f910.Alessandro-Barbieri@gentoo
1 commit: 24acda93ef6607f738666b1e33672fac5143f910
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Thu May 26 23:55:14 2022 +0000
4 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
5 CommitDate: Fri May 27 11:28:07 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=24acda93
7
8 sys-cluster/parsec: move parsec's use expand to profiles/desc
9
10 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
11
12 profiles/desc/parsec_debug.desc | 11 ++++
13 profiles/desc/parsec_dist.desc | 8 +++
14 profiles/desc/parsec_prof.desc | 18 ++++++
15 sys-cluster/parsec/metadata.xml | 23 -------
16 sys-cluster/parsec/parsec-3.0.2012.ebuild | 100 +++++++++++++++---------------
17 5 files changed, 87 insertions(+), 73 deletions(-)
18
19 diff --git a/profiles/desc/parsec_debug.desc b/profiles/desc/parsec_debug.desc
20 new file mode 100644
21 index 000000000..0eb75dccd
22 --- /dev/null
23 +++ b/profiles/desc/parsec_debug.desc
24 @@ -0,0 +1,11 @@
25 +# Copyright 2022 Gentoo Authors
26 +# Distributed under the terms of the GNU General Public License v2
27 +
28 +# This file contains descriptions of PARSEC_DEBUG USE_EXPAND flags.
29 +
30 +debug-history - Keep a summarized history of critical events in memory that can be dumped in gdb when deadlock occur
31 +debug-mem-addr - Enable the memory access checker
32 +debug-mem-leak - Enable only the memory leak checker
33 +debug-mem-race - Enable the memory thread-race checker
34 +debug-noisier - Enable chatterbox-like verbose debugging (may impact performance)
35 +debug-paranoid - Enable extra paranoid checks (may impact performance)
36
37 diff --git a/profiles/desc/parsec_dist.desc b/profiles/desc/parsec_dist.desc
38 new file mode 100644
39 index 000000000..404ed1ed1
40 --- /dev/null
41 +++ b/profiles/desc/parsec_dist.desc
42 @@ -0,0 +1,8 @@
43 +# Copyright 2022 Gentoo Authors
44 +# Distributed under the terms of the GNU General Public License v2
45 +
46 +# This file contains descriptions of PARSEC_DIST USE_EXPAND flags.
47 +
48 +collectives - Use optimized asynchronous operations where collective communication pattern is detected
49 +priorities - Favor the communications that unlock the most prioritary tasks
50 +thread - Use an extra thread to progress the data movements
51
52 diff --git a/profiles/desc/parsec_prof.desc b/profiles/desc/parsec_prof.desc
53 new file mode 100644
54 index 000000000..c6f71c412
55 --- /dev/null
56 +++ b/profiles/desc/parsec_prof.desc
57 @@ -0,0 +1,18 @@
58 +# Copyright 2022 Gentoo Authors
59 +# Distributed under the terms of the GNU General Public License v2
60 +
61 +# This file contains descriptions of PARSEC_PROF USE_EXPAND flags.
62 +
63 +active-arena-set - Enable the profiling of active arena set to track memory usage of parsec handles
64 +btf - Force PaRSEC Binary Tracing Format to be the profiling system
65 +dry-body - Disable calls to the actual bodies, no computation is performed
66 +dry-dep - Disable calls to the actual data transport, remote dependencies are notified, but no data movement takes place
67 +dry-run - Disable calls to the actual bodies and do not move the data between nodes, unfold the dependencies only
68 +grapher - Enable the generation of the dot graph representation during execution
69 +mmap - Use MMAP to create the profile files
70 +otf2 - Force otf2 to be the profiling system
71 +pins - Enable the use of the PaRSEC callback instrumentation system
72 +ptg - Generate Profiling traces for the internal_init tasks in the PTG interface
73 +rusage - Print the rusage per execution unit for each progress
74 +scheduling-events - Enable the tracing of fine-grained scheduling details during execution
75 +prof-tau - Experimental usage of TAU profiling framework
76
77 diff --git a/sys-cluster/parsec/metadata.xml b/sys-cluster/parsec/metadata.xml
78 index 281014f7a..763617a70 100644
79 --- a/sys-cluster/parsec/metadata.xml
80 +++ b/sys-cluster/parsec/metadata.xml
81 @@ -21,29 +21,6 @@ The framework includes libraries, a runtime system, and development tools to hel
82 <flag name="home-config-files">Should the runtime check for the parameter configuration file in the user home (\$HOME/.parsec/mca-params.conf)</flag>
83 <!--<flag name="opencl">Enable GPU support using OpenCL kernels</flag>-->
84 <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>
85 - <flag name="parsec-debug-history">Keep a summarized history of critical events in memory that can be dumped in gdb when deadlock occur</flag>
86 - <!--<flag name="parsec-debug-mem-addr">Enable the memory access checker</flag>-->
87 - <!--<flag name="parsec-debug-mem-leak">Enable only the memory leak checker</flag>-->
88 - <!--<flag name="parsec-debug-mem-race">Enable the memory thread-race checker</flag>-->
89 - <flag name="parsec-debug-noisier">Enable chatterbox-like verbose debugging (may impact performance)</flag>
90 - <flag name="parsec-debug-paranoid">Enable extra paranoid checks (may impact performance)</flag>
91 - <flag name="parsec-dist-collectives">Use optimized asynchronous operations where collective communication pattern is detected</flag>
92 - <flag name="parsec-dist-priorities">Favor the communications that unlock the most prioritary tasks</flag>
93 - <flag name="parsec-dist-thread">Use an extra thread to progress the data movements</flag>
94 - <flag name="parsec-prof-active-arena-set">Enable the profiling of active arena set to track memory usage of parsec handles</flag>
95 - <flag name="parsec-prof-btf">Force PaRSEC Binary Tracing Format to be the profiling system</flag>
96 - <flag name="parsec-prof-dry-body">Disable calls to the actual bodies, no computation is performed</flag>
97 - <flag name="parsec-prof-dry-dep">Disable calls to the actual data transport, remote dependencies are notified, but no data movement takes place</flag>
98 - <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>
99 - <flag name="parsec-prof-grapher">Enable the generation of the dot graph representation during execution</flag>
100 - <flag name="parsec-prof-mmap">Use MMAP to create the profile files</flag>
101 - <flag name="parsec-prof-otf2">Force otf2 to be the profiling system</flag>
102 - <flag name="parsec-prof-pins">Enable the use of the PaRSEC callback instrumentation system</flag>
103 - <flag name="parsec-prof-ptg">Generate Profiling traces for the internal_init tasks in the PTG interface</flag>
104 - <flag name="parsec-prof-rusage">Print the rusage per execution unit for each progress</flag>
105 - <flag name="parsec-prof-scheduling-events">Enable the tracing of fine-grained scheduling details during execution</flag>
106 - <!--<flag name="parsec-prof-tau">Experimental usage of TAU profiling framework</flag>-->
107 - <flag name="parsec-prof-thread">Use a Helper Thread to create the profile files</flag>
108 <flag name="sim">Enable the computation of the critical path, through simulation</flag>
109 <flag name="tools">Build the helper tools such as the pre-compilers, profiling manipulation and so on</flag>
110 </use>
111
112 diff --git a/sys-cluster/parsec/parsec-3.0.2012.ebuild b/sys-cluster/parsec/parsec-3.0.2012.ebuild
113 index a09891890..24ab099e3 100644
114 --- a/sys-cluster/parsec/parsec-3.0.2012.ebuild
115 +++ b/sys-cluster/parsec/parsec-3.0.2012.ebuild
116 @@ -18,33 +18,33 @@ SLOT="0"
117 KEYWORDS="~amd64"
118
119 # next release
120 -# parsec-debug-mem-addr
121 -# parsec-debug-mem-leak
122 -# parsec-debug-mem-race
123 +# parsec_debug_mem-addr
124 +# parsec_debug_mem-leak
125 +# parsec_debug_mem-race
126 IUSE_PARSEC_DEBUG="
127 - parsec-debug-history
128 - parsec-debug-noisier
129 - parsec-debug-paranoid
130 + parsec_debug_history
131 + parsec_debug_noisier
132 + parsec_debug_paranoid
133 "
134 IUSE_PARSEC_DIST="
135 - +parsec-dist-collectives
136 - +parsec-dist-priorities
137 - +parsec-dist-thread
138 + +parsec_dist_collectives
139 + +parsec_dist_priorities
140 + +parsec_dist_thread
141 "
142 IUSE_PARSEC_PROF="
143 - parsec-prof-active-arena-set
144 - parsec-prof-btf
145 - parsec-prof-dry-body
146 - parsec-prof-dry-dep
147 - parsec-prof-dry-run
148 - parsec-prof-grapher
149 - +parsec-prof-mmap
150 - parsec-prof-otf2
151 - parsec-prof-pins
152 - parsec-prof-ptg
153 - parsec-prof-rusage
154 - parsec-prof-scheduling-events
155 - +parsec-prof-thread
156 + parsec_prof_active-arena-set
157 + parsec_prof_btf
158 + parsec_prof_dry-body
159 + parsec_prof_dry-dep
160 + parsec_prof_dry-run
161 + parsec_prof_grapher
162 + +parsec_prof_mmap
163 + parsec_prof_otf2
164 + parsec_prof_pins
165 + parsec_prof_ptg
166 + parsec_prof_rusage
167 + parsec_prof_scheduling-events
168 + +parsec_prof_thread
169 "
170 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"
171
172 @@ -55,8 +55,8 @@ RDEPEND="
173 sys-cluster/temanejo
174
175 mpi? ( virtual/mpi )
176 - parsec-prof-otf2? ( sys-cluster/otf2 )
177 - parsec-prof-pins? ( dev-libs/papi )
178 + parsec_prof_otf2? ( sys-cluster/otf2 )
179 + parsec_prof_pins? ( dev-libs/papi )
180 "
181 DEPEND="${RDEPEND}"
182 BDEPEND="
183 @@ -67,12 +67,12 @@ BDEPEND="
184 RESTRICT="!test? ( test )"
185 REQUIRED_USE="
186 ?? ( mpi sim )
187 - ?? ( parsec-debug-noisier parsec-debug-history )
188 - ?? ( parsec-prof-dry-body parsec-prof-dry-dep parsec-prof-dry-run )
189 - ?? ( parsec-prof-btf parsec-prof-otf2 )
190 + ?? ( parsec_debug_noisier parsec_debug_history )
191 + ?? ( parsec_prof_dry-body parsec_prof_dry-dep parsec_prof_dry-run )
192 + ?? ( parsec_prof_btf parsec_prof_otf2 )
193 "
194 # next release
195 -# ?? ( parsec-debug-mem-addr parsec-debug-mem-leak parsec-debug-mem-race )
196 +# ?? ( parsec_debug_mem-addr parsec_debug_mem-leak parsec_debug_mem-race )
197
198 pkg_setup() {
199 fortran-2_pkg_setup
200 @@ -80,13 +80,13 @@ pkg_setup() {
201
202 src_configure() {
203 local trace="Auto"
204 - use parsec-prof-btf && trace="PaRSEC Binary Tracing Format"
205 - use parsec-prof-otf2 && trace="OTF2"
206 + use parsec_prof_btf && trace="PaRSEC Binary Tracing Format"
207 + use parsec_prof_otf2 && trace="OTF2"
208
209 # next release
210 -# -DPARSEC_DEBUG_MEM_ADDR=$(usex parsec-debug-mem-addr)
211 -# -DPARSEC_DEBUG_MEM_LEAK=$(usex parsec-debug-mem-leak)
212 -# -DPARSEC_DEBUG_MEM_RACE=$(usex parsec-debug-mem-race)
213 +# -DPARSEC_DEBUG_MEM_ADDR=$(usex parsec_debug_mem-addr)
214 +# -DPARSEC_DEBUG_MEM_LEAK=$(usex parsec_debug_mem-leak)
215 +# -DPARSEC_DEBUG_MEM_RACE=$(usex parsec_debug_mem-race)
216 local mycmakeargs=(
217 -DBUILD_SHARED_LIBS=ON
218 -DPARSEC_GPU_CUDA_ALLOC_PER_TILE=OFF
219 @@ -96,28 +96,28 @@ src_configure() {
220
221 -DBUILD_TOOLS=$(usex tools)
222 -DPARSEC_DEBUG=$(usex debug)
223 - -DPARSEC_DEBUG_HISTORY=$(usex parsec-debug-history)
224 - -DPARSEC_DEBUG_NOISIER=$(usex parsec-debug-noisier)
225 - -DPARSEC_DEBUG_PARANOID=$(usex parsec-debug-paranoid)
226 - -DPARSEC_DIST_COLLECTIVES=$(usex parsec-dist-collectives)
227 - -DPARSEC_DIST_PRIORITIES=$(usex parsec-dist-priorities)
228 - -DPARSEC_DIST_THREAD=$(usex parsec-dist-thread)
229 + -DPARSEC_DEBUG_HISTORY=$(usex parsec_debug_history)
230 + -DPARSEC_DEBUG_NOISIER=$(usex parsec_debug_noisier)
231 + -DPARSEC_DEBUG_PARANOID=$(usex parsec_debug_paranoid)
232 + -DPARSEC_DIST_COLLECTIVES=$(usex parsec_dist_collectives)
233 + -DPARSEC_DIST_PRIORITIES=$(usex parsec_dist_priorities)
234 + -DPARSEC_DIST_THREAD=$(usex parsec_dist_thread)
235 -DPARSEC_DIST_WITH_MPI=$(usex mpi)
236 -DPARSEC_SCHED_DEPS_MASK=$(usex sched-deps-mask)
237 -DPARSEC_SIM=$(usex sim)
238 - -DPARSEC_PROF_DRY_BODY=$(usex parsec-prof-dry-body)
239 - -DPARSEC_PROF_DRY_DEP=$(usex parsec-prof-dry-dep)
240 - -DPARSEC_PROF_DRY_RUN=$(usex parsec-prof-dry-run)
241 - -DPARSEC_PROF_GRAPHER=$(usex parsec-prof-grapher)
242 - -DPARSEC_PROF_PINS=$(usex parsec-prof-pins)
243 - -DPARSEC_PROF_RUSAGE_EU=$(usex parsec-prof-rusage)
244 + -DPARSEC_PROF_DRY_BODY=$(usex parsec_prof_dry-body)
245 + -DPARSEC_PROF_DRY_DEP=$(usex parsec_prof_dry-dep)
246 + -DPARSEC_PROF_DRY_RUN=$(usex parsec_prof_dry-run)
247 + -DPARSEC_PROF_GRAPHER=$(usex parsec_prof_grapher)
248 + -DPARSEC_PROF_PINS=$(usex parsec_prof_pins)
249 + -DPARSEC_PROF_RUSAGE_EU=$(usex parsec_prof_rusage)
250 -DPARSEC_PROF_TRACE=$(usex profile)
251 - -DPARSEC_PROF_TRACE_ACTIVE_ARENA_SET=$(usex parsec-prof-active-arena-set)
252 - -DPARSEC_PROF_TRACE_PTG_INTERNAL_INIT=$(usex parsec-prof-ptg)
253 - -DPARSEC_PROF_TRACE_SCHEDULING_EVENTS=$(usex parsec-prof-scheduling-events)
254 + -DPARSEC_PROF_TRACE_ACTIVE_ARENA_SET=$(usex parsec_prof_active-arena-set)
255 + -DPARSEC_PROF_TRACE_PTG_INTERNAL_INIT=$(usex parsec_prof_ptg)
256 + -DPARSEC_PROF_TRACE_SCHEDULING_EVENTS=$(usex parsec_prof_scheduling-events)
257 -DPARSEC_PROF_TRACE_SYSTEM="${trace}"
258 - -DPARSEC_PROFILING_USE_HELPER_THREAD=$(usex parsec-prof-thread)
259 - -DPARSEC_PROFILING_USE_MMAP=$(usex parsec-prof-mmap)
260 + -DPARSEC_PROFILING_USE_HELPER_THREAD=$(usex parsec_prof_thread)
261 + -DPARSEC_PROFILING_USE_MMAP=$(usex parsec_prof_mmap)
262 -DPARSEC_WANT_HOME_CONFIG_FILES=$(usex home-config-files)
263 -DPARSEC_WITH_DEVEL_HEADERS=$(usex devel-headers)
264 -DSUPPORT_CXX=$(usex cxx)