aserio changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar.cct.lsu.edu | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | Buildbot: http://rostam.cct.lsu.edu/ | Log: http://irclog.cct.lsu.edu/
Smasher has quit [Remote host closed the connection]
eschnett has quit [Quit: eschnett]
hkaiser has quit [Quit: bye]
jaafar_ has joined #ste||ar
eschnett has joined #ste||ar
eschnett has quit [Quit: eschnett]
eschnett has joined #ste||ar
hkaiser has joined #ste||ar
hkaiser has quit [Quit: bye]
nanashi55 has quit [Ping timeout: 276 seconds]
nanashi55 has joined #ste||ar
vamatya has quit [Read error: Connection reset by peer]
david_pfander has quit [Remote host closed the connection]
david_pfander has joined #ste||ar
<hkaiser>
simbergm: works for me
<simbergm>
hkaiser: assumed so (it does build on rostam after all), wondering if I might need some particular versions of anything? I'm on ubuntu 16.04 if that helps
<hkaiser>
simbergm: I try to stick to a particular version of docbook, ha dproblems with newer versions before
<simbergm>
hkaiser: ok, care to check what version you have?
<hkaiser>
simbergm: try using the version we have in $HPX_ROOT/external/boostbook
<simbergm>
hkaiser: thanks, will try that
<hkaiser>
simbergm: hold on
<hkaiser>
simbergm: I take that back, we don't have docbook in there anymore
<simbergm>
there are the scripts to get it at least
<hkaiser>
simbergm: I'm using docbook-dtd V4.2 and docbook-xsl V1.74.3, plus boostbook from our repo
<hkaiser>
never tried that script, though
Vir has quit [Read error: Connection reset by peer]
Vir has joined #ste||ar
hkaiser has quit [Quit: bye]
aserio has joined #ste||ar
eschnett has quit [Quit: eschnett]
hkaiser has joined #ste||ar
hkaiser has quit [Quit: bye]
aserio1 has joined #ste||ar
aserio has quit [Ping timeout: 276 seconds]
aserio1 is now known as aserio
hkaiser has joined #ste||ar
gedaj has joined #ste||ar
aserio has quit [Read error: Connection reset by peer]
aserio has joined #ste||ar
eschnett has joined #ste||ar
diehlpk has joined #ste||ar
diehlpk has quit [Ping timeout: 240 seconds]
bibek has joined #ste||ar
jaafar_ has joined #ste||ar
diehlpk has joined #ste||ar
<simbergm>
hkaiser: fyi, got it working in the end with a different version of docbook-xsl and docbook-dtd (not the one that docbook/external installs though)
<simbergm>
pdf generation didn't work, but that seems unrelated to whatever version I have now
david_pfander has quit [Ping timeout: 260 seconds]
rtohid has joined #ste||ar
diehlpk has quit [Ping timeout: 256 seconds]
jaafar has joined #ste||ar
jaafar_ has quit [Ping timeout: 276 seconds]
diehlpk has joined #ste||ar
aserio has quit [Ping timeout: 256 seconds]
<hkaiser>
simbergm: yes, pdf generation actually never worked properly
hkaiser has quit [Read error: Connection reset by peer]
aserio has joined #ste||ar
eschnett has quit [Ping timeout: 260 seconds]
hkaiser has joined #ste||ar
<hkaiser>
heller_: your recent changes to local direct execution actually disabled all local direct execution ;)
diehlpk has quit [Ping timeout: 256 seconds]
eschnett has joined #ste||ar
hkaiser has quit [Quit: bye]
jaafar has quit [Ping timeout: 268 seconds]
xxl has joined #ste||ar
<xxl>
hey, I have a question about HPX. Is this the right place? :)
<aserio>
xxl: Yes it is
<zao>
Indeedily.
<xxl>
great. I tried to use HPX 1.0 for the copy_if function (in parallel) and it seems to use one core
<xxl>
hpx::parallel::copy_if(
<xxl>
hpx::parallel::execution::par,
<xxl>
arr, arr+n, out, [&](const auto& a) { return a >= 0.5f; });
<xxl>
oops
<xxl>
^^ this is how I tried to invoke it
hkaiser has joined #ste||ar
<aserio>
hkaiser: was there any issues with hpx::parallel::copy_if in HPX 1.0?
<aserio>
xxl: I am assuming you are running HPX with more than one thread :p
<aserio>
brb
<xxl>
well, I'm probably missing something :)
<aserio>
xxl: how many threads are you using?
<aserio>
I am going to run get lunch... however I think in 1.0 hpx defaults to use 1 thread unless otherwise specified
<xxl>
how do I specify otherwise?
<hkaiser>
aserio: don't remember :/
<hkaiser>
xxl: add command line option : --hpx:threads=N
<hkaiser>
where N is the number of cores to use
<xxl>
right, I did try that at some point, got nearly the same performance
<hkaiser>
xxl: well, can you show us the full code you used?
<xxl>
of course
<xxl>
how should I upload it?
<xxl>
s/how/where/
<hkaiser>
pls paste it somewhere (gist.github.com or similar)
<xxl>
ok
<xxl>
I'm ashamed to admit I copied the fibonacci quickstart example and modified its function :P
<hkaiser>
xxl: how did you tell that it's running on one core only/
<hkaiser>
pls try again using this option, it should run on N cores once you do that
jaafar has joined #ste||ar
<xxl>
hkaiser: now it uses all cores (each utilized about halfway), but it's still about the same speed as std::copy_if and as the sequential_execution_policy
<xxl>
I tried two threads per core and there is a slight performance degradation
<xxl>
hkaiser: did you update copy_if between HPX 1.0 and master? Maybe I should build that?
<hkaiser>
xxl: ok, that makes more sense
<hkaiser>
xxl: I'm not sure on how good the implementation of copy_if actually is - it's a difficult algorithm to parallelize
<xxl>
I see
<hkaiser>
xxl: how large are the arrays you work with?
<xxl>
~100MB
<hkaiser>
that's sizable
<hkaiser>
you should see some speedup
<zao>
There's no unordered variant of copy_if, is there?
<hkaiser>
zao: what do you mean by 'unordered'?
<xxl>
hkaiser: that's why I find it weird that there is no speedup
<K-ballo>
unsequenced?
<zao>
Where the order of the results in the target sequence is unspecified, but all the elements that should be copied are copied.
<hkaiser>
xxl: are you running off a release build?
<hkaiser>
zao: ahh, no
<zao>
(this is assuming that the ordering of copy_if is a limiting factor at all)
<xxl>
hkaiser: I'm almost sure, I'll check
<xxl>
hkaiser: yup, CMAKE_BUILD_TYPE=Release
<hkaiser>
xxl: ok
<hkaiser>
feel free to create a ticket outlining the numbers you see - this does not seem right to me - may be a bug
<xxl>
hkaiser: I'll try master too first
<xxl>
are there any other build flags I may be missing?
diehlpk has joined #ste||ar
<hkaiser>
xxl: not really - do you use hwloc?
<xxl>
hkaiser: it's installed locally
<hkaiser>
k
<xxl>
hkaiser: I'm rebuilding right now. will let you know how it works on master
<hkaiser>
xxl: ok, thanks
<github>
[hpx] hkaiser created fixing_local_direct_actions (+1 new commit): https://git.io/vN84t
<github>
hpx/fixing_local_direct_actions 1dd0060 Hartmut Kaiser: Local execution of direct actions is now actually performed directly
aserio has quit [Ping timeout: 276 seconds]
<github>
[hpx] hkaiser opened pull request #3104: Local execution of direct actions is now actually performed directly (master...fixing_local_direct_actions) https://git.io/vN84W
diehlpk has quit [Ping timeout: 248 seconds]
aserio has joined #ste||ar
Smasher has joined #ste||ar
eschnett_ has joined #ste||ar
eschnett has quit [Ping timeout: 248 seconds]
patg[[w]] has joined #ste||ar
<patg[[w]]>
hkaiser: yt?
diehlpk has joined #ste||ar
<xxl>
hkaiser: I can confirm now. For 100MiB on master --- STL: 0.5s, hpx::seq: 0.5s (uses STL), hpx::par (1 thread): 0.58s, hpx::par (20 threads, 1 per core): 0.68s
<xxl>
hkaiser: I'm doing this for a paper btw, we were looking for parallel CPU implementations of copy_if and HPX came up :)
<xxl>
hkaiser: I'll open an issue asap
<heller_>
hkaiser: the problem is, that if all futures are ready, the use count drops to zero after resumer() returns
<heller_>
hkaiser: regarding direct actions: uhoh. Are you sure that's not just with the tcp parcelport
xxl is now known as xxl-
xxl has joined #ste||ar
xxl- has quit []
patg[[w]] has quit [Quit: Leaving]
jaafar has quit [Ping timeout: 276 seconds]
diehlpk has quit [Ping timeout: 255 seconds]
quantomb has joined #ste||ar
quaz0r has quit [Ping timeout: 252 seconds]
eschnett_ has quit [Quit: eschnett_]
quaz0r has joined #ste||ar
aserio has quit [Ping timeout: 256 seconds]
jaafar has joined #ste||ar
eschnett has joined #ste||ar
diehlpk has joined #ste||ar
mcopik has joined #ste||ar
xxl has quit [Read error: Connection reset by peer]
xxl has joined #ste||ar
hkaiser has quit [Quit: bye]
aserio has joined #ste||ar
Smasher has quit [Remote host closed the connection]
<parsa[[w]]>
K-ballo: what's the difference between =default and {} for a constructor?
parsa[[w]] is now known as parsa[w]
<K-ballo>
=default might result in constexpr, noexcept, trivial, and even delete
<parsa[w]>
why delete?
<K-ballo>
{} is is never trivial nor deleted, and is never implicitly constexpr nor noexcept