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/
eschnett has quit [Quit: eschnett]
vamatya has quit [Ping timeout: 276 seconds]
eschnett has joined #ste||ar
K-ballo has quit [Quit: K-ballo]
jaafar has quit [Ping timeout: 265 seconds]
hkaiser has quit [Quit: bye]
nanashi55 has quit [Ping timeout: 246 seconds]
nanashi55 has joined #ste||ar
vamatya has joined #ste||ar
jaafar has joined #ste||ar
vamatya has quit [Ping timeout: 256 seconds]
david_pfander has joined #ste||ar
jaafar has quit [Ping timeout: 255 seconds]
<heller_> the thread_stacksize bug seemse to happen on gcc 4.9.4 only. just checked with gcc 4.9.3, everything is fine :/
<simbergm> heller_: thanks for looking into that
<heller_> trying with gcc 4.9.4 now
<simbergm> I wonder if it isn't best just to consider that a known issue for the release, unless you happen to find something obvious quickly
<simbergm> 4.9.4 also seems to be the last release in the 4.9 series...
<heller_> yeah
<heller_> I wanna know what's wrong
<simbergm> sure
<heller_> there is another issue I am looking into right now ..
<heller_> when do plan to get the RC out?
<simbergm> 31st jan if all goes well, but it's set a bit conservatively in case we need more time
<simbergm> my email did go out to the mailing list, right?
<zao> simbergm: HPX 1.1.0 preparation?
<zao> That one did, in both archives and my mailbox.
<simbergm> zao: yep, thanks
<heller_> yeah
<heller_> was too lazy to switch windows :/
<heller_> simbergm: got it
<heller_> running tests...
<simbergm> heller_: good, thanks
<github> [hpx] StellarBot pushed 1 new commit to gh-pages: https://git.io/vNGIH
<github> hpx/gh-pages 151a13a StellarBot: Updating docs
<github> [hpx] sithhell created fix_stack_overhead (+1 new commit): https://git.io/vNGLX
<github> hpx/fix_stack_overhead 8bdf619 Thomas Heller: Adapting stack overhead limit for gcc 4.9...
<heller_> there we go.
<github> [hpx] sithhell opened pull request #3097: Adapting stack overhead limit for gcc 4.9 (master...fix_stack_overhead) https://git.io/vNGLh
<github> [hpx] sithhell created unbreak_test (+1 new commit): https://git.io/vNGOG
<github> hpx/unbreak_test 3d259be Thomas Heller: Unbreak broadcast_wait_for_2822 test
<github> [hpx] sithhell opened pull request #3098: Unbreak broadcast_wait_for_2822 test (master...unbreak_test) https://git.io/vNGOB
<heller_> simbergm: soo, thread_pool_executors still seems to time out sometimes
<simbergm> heller_: that was it...? for the stacksize
<heller_> simbergm: the first for the stacksize, the second for the other test that failed on rostam
<simbergm> okay, nice
<heller_> that looks like another nasty bug...
<heller_> but I am leaning more to expected behavior...
<heller_> the back parcel might arrive before the write handler has been called...
<heller_> same problem as #2935, i think
<github> [hpx] sithhell created fix_papi_locking (+1 new commit): https://git.io/vNG3d
<github> hpx/fix_papi_locking 26c15e2 Thomas Heller: Fixing lock held during suspension in papi counter component
<heller_> on fire
<github> [hpx] sithhell opened pull request #3099: Fixing lock held during suspension in papi counter component (master...fix_papi_locking) https://git.io/vNG3b
K-ballo has joined #ste||ar
hkaiser has joined #ste||ar
mcopik has joined #ste||ar
<heller_> so, in theory, everything that is trivially_copyable is also bitwise_serializable, correct?
<K-ballo> as long as it is also copyable, and sensible, it should be
<hkaiser> K-ballo: how can something be trivially copyable without being copyable?
<K-ballo> welcome to the jungle
<hkaiser> I'm serious
<K-ballo> boost::noncopyable used to be trivially copyable
<K-ballo> deleted special members are trivial
<K-ballo> now trivially copyable has a special requirement that there must be one non-deleted trivial special member function, any
<hkaiser> so trivially copyable means that if you use memcpy to copy the bits away you'll still get something meaningful?
<K-ballo> trivially copyable means if you use memcpy and back the value roundtrips
<hkaiser> nod
<K-ballo> it doesn't let you transfer value to another object
<hkaiser> sure
<hkaiser> that's what I meant
<K-ballo> for instance, is possible to have a non copyable trivially copyable object with self referencing pointers
<heller_> ok
<K-ballo> you memcpy it somewhere else, and it crashes horrible when you try to use it
<hkaiser> right
<K-ballo> but that would not be a sensible type
<K-ballo> self referencing pointers cannot have trivial copy/move special members (unless they are ALL deleted)
<heller_> so yeah, is_bitwise_serialize == is_trivially_copyable && !is_pointer
<K-ballo> struct foo { int x; int* y = x; }; ?
<heller_> hmmm
<heller_> you mean &x?
<K-ballo> I do
<heller_> there is no trait that is able to detect this, right?
<K-ballo> no, but those types aren't reasonable anyhow
jaafar has joined #ste||ar
<heller_> yeah, the copy ctor does the same thing as memcpy in any case...
hkaiser has quit [Quit: bye]
<K-ballo> for serialization purposes trivially copyable + copy constructible ought to be good
<heller_> a pointer is both, but should not be memcpy'ed ;)
<zao> K-ballo: Speaking of self-referring, how kosher is it to use `this` to do self-relative addressing?
<K-ballo> serializing pointers is a completely different thing, you don't serialize the value at all
<K-ballo> zao: as in?
<zao> template <typename T> struct RelativePointer { int32_t offset; T* operator -> () { return (T*)((char*)this + offset); } }; // like
<zao> The #gamedev crew loves having those in blittable datablocks on disk, in queues, and shared memory, to make them movable.
<K-ballo> mmh, technically UB unless there's some sort of array involved?
<K-ballo> no less UB than indexing into vector, at least
<zao> So you'd have data blocks with struct Header { RelativePointer<int> foo; RelativePointer<char> bar; }; and a bunch of data before/after with the offsets pointing it out.
<zao> Always felt a bit janky to me, much like flexible struct members.
<heller_> K-ballo: sure, but we first check is_bitwise_serializable, and then move on to the pointer
<K-ballo> doesn't sound like a good idea.. is_bitwise_serializable should be a fallback check
<K-ballo> user might define serialization for its own trivially copyable type, because reasons, you don't get to skip it
<heller_> yeah
<K-ballo> zao: pointers don't point to objects just because they happen to represent the address an object is at
<heller_> K-ballo: I agree. that's a bug
<heller_> K-ballo: back in the days, we couldn't reliably detect if someone specified their own serialization function
<heller_> even worse: each bitwise_serializable type needs to also have the serialize function(s)
<K-ballo> :/
<K-ballo> thye do? why?
<heller_> because the memory layout might be different on the receiving end?
<heller_> or do we have any guarantees here I am not aware of?
<K-ballo> so you do want to bypass user's serialization functions
<heller_> essentially, yes
<K-ballo> then I doubt you want that to be implicit, due to trivially copyable
<heller_> which is also probably the reason why all attempts so far failed
<K-ballo> maybe it should be more declarative
<heller_> if only we could have binary compatibility
<heller_> for those types
<K-ballo> maybe we want types to say these are my members, rather than chaining serialization calls
<heller_> hmm
<heller_> yes
<heller_> but would that solve this issue?
<K-ballo> it'd give us the ability to say if bitwise serializable and destination compatible memcpy, else synthesize series of individual calls
<K-ballo> or even memcpy as well, but send a layout description on the side
<heller_> interesting thought
<heller_> after all, it all boils down to some sequence of integral types
<zao> Makes me think of MPI types :)
<heller_> hush!
<heller_> this interface is actually implemented with that principle in mind
<heller_> so, what'd be interesting now is everything that is trivially copyable and copy constructible also an aggregate type?
<heller_> i guess so
<heller_> which would solve the layout problems, if we use this trick: http://playfulprogramming.blogspot.com/2016/12/serializing-structs-with-c17-structured.html
<K-ballo> no
<github> [hpx] sithhell force-pushed unbreak_test from 3d259be to a2fe65b: https://git.io/vNG6N
<github> hpx/unbreak_test a2fe65b Thomas Heller: Unbreak broadcast_wait_for_2822 test
<heller_> what's the deal breaker?
<K-ballo> trivially copyable and aggregate are orthogonal
<K-ballo> there are trivially copyable types that are not aggregates, and aggregates that are not trivially copyable
<K-ballo> furthermore, the structured-binding trick is broken for a couple of cases, like aggregates with non empty bases
<heller_> ok, aggregates being non trivially copyable is not a big deal for this specific use case
hkaiser has joined #ste||ar
aserio has joined #ste||ar
Vir has quit [Read error: Connection reset by peer]
<heller_> K-ballo: ok, I see the copyable vs aggregate issue myself now...
david_pfander has quit [Ping timeout: 252 seconds]
jaafar has quit [Ping timeout: 252 seconds]
eschnett has quit [Quit: eschnett]
eschnett has joined #ste||ar
<heller_> https://www.google.de/url?sa=t&source=web&rct=j&url=http://www.mcs.anl.gov/~balaji/pubs/2017/sc/sc17.slow-mpi.pdf
<heller_> Hmpf
simbergm has quit [Ping timeout: 248 seconds]
<zao> Nice little list of authors.
Smasher has joined #ste||ar
simbergm has joined #ste||ar
bibek has quit [Quit: Konversation terminated!]
jaafar has joined #ste||ar
vamatya has joined #ste||ar
aserio has quit [Ping timeout: 248 seconds]
gedaj has joined #ste||ar
Vir has joined #ste||ar
Vir has quit [Read error: Connection reset by peer]
Vir has joined #ste||ar
Vir has quit [Changing host]
Vir has joined #ste||ar
Vir has quit [Read error: Connection reset by peer]
aserio has joined #ste||ar
Vir has joined #ste||ar
Vir has quit [Ping timeout: 265 seconds]
rtohid has joined #ste||ar
hkaiser has quit [Quit: bye]
TenGumis has joined #ste||ar
<TenGumis> Hello
<zao> Ho there.
<zao> (and good night, I'm out :D)
<TenGumis> God night ;)
<TenGumis> Good*
<TenGumis> I have a problem with build hpx on ubuntu. Can anyone help me?
<zao> Should be rather straightforward.
<TenGumis> Yep :)
<zao> A wild guess is that if you've got google-perftools for tcmalloc, you need the -dev package to make it link properly.
<zao> What happens?
<TenGumis> Here is log from my terminal
<zao> TenGumis: Your hwloc is too old.
<zao> IIRC.
<TenGumis> I used "apt-get install hwloc"
<K-ballo> yep, needs newer hwloc
<TenGumis> What should I do?
<K-ballo> didn't we have a check for that?
<zao> Which ubuntu is this? LTS?
<TenGumis> Yes 16.04
<K-ballo> we don't have a check, what we have is conditional use...
<zao> K-ballo: Documentation is woefully out of date, says hwloc 1.2, recommended 1.10
<K-ballo> TenGumis: are you building off master?
<K-ballo> by the line numbers I can assume no
<zao> xenial should be on 1.11.2-3, according to p.u.com
<TenGumis> Hmm... I will check it.
<TenGumis> I used out-of-date repository
<TenGumis> I forked a month ago this reepository
Vir has joined #ste||ar
<K-ballo> the fix would have been in by then.. what's the hash?
aserio has quit [Quit: aserio]
Vir has quit [Read error: Connection reset by peer]
Vir has joined #ste||ar
Vir has quit [Ping timeout: 276 seconds]
Vir has joined #ste||ar
<TenGumis> OK. I'm still waiting for building finish but it looks good.
<TenGumis> Thanks for help
eschnett has quit [Quit: eschnett]
jaafar_ has joined #ste||ar
jaafar has quit [Ping timeout: 248 seconds]
rtohid has left #ste||ar [#ste||ar]
<TenGumis> Hi. Can somebody recommend me easy issue not requiring excellent knowledge of c ++?
TenGumis has quit [Ping timeout: 260 seconds]
khuck has joined #ste||ar
khuck has quit [Client Quit]
eschnett has joined #ste||ar
jaafar has joined #ste||ar
jaafar_ has quit [Ping timeout: 276 seconds]
eschnett has quit [Quit: eschnett]