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/
EverYoun_ has quit [Ping timeout: 246 seconds]
diehlpk has quit [Ping timeout: 246 seconds]
EverYoung has joined #ste||ar
EverYoung has quit [Remote host closed the connection]
EverYoung has joined #ste||ar
diehlpk has joined #ste||ar
aserio has joined #ste||ar
jaafar_ has joined #ste||ar
<aserio> hkaiser: yt?
<hkaiser> aserio: hey
<hkaiser> wazzup?
<aserio> hkaiser: lol, I have a question about serialize buffer
<hkaiser> sure
<aserio> if I print out &buffer and &vector (the vector that I created it from and reference to)
<aserio> should it print the same address?
<hkaiser> no
<aserio> why?
<hkaiser> it should print the same if you print v.data() and sb.data()
<aserio> ahhh they are strucs
<aserio> structs*
<hkaiser> yes
jaafar has quit [Ping timeout: 260 seconds]
diehlpk has quit [Ping timeout: 240 seconds]
<aserio> hkaiser: ok, my buffer is not pointing to the right place
<aserio> would you have any suggestions to go about trouble shooting this?
<hkaiser> use gdb and go step bystep through the code looking at all values
<hkaiser> but we can look at it tomorrow together
<aserio> ok, I will also look to see if I am initializing the constructor properly
eschnett has joined #ste||ar
EverYoung has quit [Ping timeout: 246 seconds]
hkaiser has quit [Quit: bye]
aserio has quit [Quit: aserio]
<github> [hpx] K-ballo force-pushed throw_with_info from 3790289 to cec67fe: https://git.io/vHKTJ
<github> hpx/throw_with_info cec67fe Agustin K-ballo Berge: (draft) exception_info implementation (P0640)
K-ballo has quit [Quit: K-ballo]
pree has joined #ste||ar
jaafar_ has quit [Ping timeout: 246 seconds]
<pree> I like to implement a look_up map for cyclic distribution policy. whether I have to go for std::unordered_map or std::map. In my case I'm only inserting and looking up elements, so i preferred unordered map. Could you please add some suggestions ?
<pree> Thank
<pree> * thank u all
<pree> As the no:of:elements in unordered_map = no:of:localities assigned to the distribution policy. I hope that it will not tends to linear complexity
<pree> So we can keep it in constant-time lookup's !
Matombo has joined #ste||ar
<zao> pree: Unless you need the ordered traversal or have cheap op<, a std::map is seldom better than a std::unordered_map.
<zao> It's seldom that you end up running into costly hash functions (as those are evaluated once per lookup), or costly equality tests.
<zao> It's possible that you may have data that lends itself poorly to hashing tho, so horrible cases may occur.
<zao> Worst thing about unordered_map tends to be to compute hashes for non-trivial keys :)
<pree> But having a logarithmic look-up in this case may be tradeoff
<pree> Is there any way to ensure that the lookup does not tends to linear one ? @ zao
shoshijak has joined #ste||ar
mcopik has quit [Ping timeout: 255 seconds]
Matombo has quit [Remote host closed the connection]
<heller_> jbjnr: yt?
<jbjnr> here
<heller_> jbjnr: as the primary contact, should I insert me or you?
<jbjnr> I was told it's better if CSCS are not the team leaders, but for contacts ... not sure. you chosse.
<heller_> GPU hackathon that is
<heller_> ok, then I'll put me first ;)
<jbjnr> understood
david_pfander has joined #ste||ar
<zao> pree: In some cases, linear scans in vectors "so called flat maps"might be valuable too.
<pree> zao wait! I running with some test cases in rostam I will tell you!
<zao> I'm in meetings all day, so have fun :)
<pree> It seems that un_map is okay for my task :)
<pree> for test-case un_map takes 12.6 sec for overall lookup but map takes 51.23 sec .
<zao> jbjnr: Had anything to do with Dan Still?
<jbjnr> not that I recall
<zao> Ok, project lead of the nordic cloud thingiemabob project I'm doing now.
<zao> jbjnr: Got the feeling that you know everyone :)
<jbjnr> not this time!
<jbjnr> heller_or zao : what would be a good reference for futures? (citation I mean)
<zao> from __future__ import citation
<zao> (no idea)
<zao> You people clearly need to publish more :)
<heller_> jbjnr: give me a second
<jbjnr> wow 1977, though the title of the paper doesn't really tell you much!
<jbjnr> thanks
pree has quit [Ping timeout: 240 seconds]
bikineev has joined #ste||ar
pree has joined #ste||ar
shoshijak has quit [Ping timeout: 255 seconds]
bikineev has quit [Remote host closed the connection]
Matombo has joined #ste||ar
shoshijak has joined #ste||ar
K-ballo has joined #ste||ar
Matombo has quit [Remote host closed the connection]
bikineev has joined #ste||ar
<heller_> jbjnr: yeah, the title doesn't tell you much, the idea of futures is very old
hkaiser has joined #ste||ar
<jbjnr> is the chunking in hpx serialization taken from the boost serialization or is it special to HPX? does any other library use that technique?
<hkaiser> jbjnr: hpx specific
<jbjnr> thanks
<jbjnr> has it ever been writtten about before?
<hkaiser> jbjnr: the idea of zero-copy is not new, though
<hkaiser> I have not seen it applied for serialization purposes elsewhere
<heller_> there are probably papers about using it within MPI
<jbjnr> does voost::mpi use anything like that?
<jbjnr> ^boost
<heller_> our innovation is to apply it to high level datastructures and RPC
<heller_> jbjnr: no
<hkaiser> jbjnr: hmm, good point, we need to look
<hkaiser> I know they have built some special serialization support for mpi
<heller_> yes, for bitwise copy
<hkaiser> but it could be that they just directly map onto mpi data types
<heller_> but not for zero copy, as far as a I am aware
<hkaiser> right
<jbjnr> I've used the serialization a lot - and even extended it - but I am still not 100% certain what the index chunk really does. It marks the end of a normal blob of streamed data, is that all?
<hkaiser> jbjnr: you can't zero-copy all of the data
<jbjnr> yes I know
<hkaiser> so you collect chunks of zero-copy data and the rest which is put sequentially into the archive as normal
<jbjnr> so it just is used to mark the end of a blob then
<hkaiser> the index chunks mark the boundaries between zero-copy and non-zero-copy chunks
<jbjnr> yup
<jbjnr> ok ta
<hkaiser> that allows to logically re-insert the zero-copy chunks into the de-serialization stream
<github> [hpx] sithhell created fixing_2682 (+1 new commit): https://git.io/vHK76
<github> hpx/fixing_2682 0ef51f0 Thomas Heller: Allowing throttling scheduler to be used without idle backoff...
<github> [hpx] sithhell force-pushed fixing_2682 from 0ef51f0 to 0def9d4: https://git.io/vHK7X
<github> hpx/fixing_2682 0def9d4 Thomas Heller: Allowing throttling scheduler to be used without idle backoff...
<github> [hpx] sithhell opened pull request #2686: Allowing throttling scheduler to be used without idle backoff (master...fixing_2682) https://git.io/vHK7y
<github> [hpx] hkaiser pushed 1 new commit to master: https://git.io/vHK5z
<github> hpx/master bb7ab04 Hartmut Kaiser: Merge pull request #2619 from STEllAR-GROUP/lf_multiple_parcels...
<github> [hpx] hkaiser closed pull request #2680: Fix bad size during archive creation (master...fixing_2679) https://git.io/vHwFJ
bikineev has quit [Ping timeout: 240 seconds]
<heller_> david_pfander: yt?
<david_pfander> heller_: yes
<heller_> david_pfander: will you send a text about the GPU hackathon?
<david_pfander> heller_: planned to do that later today
<heller_> ok
<heller_> then I'll wait ;)
<heller_> thanks
<heller_> hkaiser: where is the difference between `new value_type` and `new value_type()`
<heller_> if there even is any
<K-ballo> default vs value init, for trivially constructible types one leaves whatever garbage the memory has, the other zero-fills
<K-ballo> for non trivially constructible types, no distinction
<heller_> thanks
<zao> Can we start abusing `new T{}` yet?
<K-ballo> sure, same as new T() though
<zao> No sneaky rules around init-lists or something gnarly like that?
<zao> (wouldn't surprise me if there were :D)
<K-ballo> mmh, there are sneaky rules to guarantee {} calls a default constructor and not a list constructor
<K-ballo> however, it's possible that in a class with no default constructor {} calls a list constructor while () does not, would have to check
<heller_> {...} was really a mistake...
<zao> {}...
<heller_> I heard you like reviews, so I am reviewing PRs during a review, yay
<zao> Would you like to give a review on the Outcome review summary? :)
<K-ballo> unicorn initialization was the worst (and most breaking) change ever
<K-ballo> just yesterday it was found to break havoc with class template argument deduction
<hkaiser> brilliant
<zao> Random question, would S(T&&) work for T=void? :)
<hkaiser> hey, it's uniform
<zao> And can you initializer_list<void>? :)
<zao> I have no idea how newfangled C++ works.
<K-ballo> no, void is no object type
<K-ballo> no references to void, no arrays of voids
<zao> Aaw. Had hopes that the whole return void thing in a template context would've gotten some sneaky extensions.
<K-ballo> the regular void proposal? not accepted yet, still moving forward
<zao> Ooh, proposals for it. Neato.
hkaiser has quit [Quit: bye]
josef_k has joined #ste||ar
eschnett has quit [Quit: eschnett]
jakemp has joined #ste||ar
aserio has joined #ste||ar
bikineev has joined #ste||ar
<bikineev> jbjnr: Hi John!
<jbjnr> hi
<bikineev> I'll have time to respond you later today
<bikineev> ~ in 4 hours
<jbjnr> I've got it running -apart from thrift, but the hpx test needs a better fix. Just trying to getit build in the qtcreator debugger
<jbjnr> so I can see where the segfault happens (or whatever). I already know what's wrong, but a fix would benefit from the debugger
<bikineev> last time I checked it - it worked fine for me
<jbjnr> I removed hartmut's fix though
<jbjnr> it breaks other stuff
<jbjnr> but if you get time later to do/send better graphs, please do (bigger text)
eschnett has joined #ste||ar
<bikineev> these are the results that I had last time
<jbjnr> didn't you say it had got worse?
<bikineev> no
<jbjnr> ok. If you get time, pleae turn those nmbers into a graph and send it to me - thanks
<jbjnr> (two graphs, I suppose)
<bikineev> these are good results. Those in the github page were created by other guys (working on a different serialization library)
<jbjnr> ok
<jbjnr> if you could send me the text output, then I'll make graphs. thanks
<bikineev> jbjnr: okay
<bikineev> I'll run tests with newer hpx later today
hkaiser has joined #ste||ar
bikineev has quit [Ping timeout: 268 seconds]
bikineev has joined #ste||ar
<github> [hpx] hkaiser pushed 1 new commit to uninitialized_move: https://git.io/vH63B
<github> hpx/uninitialized_move 3e800a4 Hartmut Kaiser: Consistently using addressof()
bikineev has quit [Ping timeout: 240 seconds]
heller_ has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
heller_ has joined #ste||ar
josef_k has quit [Ping timeout: 240 seconds]
<wash[m]> aserio: I don't think I can make the call today, got a scheduling conflict
<wash[m]> aserio: may be worth mentioning to hkaiser that I am giving a 10 min presentation at NERSC today about our gb runs
<hkaiser> wash[m]: cool
<hkaiser> wash[m]: to what end? just informational?
<aserio> wash[m]: ok :)
<wash[m]> Yah
<wash[m]> hkaiser: I believe they just want to understand what we are doing
<wash[m]> Hkaiser: also, our experience on cori (what went well, what didn't go well)
<hkaiser> nod, ok
hkaiser has quit [Quit: bye]
<github> [hpx] hkaiser pushed 1 new commit to master: https://git.io/vH6n1
<github> hpx/master ad575fd Hartmut Kaiser: Adding closed tickets to docs
hkaiser has joined #ste||ar
vamatya has joined #ste||ar
bikineev has joined #ste||ar
hkaiser has quit [Quit: bye]
jaafar_ has joined #ste||ar
hkaiser has joined #ste||ar
shoshijak has quit [Ping timeout: 255 seconds]
david_pfander has quit [Ping timeout: 245 seconds]
zahra123 has quit [Quit: Leaving]
bikineev has quit [Ping timeout: 240 seconds]
<github> [hpx] K-ballo force-pushed throw_with_info from cec67fe to 9025c0d: https://git.io/vHKTJ
<github> hpx/throw_with_info 9025c0d Agustin K-ballo Berge: (draft) exception_info implementation (P0640)
<hkaiser> wash[m]: yt?
<hkaiser> wash: ^^
<wash[m]> hkaiser: back now
<hkaiser> wash[m]: do you have the sources for the figure in the bell paper showing the 2d stencil futurization?
<wash[m]> Yah, want it in the repo or emailed?
<hkaiser> emailed is fine
<hkaiser> thanks!
<wash[m]> Will take a little bit, walking to work
<hkaiser> sure, np
aserio has quit [Ping timeout: 258 seconds]
bikineev has joined #ste||ar
denis_blank has joined #ste||ar
david_pf_ has joined #ste||ar
EverYoung has joined #ste||ar
EverYoung has quit [Remote host closed the connection]
EverYoung has joined #ste||ar
shoshijak has joined #ste||ar
david_pf_ has quit [Ping timeout: 246 seconds]
<github> [hpx] hkaiser pushed 1 new commit to master: https://git.io/vH6KA
<github> hpx/master f8e4b2f Hartmut Kaiser: Fixing a name of a configuration constant
aserio has joined #ste||ar
hkaiser has quit [Quit: bye]
bikineev has quit [Remote host closed the connection]
bikineev has joined #ste||ar
david_pf_ has joined #ste||ar
<github> [hpx] Naios opened pull request #2687: Add an is_tuple_like trait for sequenceable type detection (master...is_tuple_like) https://git.io/vH6D0
aserio has quit [Ping timeout: 246 seconds]
atrantan has joined #ste||ar
atrantan has quit [Client Quit]
<diehlpk_work> const double operator [] (const size_t i){
<K-ballo> that's an odd line
<diehlpk_work> Ok, why?
<diehlpk_work> I try to understand some code
<K-ballo> the return type isn't const, no matter how hard whoever wrote that wants it
<K-ballo> and while the return type is marked const (it isn't), and the parameter is marked const, somehow the member function itself isn't?
<diehlpk_work> Ok, I found a code snippet I try to understand
aserio has joined #ste||ar
<wash> aserio: Ping
<aserio> hey
<wash> aserio: Do you have a one-slide overview for HPX somewhere?
<wash> aserio: NERSC wants me to give a 15 minute briefing on our GB push this year.
<wash> And when it comes to HPX I am not known for brevity :)
<aserio> wash: one on Hartmut's slides should definitely have it
<wash[m]> Any idea which slide deck?
<wash[m]> aserio: also, I know somewhere I have a link to the video from the octotiger demo at SC last year, can you point me to it?
<wash[m]> Or perhaps it was 2 years ago
bikineev has quit [Remote host closed the connection]
<wash[m]> Thanks
<aserio> wash[m]: I don't remember a link to the video....
<aserio> was it a youtube link?
<wash[m]> May have been, I can probably find it
<wash[m]> Aserio last question: I need the stellar logo with white text, black background
<wash[m]> I can modify the one I have, but I don't have the source file so it won't be optimal quality wise
<wash[m]> You are the best
<aserio> sorry
<aserio> you want the png
<aserio> :) thanks!
<wash[m]> Thanks
<wash[m]> I think the video was a YouTube link
<wash[m]> aserio: any clue what YouTube account that might be?
<aserio> I don't remember
david_pf_ has quit [Ping timeout: 240 seconds]
<wash[m]> aserio: found it, in am OB mail labelled movie file
<aserio> in an OB email?
<wash[m]> Operation Bell
<aserio> IK that, why would a video from two years ago be in an OB email....
<wash[m]> Dominic sent to Alice as an example of how he does viz
pree has quit [Quit: AaBbCc]
<aserio> ah
bikineev has joined #ste||ar
aserio has quit [Ping timeout: 240 seconds]
<K-ballo> heller_: ping me when you have a minute
david_pf_ has joined #ste||ar
aserio has joined #ste||ar
aserio has quit [Client Quit]
aserio has joined #ste||ar
atrantan has joined #ste||ar
atrantan has quit [Client Quit]
bikineev has quit [Remote host closed the connection]
hkaiser has joined #ste||ar
denis_blank has quit [Quit: denis_blank]
<github> [hpx] K-ballo force-pushed throw_with_info from 9025c0d to d1acb98: https://git.io/vHKTJ
<github> hpx/throw_with_info d1acb98 Agustin K-ballo Berge: (draft) exception_info implementation (P0640)
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
<aserio> hkaiser: Is there a reason that the trait has to call a function called "size()" and not a function called "size_data()"?
<hkaiser> ahh bike-shedding...
<aserio> hkaiser: no not bike shedding
<aserio> I thought I could call that function what I wanted
<aserio> one sec
<aserio> let me show you where
<aserio> hkaiser: ...I will create a comment on the pr
<aserio> hkaiser: I added the comment
<hkaiser> aserio: .size() happens to be the name of the function exposed by the wrapper object
<aserio> so that line has to read return cont.size() for it to work?
<hkaiser> depnds on the the name exposed by your underlying type, could be foo() for all I care
<aserio> so if I defined foo() to return a size I could write on line 82 return cont.foo()?
<aserio> I am running into an issue where the compiler is claiming that my object does not define a size function
<hkaiser> aserio: well, apparently it does not expose that function, otherwise the compiler wouldn't say so
<aserio> I thought that the trait effectively exposed that function for me
<K-ballo> the compiler is probably right
<hkaiser> with high probability
<aserio> K-ballo, hkaiser: I trust the compiler :p I am questioning how traits work
<K-ballo> that's nice, once you start doubting your compiler there's no coming back :/
eschnett has quit [Quit: eschnett]
<aserio> The trait is supposed to provide a place to define overloads so that the library class has a proper definition of a particular function correct?
bikineev has joined #ste||ar
<hkaiser> aserio: the functions exposed by the traits should always have the same name, however the functions you call from inside the trait can be called however you like
<aserio> Ok, that is what I thought
<aserio> hkaiser: I am seeing an issue when I rename the user defined function inside of the trait
<hkaiser> difficult to tell from here
<aserio> I renamed the function file_wrapper::size() to file_wrapper::size_data()
<hkaiser> ok, so you need to change all spots where you callit
<aserio> I will double double check
david_pf_ has quit [Quit: david_pf_]
<K-ballo> hkaiser: there's a fair number of `boost::throw_exception(e)`s in the codebase.. are those for enabling boost::current_exception, or for enabling boost::enable_error_info, or both?
<hkaiser> uhh
<hkaiser> more for consistency, I believe
<hkaiser> I guess mostly for current_exception
<hkaiser> for enable_error_info we use the macros
hkaiser_ has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
<K-ballo> I just started to get a feeling that it's mostly for current_exception, as enable_error_info is used explicitly when needed
<hkaiser_> yes
<hkaiser_> I agree, we use the macros if we need the error_info
<K-ballo> in that case I should replace them with plain throw on the std::current_exception branch
<hkaiser_> ok
jakemp has quit [Ping timeout: 260 seconds]
<K-ballo> there's also a couple places that assume only exceptions deriving from boost::exception are ever thrown, like lcos::server::latch, that's slightly suspicious
<hkaiser_> K-ballo: that's probably a bug
<K-ballo> yeah, or maybe there was a genuine limitation back then when it was written
<K-ballo> but it doesn't make much sense today
<hkaiser_> nod
akheir has quit [Remote host closed the connection]
<aserio> hkaiser_: I double checked, I think I changed all the mentions and all of the errors come from output_container.hpp, input_container.hpp, and serialization_access_data.hpp
<hkaiser_> aserio: then you probably changed the traits API
<aserio> hkaiser_: I am 90% confident I didn't touch that section in your code, It was working, I renamed it, and it broke
RostamLog has joined #ste||ar
gentryx_ has joined #ste||ar
RostamLog_ has quit [Ping timeout: 240 seconds]
hkaiser_ has quit [Ping timeout: 240 seconds]
gentryx has quit [Ping timeout: 240 seconds]
<github> [hpx] K-ballo force-pushed compat-exception from 46373fe to e85003d: https://git.io/vH8FM
<github> hpx/compat-exception 84053e0 Agustin K-ballo Berge: Add compatibility layer for std::exception_ptr
<github> hpx/compat-exception 24b9616 Agustin K-ballo Berge: Add inspect checks for deprecated boost::exception_ptr
<github> hpx/compat-exception a1691fa Agustin K-ballo Berge: Remove compatibility layer for std::exception_ptr, mark support as required
<github> [hpx] K-ballo deleted std-exception_ptr at e70079f: https://git.io/vHiqF
hkaiser has joined #ste||ar
aserio has quit [Quit: aserio]
eschnett has joined #ste||ar
<github> [hpx] K-ballo force-pushed throw_with_info from d1acb98 to 8faf4e5: https://git.io/vHKTJ
<github> hpx/throw_with_info 8faf4e5 Agustin K-ballo Berge: (draft) exception_info implementation (P0640)
<heller_> K-ballo: ping
bikineev has quit [Remote host closed the connection]
<K-ballo> drats I close the tab
<K-ballo> heller_: one sec while I look up the code
<K-ballo> heller_: any idea what that piece of code is doing there?
bikineev has joined #ste||ar
<heller_> K-ballo: that's code that's been in there forever
<K-ballo> meaning you have no idea either? :/
<heller_> K-ballo: could be replace by a catch(...) { throw; } as far as I am concnerned
<heller_> yeah..
<K-ballo> so, conceptually, what happens to an exception propagated while decoding parcels?
<heller_> it's essentially trying to catch exceptions during parcel receiving
<K-ballo> this `hpx::report_error` eats em somehow
<heller_> yes
<heller_> they should be reported to the runtime
<K-ballo> would it make sense to change it to:
<K-ballo> drats, no.. std::exception repackaging must be one of the std exceptions
<K-ballo> ok I guess I'll leave that chunk as-is
<K-ballo> the repackaging business is weird
<heller_> at this pijt, it is really just about how to report it to the RTS
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
EverYoung has quit [Remote host closed the connection]
<github> [hpx] hkaiser pushed 3 new commits to cmaks_cxx17_support: https://git.io/vHiBz
<github> hpx/cmaks_cxx17_support 631d2c8 Hartmut Kaiser: Merge branch 'master' into cmaks_cxx17_support
<github> hpx/cmaks_cxx17_support 4f9e4b6 Hartmut Kaiser: Fix merge problems
<github> hpx/cmaks_cxx17_support 5336ff6 Hartmut Kaiser: Extract detection of C++ dialect into separate macro
jaafar_ has quit [Ping timeout: 258 seconds]