K-ballo 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/
nanmiao has joined #ste||ar
nanmiao has quit [Quit: Connection closed]
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Quit: bye]
diehlpk_work has quit [Ping timeout: 276 seconds]
mortenbirkelund has joined #ste||ar
mortenbirkelund has left #ste||ar ["Leaving"]
<gnikunj[m]> I just realized that we've overengineered Fibonacci to the core in hpx/examples
<ms[m]> srinivasyadav227, hkaiser, I can change the gcc 11 setup to do c++20
<ms[m]> it makes even more sense when we require c++17 support
<srinivasyadav227> <ms[m] "srinivasyadav227, hkaiser, I can"> yes, that could help a lot!
<ms[m]> srinivasyadav227: please cherry-pick this commit/apply the change on your branch: https://github.com/msimberg/hpx/commit/d12e58ecfbc0ccc07a4e91541f938d5e8b95bd47
<srinivasyadav227> ms: sure, thanks for this! ;-)
<ms[m]> since as you say the build is broken with c++20 I'm not going to merge that change separately, but it's better to have it changed together with your branch
<srinivasyadav227> ms: okay cool! ;-)
hkaiser has joined #ste||ar
<pedro_barbosa[m]> diehlpk_work: not sure if you noticed but I sent a link to a forum thread with what I was trying to do
<hkaiser> gnikunj[m]: haha, that's the point of this example ;-)
K-ballo has joined #ste||ar
<hkaiser> ms[m]: I would like to start making p443r13 executors available for everything in the API (i.e. as an alternative to the existing p443r3 executors)
<hkaiser> ms[m]: would you have some time at some point to talk about that?
<hkaiser> for that I was planning to reimplement/overload our executor CPOs (i.e. post, async_execute, etc.) for the new executors, does this sound like a valid aproach?
<ms[m]> hkaiser: free anytime (if you'd prefer a call), but yes, I think that'd be just fine
<ms[m]> there's not much to it (I think), one of the questions is if it should be done only for executors, or also schedulers (I think both can make sense)
<ms[m]> and all the bulk stuff is currently missing so I suppose you'd get post/async_execute/potentially then_execute actually customized and the rest would be synthesized
<ms[m]> execute is basically post, schedule doesn't have a direct equivalent
<ms[m]> schedule | transform | make_future is roughly async_execute
<hkaiser> ms[m]: nod, that's what I thought
<hkaiser> ms[m]: does when_all have a variant that takes a vector (in addition to the variadic version)?
<ms[m]> nope (i.e. not in p1897 so I haven't added it), but it would probably make sense
<hkaiser> ms[m]: might simplify creating the bulk versions
<ms[m]> yep
<mdiers[m]> hkaiser: Have you tested #5117 with release build? 😉
<hkaiser> mdiers[m]: yep, still no luck
<hkaiser> :/
<mdiers[m]> What environment/distribution are you using?
<srinivasyadav227> can anyone help me with this https://godbolt.org/z/9sG64Wfaq?
<hkaiser> mdiers[m]: windows
<hkaiser> srinivasyadav227: seems to work, what's your problem?
<srinivasyadav227> hkaiser: no, can you please uncomment line 20
<K-ballo> srinivasyadav227: why are you doing pp? :/
<K-ballo> pp operates on tokens, not expressions
<hkaiser> you need to convert the 1==1 into 0 or 1
<mdiers[m]> <hkaiser "mdiers: windows"> 🤣 I have only tested it under different linux variants (OpenSUSE, ubuntu 20.04, ...)
<K-ballo> won't work for literally the `==` token
<hkaiser> mdiers[m]: nod - I was thinking that you might run into stack overflows
<hkaiser> K-ballo: BOOST_PP_BOOL(1==1) should do the trick, no?
<K-ballo> no
<K-ballo> BOOST_PP_EQUAL(1, 1) would
<hkaiser> right
<hkaiser> nod
<srinivasyadav227> okay ;-)
<K-ballo> srinivasyadav227: why though? what are you actually trying to do
<srinivasyadav227> trying to solve this https://github.com/STEllAR-GROUP/hpx/pull/5319
<srinivasyadav227> so i need this `HPX_PP_NARGS(__VA_ARGS__) == 0` as 1 or 0
<K-ballo> so you don't actually need the `==` token at all then?
<srinivasyadav227> <srinivasyadav227 "so i need this `HPX_PP_NARGS(__V"> this is first argument to `HPX_PP_IF` macro, so here i need it right?
<K-ballo> bool(nargs) maps to 0 for 0 and 1 for all the rest
<K-ballo> the `==` token is a distraction
<srinivasyadav227> <K-ballo "bool(nargs) maps to 0 for 0 and "> oh,, thats helps a lot, can you give me reference to it?
<K-ballo> it's the bool.hpp link from above
<hkaiser> srinivasyadav227: just use identity, no need for the if
<srinivasyadav227> okay, something like first code from this https://github.com/STEllAR-GROUP/hpx/pull/5319#discussion_r628036163?
<hkaiser> yes
<srinivasyadav227> ok ;-), from past 3-4 hours im banging my head with macros, haha,, they are scary !!
<hkaiser> they are ... different - indeed
<K-ballo> you should forget everything you know about the language, and start thinking entirely in terms of token pasting
<K-ballo> or... if possible.. just don't do macros
<hkaiser> srinivasyadav227: the boost preprocessor library is a good resource for this kind of stuff
<srinivasyadav227> <hkaiser "srinivasyadav227: the boost prep"> yes, thanks very much, it just gave some nice idea how things are happening with macros!
<mdiers[m]> <hkaiser "mdiers: nod - I was thinking tha"> Can -fstack-protector help me? Or do you have another solution for me?
nanmiao has joined #ste||ar
<mdiers[m]> In my example, I don't see any place where there is particularly much on the stack.
<hkaiser> mdiers[m]: recursion and continuations can do that to you
diehlpk_work has joined #ste||ar
weilewei has joined #ste||ar
weilewei has quit [Quit: Ping timeout (120 seconds)]
weilewei has joined #ste||ar
<hkaiser> mdiers[m]: sorry, I'm back now
<hkaiser> mdiers[m]: to explain, HPX is prone to stack overflows as the HPX threads are run on a relatively small stack segment
<hkaiser> could you try adding --hpx:ini=hpx.stacks.small_size!=0x10000 (or larger, if needed) to your commend line?
<hkaiser> note, the value is hexadecimal
weilewei has quit [Quit: Connection closed]
<mdiers[m]> <hkaiser "could you try adding --hpx:ini=h"> I'm back now. Yes I test it on monday Thanks!
<srinivasyadav227> hkaiser: can you retest this please https://github.com/STEllAR-GROUP/hpx/pull/5319
<hkaiser> done
<srinivasyadav227> thanks ;-)
<pedro_barbosa[m]> is there a way to use nvprof with HPXCL?
<hkaiser> pedro_barbosa[m]: sure, it's a normal cuda application
<pedro_barbosa[m]> oh ok, just had to run it with sudo apparently
<pedro_barbosa[m]> by default the performance counters aren't available to non admin users
<gnikunj[m]> hkaiser: yt?
<hkaiser> gnikunj[m]: here
<gnikunj[m]> could you help me with my slides? I need some feedback
<gnikunj[m]> I'm confused if I should have more examples and explanations or if I should go towards executors and stuff (emailed you the slides)
<gnikunj[m]> (you can provide a feedback later down the day. I just want a 2nd opinion on it so that I can add stuff last minute)
<hkaiser> by when do you need that?
<gnikunj[m]> by evening today
<gnikunj[m]> so that I have a couple of hours to make changes
<hkaiser> gnikunj[m]: looks good, some conclusions might be in order, though
<gnikunj[m]> yeah, I'm working on those. It's a 1h talk that I wish to make interactive so I have less stuff on slides and want to discuss more through doubts and questions from the audience
<gnikunj[m]> hkaiser: should I add more examples/elaborate on explaining more?
<hkaiser> gnikunj[m]: I doubt you will have the tme for more
<gnikunj[m]> yeah, that's what I felt like too. Should I go ahead and make final cosmetic changes and be done with it then?
<hkaiser> nod, sounds like a good plan ;-)
<hkaiser> good luck!
<gnikunj[m]> thanks! I'll advertise the heck out of HPX :D
<gnikunj[m]> the greatest library everyone should be using!
<gonidelis[m]> gnikunj[m]: so you started working towards "the cause"
<gnikunj[m]> I've been working towards "the cause" before you joined the group ;)
<gonidelis[m]> namely, deliver HPX to the rookies
<gnikunj[m]> yes! This will be a mass advertisement this time around :D
<gonidelis[m]> that's great
<gonidelis[m]> !
jehelset has joined #ste||ar
nanmiao has quit [Quit: Connection closed]
nanmiao has joined #ste||ar
<gnikunj[m]> hkaiser: nice panel ;)
<K-ballo> panel on what?
<gonidelis[m]> K-ballo the future of boost
<K-ballo> oh
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar