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/ | GSoD: https://developers.google.com/season-of-docs/
Coldblackice_ has joined #ste||ar
Coldblackice has quit [Ping timeout: 240 seconds]
jaafar has quit [Quit: Konversation terminated!]
jaafar has joined #ste||ar
Coldblackice_ is now known as Coldblackice
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Ping timeout: 250 seconds]
Coldblackice has quit [Ping timeout: 250 seconds]
Coldblackice has joined #ste||ar
hkaiser has joined #ste||ar
hkaiser has quit [Ping timeout: 250 seconds]
Amy has joined #ste||ar
Amy is now known as Guest70891
Guest70891 has quit [Ping timeout: 265 seconds]
Guest70891 has joined #ste||ar
Guest70891 has quit [Ping timeout: 250 seconds]
Guest70891 has joined #ste||ar
jbjnr_ has joined #ste||ar
mdiers_ has joined #ste||ar
Guest70891 has quit [Ping timeout: 268 seconds]
Guest70891 has joined #ste||ar
Guest70891 has quit [Ping timeout: 268 seconds]
mdiers_1 has joined #ste||ar
mdiers_1 has quit [Read error: Connection reset by peer]
Guest70891 has joined #ste||ar
mdiers_ has quit [Ping timeout: 276 seconds]
Guest70891 has quit [Ping timeout: 265 seconds]
Guest70891 has joined #ste||ar
mdiers_ has joined #ste||ar
Guest70891 has quit [Ping timeout: 268 seconds]
Guest70891 has joined #ste||ar
<jbjnr> heller: if you have a spare moment, could yuo put your task_data future backing for mpi into a gist please. I'd like to possible replace my use of promise with that if it has any advantages. (Either way, I'm curious to see what you did because I can't remember now).
<jbjnr_> \quit
jbjnr_ has quit [Quit: WeeChat 2.6]
Coldblackice_ has joined #ste||ar
Coldblackice has quit [Ping timeout: 250 seconds]
<jbjnr> Thanks
<jbjnr> aha. that line "return future_access<hpx::future<void>>::create(std::move(data));" that's what I needed. thank you very much.
Guest70891 has quit [Ping timeout: 276 seconds]
Guest70891 has joined #ste||ar
rori has joined #ste||ar
<heller> simbergm: is merging PRs blocked now?
<simbergm> heller: no, why?
<heller> since the daint builders are messed up
<simbergm> ah, well, wait until the evening
<simbergm> we can also launch a few builds on rostam if you want something merged quickly
<heller> I am in no hurry ;)
<heller> simbergm: what was the general reaction on my talk in zuerich last friday?
<heller> and also, what do you think?
<simbergm> heller: good, I'd rather wait than break master
<simbergm> some were concerned about your virtual function calls :P but I said that wasn't really the main point of your talk, the implementation can still change
<simbergm> in general they really like the direction
<simbergm> I like it too
<simbergm> I'm a bit concerned about how it'll all come together with our "standard compliance" considering things are so much in flux but that's a risk we can't really avoid
Guest70891 has quit [Ping timeout: 268 seconds]
Guest70891 has joined #ste||ar
<heller> simbergm: the standard compliance storry won't change
<heller> simbergm: we are in the realm of standard extensions there. And everything will be in line with P0443
<heller> simbergm: sure, virtual functions, you won't have those in your hot path, hopefully ;)
<heller> and if you do, hope that the branch predictor works
<heller> simbergm: the goal now is to have the first standards compliance implementation of P0443 with the goal of allowing those user defined extensions
<heller> and eventually get rid of the fragmented landscape that you already seem to have at cscs ;0
<heller> ;)
weilewei has quit [Remote host closed the connection]
<simbergm> heller: sounds good :) note that my concern mainly comes from not knowing well enough how much concensus there is in the committee on these things, but if it's all in line with what's going in that's great
<simbergm> heller, jbjnr what do you think about #4142... should I go ahead and rename the old thread_pool_executor to embedded_thread_pool_executor? they are in principle in our public api, but they'd usually be used through the <scheduler_name>_executor typedef
<jbjnr> simbergm: I do not believe anyone is using the mebedded schedulers and if they are, they must be an advanced user and will know what to change once they discover their code is broken
<heller> simbergm: I'd say we need to clean up the executors significantly
<jbjnr> +++++11111
<heller> and that's just dealing with the symptoms...
<simbergm> I'd agree
<heller> so i really don't care that much right now ;)
<simbergm> most of the executors are using the very old interface with add/add_after etc.
<simbergm> deprecating them in the next release might be a good idea
<simbergm> so that we can finally get rid of them
<jbjnr> feel free to remove it all
<jbjnr> :)
<jbjnr> do we have a simple lockfree list in hpx?
<jbjnr> not a dequeue or a queue or a stack, but just a list?
<heller> jbjnr: no, we don't have anything like that
<simbergm> jbjnr: what does a stack or queue do that you don't want from a list?
<jbjnr> a list should allow removal of items from the middle
<jbjnr> it's not a big deal, just to make the code a bit nicer
K-ballo has joined #ste||ar
<simbergm> ok, i see
<simbergm> heller: gcc-newest is okay again #4125, must've been a temporary filesystem problem or something
<simbergm> I think we can merge it now
<heller> go ahead ;)
hkaiser has joined #ste||ar
tianyi93 has quit [Ping timeout: 245 seconds]
hkaiser has quit [Ping timeout: 250 seconds]
<simbergm> hkaiser, heller: I'm having problems with the launch_process_test on #4091
<simbergm> do you have any educated guesses what I might've broken to make that happen?
<simbergm> I think all the other tests pass now
<simbergm> does that test use anything that's not used elsewhere?
<heller> simbergm: this one should only work with a distributed runtime
<heller> simbergm: it also requires that the spawning runtime accepts incoming connections
<simbergm> heller: yeah, this is all with the distributed one
hkaiser has joined #ste||ar
<heller> simbergm: so i'd check if connecting localities is still working
<heller> simbergm: https://github.com/STEllAR-GROUP/hpx/tree/master/examples/pipeline <-- check this for example
<simbergm> heller: thanks for the hints, that might be it
<hkaiser> guys, what is the default -std=c++ mode for clang gcc if nothing is specified?
<zao> Depends on version.
<hkaiser> we're seeing a significant performance difference between no mode and c++17 explicitly specified
<hkaiser> need to look at what version, actually
<hkaiser> c++17 is slower
<zao> GCC 7 and 8 defaults to gnu++14, according to documentation.
<zao> As do 6.
<zao> (also 9)
<hkaiser> ok, thanks
<zao> Harder to tell with Clang, but I see news that Clang 6 changed their default to C++14.
<heller> which gcc version?
<hkaiser> heller: will check, need to ask
<hkaiser> I _think_ it's clang 7
Guest70891 has quit [Ping timeout: 268 seconds]
Guest70891 has joined #ste||ar
heller has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
heller has joined #ste||ar
hkaiser has quit [Quit: bye]
weilewei has joined #ste||ar
diehlpk_work has joined #ste||ar
hkaiser has joined #ste||ar
<hkaiser> heller: clang 8.0
<heller> hmmm
<jaafar> dataflow() question:
<jaafar> The launch policy argument tells how to run the continuation relative to the last supplied input
<jaafar> what if I want to be launched differently depending on which input it is? Is there some way to accomplish this?
<jaafar> e.g. I have two dependencies A and B
<jaafar> If A appears last I want to be run synchronously, so the continuation executes on the same core and the cache is warm
<jaafar> If B, async is fine
aserio has joined #ste||ar
<jaafar> dataflow(launch::sync, f, A, B) runs synchronously regardless of whether A or B arrives last, and similar if it were launch::async
<jaafar> Would be nice to be able to distinguish
<hkaiser> jaafar: so you want to use sunc if A arrives first, but async if B arrives first?
<hkaiser> sync*
<hkaiser> there is no way to distinguish that, atm
<jaafar> hkaiser: I would say "last" instead of "first" but yes
<jaafar> the application here is that I know that the supplier of A will have other data I need warm in the cache
<jaafar> so very helpful for it to simply start executing my continuation
<jbjnr> I could almost do it with my guided executor, but it'd need some adjustments I think
<jbjnr> jaafar: if you had a simple test case that demonstrated a gain from cache re-use - I'd take a look at it.
<jaafar> OK thanks jbjnr I will see what I can do
<jbjnr> I was pondering the semantics of how to do this just recently (not quite the same, cos it wasn't a dataflow example)
<jbjnr> the guided executor delays the scheduling of continuations until the input tasks have completed, so it is ideal for this, but I wanted a policy like launch::cache or something
<jbjnr> but ideally it would be an 'if you can' rather than 'you must' because if we interfere with scheduling too much then we suffer from losing stealing etc
<jaafar> yep
<jbjnr> there should be a cost function ideally
<jaafar> exclusive scan shows strong signs of being dominated by cache misses
<jaafar> and it makes two passes
<jaafar> a given chunk is visited twice
<jaafar> My hypothesis is we'd see a speedup if the two passes were close in time and on the same core
<jaafar> for a given chunk
<jbjnr> ok, that ought to be quite testable
<jbjnr> (naturally I have my own implementation of scan)
<jbjnr> :)
<weilewei> jbjnr I am rebasing your branch of DCA and get this build error. Do you have any suggestion? https://gist.github.com/weilewei/a9ab13454eaa96db1d4e42d3fe25514d
<jbjnr> weilewei: looks like some cruft introduced by the new modularization - simbergm might know the right fix, but it looks as though a dependency is missing. is there a module with a name close to agas/logging that can be added
<jbjnr> bbiab
<weilewei> jbjnr not sure about what module should be added, but ideally, the mpi_concurrency_test is independant from hpx, not sure why hpx is involved
<weilewei> HPX_WITH_LOGGING:BOOL?
<jbjnr> weilewei: it wants to link in hpx::util::logging - if it doesn't use HPX (I've forgotten that test, so I need to look more closely) - then why is HPX being included at all - check the includes and the cmake too
<jbjnr> hkaiser or aserio : my calendar just popped up a reminder about an OB meeting, is it happening or a cancelled one
<jbjnr> weilewei: if I recall right - the DCA++hpx stuff sets a #define to override the threading so that the tests run on hpx threads without the user doing anything - this is going to trigger the pulling in of everything
mbremer has joined #ste||ar
<jbjnr> but probably we now need to add a dependency to the logging stuff. HPX_WITH_LOGGING OFF might be worth a try
<weilewei> you use a macro DCA_LOG to log things in mpi concurrency tests
<jbjnr> weilewei: no. that's just a custom debugging dump that I added, it's safe
<jbjnr> it just used std::cout to dump messages
<jbjnr> ^uses
<jbjnr> doesn't depend on agas::logging
<weilewei> jbjnr ok, I see, I will try build hpx with HPX_WITH_LOGGING OFF
<jbjnr> jaafar: the latest work on my scheduler has two thread scheduling options one is round_robin the other is thread_parent
<jbjnr> when thread_parent is used a new thread is scheduled on the same core the parent thread ran on
<aserio> jbjnr: We switched these meetings to be bi-weekly
<aserio> jbjnr: the next meeting is scheduled for October 28th
<jbjnr> but it is done at the executor level rather than the task level, so a schedulehint needs to be generated in the dataflow continuation
<jbjnr> aserio: thanks
<jbjnr> will add to calendar
<jbjnr> weilewei: when is next dca video meeting
<jbjnr> ?
<weilewei> jbjnr next Monday 10/28, 11:00 AM Eastern Time
<jbjnr> hmmm. I'm away on 28th actually
<jbjnr> ^^arrghh. both meetings!
<jbjnr> weilewei: when you finish today, push what you've done to a new weilewei-hpx branch and tomorrow I'll try building dca with hpx from it and see if I can fix anything you haven't fnished
<weilewei> jbjnr Thanks! I will let you know once I finish and push all the changes
<jbjnr> ok. but send me an email, cos once I get home, I can't log into this machine and see mesages any more (must fix that)
<weilewei> jbjnr sure, I found your cscs email on my email, so I will send you an email about everything
<jbjnr> ta
<weilewei> welcome :-)
<zao> You do have the logs in the channel topic, when really desperate?
<jbjnr> I know, but I never remember any more to check them. we use slack for everything here and I forget IRC exists most of the time now
Guest70891 has quit [Ping timeout: 265 seconds]
Guest70891 has joined #ste||ar
aserio has quit [Quit: aserio]
<weilewei> jbjnr after applying HPX_WITH_LOGGING OFF, I did not see the logging error but got a linking error
<weilewei> [ 55%] Linking CXX executable mpi_concurrency_testCMakeFiles/mpi_concurrency_test.dir/mpi_concurrency_test.cpp.o:(.data+0x0): undefined reference to hpx::hpx_check_version_1u_4u' CMakeFiles/mpi_concurrency_test.dir/mpi_concurrency_test.cpp.o:(.data+0x8): undefined reference to hpx::hpx_check_boost_version_106800'
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
<hkaiser> weilewei: as said before, while this application is compiled against hpx headers, it is not linked against hpx
<hkaiser> not sure why it's including hpx in the first place, however
<weilewei> hkaiser hmm, but you said you can compile successfully on your windows machine?
<hkaiser> well, apparently I didn't have hpx enabled in my build, sorry
<weilewei> oh, no worry
<weilewei> The way I build dca w/ hpx for jbjnr branch is
<weilewei> cmake -C ../build-aux/summit.cmake -DDCA_WITH_TESTS_FAST=ON -DCMAKE_BUILD_TYPE=Debug -DHPX_DIR=/gpfs/alpine/proj-shared/cph102/weile/dev/install/hpx_hwloc_Debug/lib64/cmake/HPX/ -DDCA_WITH_TESTS_EXTENSIVE=ON -DDCA_WITH_HPX=ON -DDCA_HAVE_HPX=TRUE ..
<hkaiser> k
<weilewei> I think I will send a wrap-up email to John as he said he will look into it tmr, will cc you
bibek has quit [Quit: Konversation terminated!]
bibek has joined #ste||ar
bibek has quit [Quit: Konversation terminated!]
bibek has joined #ste||ar
nikunj has joined #ste||ar
rori has quit [Quit: WeeChat 1.9.1]
nikunj has quit [Quit: Bye]
nikunj has joined #ste||ar
bibek has quit [Quit: Konversation terminated!]
bibek has joined #ste||ar
bibek has quit [Quit: Konversation terminated!]
_bibek_ has joined #ste||ar
nikunj has quit [Remote host closed the connection]
<jaafar> jbjnr: just noted your comment about having your own scan algorithms :) Do you have a branch I can try?
* jaafar has a Google Benchmark setup
_bibek_ has quit [Quit: Konversation terminated!]
_bibek_ has joined #ste||ar
_bibek_ has quit [Client Quit]
_bibek_ has joined #ste||ar
_bibek_ has quit [Quit: Konversation terminated!]
_bibek_ has joined #ste||ar
nikunj has joined #ste||ar
_bibek_ has quit [Quit: Konversation terminated!]
_bibek_ has joined #ste||ar
_bibek_ has quit [Client Quit]
_bibek_ has joined #ste||ar
_bibek_ has quit [Client Quit]
bibek has joined #ste||ar
bibek has quit [Read error: Connection reset by peer]
bibek has joined #ste||ar
bibek has quit [Quit: Konversation terminated!]
bibek has joined #ste||ar
bibek has quit [Quit: Konversation terminated!]
bibek has joined #ste||ar
bibek has quit [Client Quit]
bibek has joined #ste||ar
bibek has quit [Read error: Connection reset by peer]
bibek has joined #ste||ar
bibek has quit [Client Quit]
bibek has joined #ste||ar
bibek has quit [Quit: Konversation terminated!]
bibek has joined #ste||ar
hkaiser has quit [Quit: bye]
Guest70891 has quit [Read error: Connection reset by peer]
Guest70891 has joined #ste||ar
bibek has quit [Quit: Konversation terminated!]
bibek has joined #ste||ar
bibek has quit [Quit: Konversation terminated!]
bibek has joined #ste||ar
bibek has quit [Client Quit]
bibek has joined #ste||ar
Coldblackice has joined #ste||ar
hkaiser has joined #ste||ar
Coldblackice_ has quit [Ping timeout: 268 seconds]
bibek has quit [Read error: Connection reset by peer]
_bibek_ has joined #ste||ar
_bibek_ has quit [Read error: Connection reset by peer]
bibek has joined #ste||ar
K-ballo has quit [Quit: K-ballo]
K-ballo has joined #ste||ar
bibek has quit [Read error: Connection reset by peer]
bibek has joined #ste||ar
bibek has quit [Quit: Konversation terminated!]
bibek has joined #ste||ar
bibek has quit [Quit: Konversation terminated!]
bibek has joined #ste||ar
bibek has quit [Read error: Connection reset by peer]
_bibek_ has joined #ste||ar
_bibek_ has quit [Client Quit]
_bibek_ has joined #ste||ar
_bibek_ has quit [Client Quit]
_bibek_ has joined #ste||ar
mbremer has left #ste||ar [#ste||ar]