hkaiser changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar-group.org | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | This channel is logged: irclog.cct.lsu.edu
diehlpk has quit [Quit: Leaving.]
inertia has joined #ste||ar
K-ballo has quit [Quit: K-ballo]
diehlpk has joined #ste||ar
<diehlpk_work>
Finally, relying on C++20 or whatever HPX uses isn't exactly a feature in many cases. Modern C++ libraries like Boost are notoriously problematic with compilers other than Clang and GCC, and have historically not compiled with the IBM C++ compiler. On the other hand, Charm++ has been used in production with absolutely horrible vendor compilers for years, because NAMD needs to run on every HPC system.
<diehlpk_work>
One nice comment of a reviewer...
hkaiser has joined #ste||ar
<gonidelis[m]>
hkaiser: sheduler=dynamic hangs ;E
<hkaiser>
uhh
<hkaiser>
that's interesting - you might be the first person trying this, actually ;-)
<gonidelis[m]>
huh
<gonidelis[m]>
ok
<hkaiser>
gonidelis[m]: let's talk to ms[m] about this - he might know
<gonidelis[m]>
i thought the test would look into that... ok noted
<hkaiser>
he created this scheduler
<gonidelis[m]>
yeah
<gonidelis[m]>
now another thing is that you suggested tweaking the yield_delay to 10-100 usec
<hkaiser>
nod
<gonidelis[m]>
but this should be done along with the changing of chunk size?
<gonidelis[m]>
or are those independent?
<hkaiser>
no
<hkaiser>
those should be independent
<gonidelis[m]>
oh ok
<gonidelis[m]>
what about `stacksize`?
<hkaiser>
nah, that's irrelevant here
<gonidelis[m]>
ok final thing: ` std::size_t work = (1 * hpx::get_num_worker_threads());
<gonidelis[m]>
hpx::execution::static_chunk_size cs(width/work);` the code we wrote is like that
<gonidelis[m]>
that means that I change 1 -> 0.5 or 0.25 in order to double or quadraple the work given to each thread right?
<hkaiser>
no
<hkaiser>
width/work == 1 means every core gets one chunk
<hkaiser>
width/work == 2 means every core gets two pieces of work, etc.
<gonidelis[m]>
yeah... that's equivalent to what i am saying, no?
<gonidelis[m]>
1 is the multiplier of get_hpx_worker_threads
<hkaiser>
if that's what you were saying, then yes it's equivalent
<gonidelis[m]>
thanks :D
inertia is now known as inertia[away]
diehlpk has quit [Quit: Leaving.]
diehlpk has joined #ste||ar
diehlpk_work has quit [Remote host closed the connection]
inertia[away] is now known as inertia
inertia is now known as inertia[away]
diehlpk has quit [Quit: Leaving.]
hkaiser has quit [Quit: Bye!]
zao has quit [Ping timeout: 264 seconds]
<ms[m]>
gonidelis: do you have a reproducer?
<ms[m]>
diehlpk_work: that's a fair comment :P
<ms[m]>
I don't know whose words "relying on C++20" are but we should be careful not to say that, since hpx works fine with 17
zao has joined #ste||ar
Yorlik has joined #ste||ar
jehelset has quit [Remote host closed the connection]
jehelset has joined #ste||ar
Yorlik has quit [Ping timeout: 245 seconds]
Yorlik has joined #ste||ar
K-ballo has joined #ste||ar
Yorlik has quit [Ping timeout: 260 seconds]
Yorlik has joined #ste||ar
inertia[away] is now known as inertia
inertia is now known as inertia[away]
jehelset has quit [Remote host closed the connection]
hkaiser has joined #ste||ar
jehelset has joined #ste||ar
<gonidelis[m]>
ms:
<gonidelis[m]>
yeah
akheir has joined #ste||ar
diehlpk has joined #ste||ar
jehelset has quit [Ping timeout: 264 seconds]
nanmiao has joined #ste||ar
<gonidelis[m]>
hkaiser: see pm please
Yorlik has quit [Ping timeout: 264 seconds]
jehelset has joined #ste||ar
inertia[away] has quit [Ping timeout: 260 seconds]
<heller[m]>
hkaiser: ms : i guess Eric wants to talk about sender/receiver field experience. See the cpp slack channel