02:01
K-ballo has quit [Quit: K-ballo]
02:24
hkaiser has quit [Quit: bye]
09:04
bobakk3r has joined #ste||ar
09:07
bobakk3r_ has quit [Ping timeout: 246 seconds]
11:30
K-ballo has joined #ste||ar
11:38
<
gonidelis[m] >
when i launch a parallel hpx algo with hpx::execution::par, how many threads do i get?
11:38
<
gonidelis[m] >
i suspect it's the maximum
11:38
<
gonidelis[m] >
but i want less ;p
11:40
<
srinivasyadav227 >
gonidelis[m]: i think we can pass --hpx:threads=n
11:41
<
gonidelis[m] >
a shit great
11:41
<
gonidelis[m] >
was using the wrong directive
11:41
<
gonidelis[m] >
srinivasyadav227: thanks
11:42
<
srinivasyadav227 >
;)
11:44
<
jedi18[m] >
Is that the reason or is it somethign else/
11:45
hkaiser has joined #ste||ar
11:46
<
K-ballo >
jedi18[m]: because those functions are deprecated, and the warnings they produce are being promoted to errors by some compiler flag
11:47
<
K-ballo >
change the code as the message indicates
11:48
<
gonidelis[m] >
now can i spawn more threads than my CPU has
11:51
<
K-ballo >
what's working?
11:52
<
jedi18[m] >
I mean there are no errors when this is built by the CI
11:53
<
jedi18[m] >
Are the deprecated warnings not being promoted to errors here?
11:53
<
K-ballo >
where is it being called?
11:54
<
jedi18[m] >
Nowhere, but then neither is the one in my branch.
11:55
<
K-ballo >
yours is probably actually called, this one is a dependent call on a function template, no instantiation -> no functoin
11:55
<
K-ballo >
link to yours?
12:01
<
K-ballo >
where's the call?
12:03
<
jedi18[m] >
That's what I'm saying, it's not being called anywhere
12:04
<
jedi18[m] >
Or wait
12:12
<
gonidelis[m] >
check the example
12:12
<
gonidelis[m] >
`std::views::reverse`
12:12
<
gonidelis[m] >
without parenthesis
12:13
<
gonidelis[m] >
to be honest the compiler was complaining for my empty parenthesis
12:13
<
hkaiser >
gonidelis[m]: you can spawn as many threads as you like, if you create too many kernel-threads however, the system might slow down
12:14
<
hkaiser >
gonidelis[m]: creating many hpx threads however is not as big of a problem
12:14
<
jedi18[m] >
K-ballo: Well it looks like one of the regression tests does (fill_executor_5016.cpp)
12:14
<
K-ballo >
yep, that's what the error is saying
12:14
<
K-ballo >
fwiw, if you build locally the error message will probably tell you where exactly the call is
12:15
<
K-ballo >
cdash in its usefulness decides to strip all the relevant information
12:15
<
gonidelis[m] >
hkaiser: yeah that's what i wanted: to achieve saturation
12:15
<
gonidelis[m] >
hpx:threads though won't let me exceed 16 threads
12:16
<
hkaiser >
you can create as many hpx::threads as you like
12:17
<
jedi18[m] >
K-ballo: Oh ok thanks!
12:17
<
gonidelis[m] >
`:` -> `::`
12:17
<
hkaiser >
but --hpx:threads defines the number of kernel threads created, if that number is higher than the number of cores things will slow down
12:17
<
gonidelis[m] >
yeah great
12:17
<
gonidelis[m] >
about the reverse thing... does it seem cogent?
12:17
<
hkaiser >
yes, I was wrong, apparently
12:18
<
gonidelis[m] >
no i mean does it seem logical that eric chose this way of implementing it
12:19
<
hkaiser >
it's a matter of taste
12:19
<
hkaiser >
it's a design decsion, if it's applied consistently - fine
12:20
<
gonidelis[m] >
hkaiser: definately. do you think it's ok if i just report strong scaling
12:21
<
gonidelis[m] >
great
12:23
<
mdiers[m] >
hkaiser: Have you found time to look at #5117 yet?
12:24
<
hkaiser >
no success, I have started looking but was not able to reproduce the issue
12:26
<
mdiers[m] >
When I run my last example distributed on multiple nodes I get it reproduced.
12:27
<
mdiers[m] >
Of course only with the optimized compilation.
12:27
<
hkaiser >
I tried in debug
12:31
<
mdiers[m] >
Race conditions without optimization? Interesting 😉
12:35
<
gonidelis[m] >
hkaiser: shouldn't hpx::threads=1 give me the same time as when the algo is called with `execution::seq` poicy
12:35
<
gonidelis[m] >
policy^^
12:36
<
hkaiser >
gonidelis[m]: it will probably a bit slower
12:39
<
gonidelis[m] >
say "lot" ...
12:39
<
hkaiser >
shouldn't be that bad
12:44
<
gonidelis[m] >
10000000 elements
12:44
<
gonidelis[m] >
--hpx:threads=1 -> 13.8554s
12:44
<
gonidelis[m] >
[Seq] - 3.09428s
12:44
<
hkaiser >
gonidelis[m]: that requires some investigation - something is off there
12:45
<
gonidelis[m] >
i put it on my books
12:45
<
hkaiser >
is [Seq] run with --hpx:threads=1 as well?
12:45
<
gonidelis[m] >
ahhh yes
12:46
<
gonidelis[m] >
it does
12:46
<
gonidelis[m] >
but since it's seq it shouldn't matter
12:46
<
hkaiser >
show me the example, pls
12:46
<
hkaiser >
is this a release build?
12:46
<
hkaiser >
-DCMAKE_BUILD_TYPE=Release?
12:47
<
hkaiser >
is that a general observation or something specific to this combination of algorithms?
12:48
<
gonidelis[m] >
that's what i am checking right now
12:48
<
gonidelis[m] >
let me see
12:56
<
gonidelis[m] >
the reports i made was on hpx vs range-v3 parallel algos, range-v3 being the seq one
12:56
<
gonidelis[m] >
but there is still a difference on hpx-par vs hpx-seq algos
12:56
<
gonidelis[m] >
significantly smaller though
12:57
<
gonidelis[m] >
significantly smaller on another example... the one i posted to you shall be according to what i reported
12:58
<
gonidelis[m] >
therefore it fully depends on the combination
12:59
<
gonidelis[m] >
apologies if i may confused u
13:14
<
hkaiser >
does it depend on the iterator category?
13:14
<
hkaiser >
gonidelis[m]: ^^
13:14
<
hkaiser >
what we should do is to fall back par to seq if only one core is involved
13:24
hkaiser has quit [Quit: bye]
14:31
nanmiao has joined #ste||ar
15:11
nanmiao has quit [Quit: Connection closed]
15:16
nanmiao has joined #ste||ar
16:54
RostamLog has joined #ste||ar
17:55
hkaiser has joined #ste||ar
18:03
nanmiao19 has joined #ste||ar
18:06
nanmiao has quit [Ping timeout: 240 seconds]
18:07
nanmiao has joined #ste||ar
18:08
nanmiao19 has quit [Ping timeout: 240 seconds]
18:12
<
gonidelis[m] >
hkaiser: yt?
18:57
hkaiser has quit [Read error: Connection reset by peer]
19:48
diehlpk_work has joined #ste||ar
19:53
Vir has quit [*.net *.split]
19:55
Vir has joined #ste||ar
20:08
<
gonidelis[m] >
do we have an `unseq(task)` policy
20:25
hkaiser has joined #ste||ar
21:59
nanmiao has quit [Quit: Connection closed]