hkaiser 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/
parsa[w] has joined #ste||ar
jaafar has quit [Ping timeout: 244 seconds]
parsa[w] has quit [Read error: Connection reset by peer]
parsa[w] has joined #ste||ar
nikunj has quit [Ping timeout: 250 seconds]
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Quit: bye]
quaz0r has quit [*.net *.split]
quaz0r has joined #ste||ar
jbjnr has joined #ste||ar
nikunj97 has joined #ste||ar
david_pfander has joined #ste||ar
<mdiers_> heller_: here the same of my workstation: https://i.imgur.com/BbT2G6J.png , you have a missing 1 GB on NUMAnode P#0 ;-)
<simbergm> hm, darned loop counters are a big slowdown
<simbergm> future overhead test is up to 25 % faster on 36 cores if I change the scheduling counters to be local variables
<simbergm> heller_, jbjnr ^
<jbjnr> yup
<jbjnr> those atomics are everywhere
<simbergm> not atomics actually
<jbjnr> sorry.
<simbergm> the counters are stored in vectors for all threads, so false sharing I suppose
<jbjnr> remind me which counters you are talking about
<simbergm> for example idle_loop_count
<jbjnr> ok. That's what I thought you menat. Thought they were atomics. I'm just confused due to old age.
<simbergm> that's ok
<jbjnr> I have a plan to get rid of all of those.
<jbjnr> (with the appropriate cmake flag)
<simbergm> what's the plan?
<simbergm> ok, well, we don't necessarily need to get rid of them
nikunj97 has quit [Ping timeout: 268 seconds]
<simbergm> just store them better
<jbjnr> it looks like a counter, but when turned off, it becomes a noop
<jbjnr> so each counter could be enabled/disabled without any ifdefs locally, just a template on/off
<jbjnr> I wanted to put them in other places too.
<jbjnr> but you are correct that just storing them in cache aligned places should be done anyway
<simbergm> ah, that's nice
<simbergm> but the idle and busy loop counters would be hard to turn off like that, they're pretty much mandatory to have around
<jbjnr> why mandatory? are they used by the scheduler for other things?
nikunj has joined #ste||ar
<simbergm> not strictly mandatory, but we need some sort of counter to decide when to run background tasks etc.
<simbergm> but that could be a local variable as well
<simbergm> hence only "pretty much mandatory"
<jbjnr> ok. got it
<heller_> simbergm: good thinking!
<heller_> There are lots of places with huge inefficiencies...
<simbergm> yep, one by one they shall be defeated...
<simbergm> perf c2c is pretty nifty btw, found it with that
<simbergm> hmm, I'll open an issue for that, maybe one of the gsoc applicants wants to fix it, shouldn't be that much work
<heller_> nice
<heller_> perf is a pretty powerful tool
<heller_> the UI is a total mess though
<simbergm> agreed
<simbergm> heller_: should we go ahead with #3498? (needs a rebase, but after that)
<jbjnr> simbergm: I always have HPX_HAVE_THREAD_IDLE_RATES + friends off, are there also loop counters that are not directly perf-counters that are a problem here. Which loop counters are the bad ones - I will volunteer have a look at them if you want.
<simbergm> I think the worst offenders in this case are idle_loop_count and busy_loop_count (note: idle rate is different)
<heller_> simbergm: yes, we should move on with that
<simbergm> I think those can both be queried as performance counters but they're used in the scheduling loop and would need local variables as a replacement if they're disabled
<simbergm> heller_: ok
<simbergm> jbjnr: ^
<simbergm> -> lunch
<jbjnr> ta. I will look into it as part of my ongoing cleaning up.
K-ballo has joined #ste||ar
nikunj97 has joined #ste||ar
nikunj has quit [Ping timeout: 250 seconds]
<simbergm> heller_: just rebased #3498
nikunj has joined #ste||ar
<heller_> you know what's cool?
nikunj97 has quit [Ping timeout: 245 seconds]
<simbergm> heller_ just tell us ;)
<heller_> simbergm: we now have access to a 46 core arm64 server
<heller_> qualcomm Centriq 2400 based
hkaiser has joined #ste||ar
parsa[w] has quit [Read error: Connection reset by peer]
aserio has joined #ste||ar
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
<simbergm> nice, is that also from packet?
<heller_> simbergm: yeah
<heller_> looks like they really mean it
<hkaiser> heller_: nice
<heller_> now, the gitlab runner plan seems to be moot
<hkaiser> so PRs from separate forks will not be tested?
<heller_> correct
<heller_> which is a showstopper
<hkaiser> :/
<hkaiser> can we leave the circleci stuff in place for those?
parsa[w] has joined #ste||ar
<heller_> probably, but that means that they will only get limited testing then
<hkaiser> shrug, better than nothing
<zao> Heh, I considered the problem of PRs from untrusted sources in my CI thing.
<zao> (circumvented the problem by having to explicitly declare what PRs to test)
hkaiser has quit [Quit: bye]
<jbjnr> in puycicle I should add a check that only PR's from 'approved' users are tested so that random people on the internet can't submit PRs with malicious code in
<heller_> yeah, that's an issue in general...
parsa[w] has quit [Read error: Connection reset by peer]
parsa[w] has joined #ste||ar
parsa[w] has quit [Read error: Connection reset by peer]
parsa[w] has joined #ste||ar
parsa[w] has quit [Read error: Connection reset by peer]
parsa[w] has joined #ste||ar
jaafar has joined #ste||ar
hkaiser has joined #ste||ar
jaafar has quit [Ping timeout: 250 seconds]
aserio has quit [Ping timeout: 260 seconds]
david_pfander has quit [Ping timeout: 244 seconds]
aserio has joined #ste||ar
aserio has quit [Ping timeout: 246 seconds]
aserio has joined #ste||ar
jaafar has joined #ste||ar
aserio1 has joined #ste||ar
aserio1 has quit [Client Quit]
aserio has quit [Ping timeout: 252 seconds]
Vir has quit [Ping timeout: 264 seconds]
nikunj has quit [Read error: Connection reset by peer]
hkaiser has quit [Quit: bye]
K-ballo has quit [Quit: K-ballo]
K-ballo has joined #ste||ar
hkaiser has joined #ste||ar
parsa[w] has quit [Read error: Connection reset by peer]
parsa[w] has joined #ste||ar