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/ | GSoC2018: https://wp.me/p4pxJf-k1
diehlpk_mobile has quit [Read error: Connection reset by peer]
diehlpk_mobile has joined #ste||ar
diehlpk_mobile has quit [Remote host closed the connection]
diehlpk has joined #ste||ar
<nikunj> hkaiser: I have added Mac implementation over hpx_wrap.cpp (after reviews and changes) and tested it. It is working well. If you could merge the pr, I'll create another pr.
<hkaiser> k
<hkaiser> nikunj: done
<github> [hpx] hkaiser closed pull request #3357: Static/dynamic executable implementation (master...static_hpx_main_impl) https://git.io/f47x6
<nikunj> hkaiser: thanks, I'll add a pr for Mac then.
<hkaiser> thank you! let's see how this goes
<nikunj> I hope it works as well.
nikunj has quit [Remote host closed the connection]
nikunj has joined #ste||ar
<hkaiser> nikunj: I just realized that including hpx_main.hpp in more thanone TU will cause linker errors now
<hkaiser> hpx_start::include_libhpx_wrap will havemultiple definitions
<nikunj> hkaiser: oh I didn't realize it as well
<nikunj> I'll make it inline, that should work
<nikunj> what do you say?
<hkaiser> making a variable inline?
<nikunj> yes
<hkaiser> is that legal?
<nikunj> c++14 supports it
<nikunj> oh no c++17 supports it
<K-ballo> inline variables are 17
<K-ballo> there's C++11 compatible emulation
<K-ballo> template <typename Dummy = void> struct Holder { static T var; }
<K-ballo> template <typename Dummy> T Holder<Dummy>::var = T(...);
<K-ballo> T& x = Holder<>::var;
<K-ballo> oops, that T& x should have been guarded in an unnamed namespace
<nikunj> hkaiser: what do you I should do?
<hkaiser> try what K-ballo suggested
<nikunj> ok, I'll add it to code and check
<hkaiser> K-ballo: putting it into an unnamed namespace prevents us from shadowing the weak symbol
<K-ballo> what? I must have missed some stuff
<hkaiser> no, I take that back
<hkaiser> the holder<>::var is the weak symbol, not the T&x;
<K-ballo> hkaiser: I'm now thinking the T& x part is probably unneded, if the point is just to run stuff during include_libhpx_wrap construction
<K-ballo> why is there a weak symbol at all?
* K-ballo checks the code
<hkaiser> this is meant to shadow a weak symnbol if hpx_main is included
<hkaiser> it's merged already
<K-ballo> the symbol is extern
<K-ballo> extern bool include_libhpx_wrap; is just a declaration, not a definition
<K-ballo> uuuuh.. linker tricks
<hkaiser> right
<K-ballo> inline won't do, nor the emulation
<hkaiser> nikunj: let's add it to the docs, then
<hkaiser> hpx_main.hpp msut be included once only
<nikunj> nikunj: understood
<nikunj> hkaiser^^
<hkaiser> might be a good idea to add a sentence or two anyways, explaining things
<nikunj> hkaiser: nod
<nikunj> hkaiser: I'll update the docs too
<hkaiser> ok, no harm done - there is no point in using hpx_main.hpp anywhere than in the main TU anyways
<nikunj> yes
<hkaiser> K-ballo: why can't we do the same with the emulation?
<hkaiser> couldn't static variables be weak as well?
<nikunj> iirc static variables can also be weak
<hkaiser> it's ODR in any case :/
<hkaiser> nikunj: well, worth a try ...
<hkaiser> ODR violation, even
<nikunj> on it already
<K-ballo> I guess... I don't know
<hkaiser> ok, good luck - g'night
hkaiser has quit [Quit: bye]
<nikunj> K-ballo: in your example you use typename Dummy and then use T to determine type. Do you want me to replace T with bool (taking T as an example anyway) or is there any typo in there?
<K-ballo> no typo
<K-ballo> Dummy exists solely to make the thing a template, so that the linker has to collapse the definitions
<nikunj> ok so if I copy paste the entire thing it should work, right?
<K-ballo> no
<K-ballo> some assembly required
<nikunj> ok
quaz0r has quit [Ping timeout: 240 seconds]
quaz0r has joined #ste||ar
quaz0r has quit [Ping timeout: 264 seconds]
<github> [hpx] NK-Nikunj opened pull request #3367: Adds Mac OS implementation to hpx_main.hpp (master...Mac_OS_impl) https://git.io/fNvUy
diehlpk has quit [Ping timeout: 264 seconds]
<nikunj> K-ballo: you were right, things aren't working as expected making things inline.
<nikunj> Do you have a way to prevent the error?
<nikunj> zao: yt?
<zao> beep boop
<nikunj> Hi! Do you have hpx setup on mac?
<nikunj> I wanted to check if the implementation is working on other pcs
quaz0r has joined #ste||ar
<zao> Don't know.
<nikunj> could you please check if you have a container running mac?
K-ballo has quit [Quit: K-ballo]
<zao> There we go.
<nikunj> nice!
<nikunj> could you please test this branch: https://github.com/STEllAR-GROUP/hpx/pull/3367
<zao> Probably.
<nikunj> is that a 2013 mac book pro i see?
<zao> Late-2011 I think.
<zao> It's my work laptop, long out of service.
<nikunj> wow
<zao> I don't have Boost or hwloc or anything installed, but might be able to build something. Eventually.
<nikunj> zao: take your time, no worries
<zao> nikunj: Good news, miserable failure!
<nikunj> oh, what happened?
<nikunj> it seemed run fine on my copy of mac osx (sierra)
<zao> hpx_wrap.cpp can't find namespace hpx or something.
<zao> Trying to exfiltrate logs :)
<nikunj> oh my bad, I'll correct the code
<zao> cmake ../hpx -DCMAKE_BUILD_TYPE=Debug -DHPX_WITH_CXX14=ON -DBOOST_ROOT=/usr/local/Cellar/boost/1.67.0_1 -DHWLOC_ROOT=${HOME}/opt/hwloc-1.11.10 -DCMAKE_INSTALL_PREFIX=$HOME/stellar/inst-hpx-debug -G Ninja -DHPX_WITH_EXAMPLES=ON -DHPX_WITH_TESTS=ON && ninja components examples tests 2>&1
<nikunj> zao: fixed, fetch and run again.
nanashi55 has quit [Ping timeout: 245 seconds]
nanashi55 has joined #ste||ar
<zao> Slowly building, something.
<nikunj> :)
<zao> nikunj: Did you see that Godbolt will have a presentation at cppcon of what happens before main in an average C++ program? :)
<zao> Gonna be fun.
<nikunj> Oh no I did not
<nikunj> It will surely be fun!
<nikunj> I have now gone through the glibc startup code so it will be even more fun now as I will be able relate to what he says
nikunj97 has joined #ste||ar
mark___ has joined #ste||ar
mark___ has quit [Client Quit]
<zao> 550/1722 targets built... this machine isn't fast :)
<nikunj> No problems, you can't expect much from a 2011 mac book ;)
anushi has quit [Read error: Connection reset by peer]
anushi has joined #ste||ar
<nikunj> zao: did it build?
nikunj97 has quit [Quit: Leaving]
<zao> 1330/1722
<zao> A lot of tests and examples out there.
<zao> I have no idea if the wrapper built, but probably.
<nikunj> seems like it, no worries I'll wait
<zao> nikunj: built
nikunj has quit [Remote host closed the connection]
nikunj has joined #ste||ar
<nikunj> zao: any progress?
<zao> It built.
<nikunj> nice!
<nikunj> did you run the tests?
<zao> Trying to.
<zao> wait_all_hang_1946 times out at 1500 seconds, currently stuck on static_chunker_2282
<zao> At test 95/573
<nikunj> can it be a ram issue?
<nikunj> if it times out
<zao> Highly unlikely.
<nikunj> I see, what can be the reason for it to time out :/
<zao> Apart from HPX being a buggy pile of <beeeeep>? :)
<nikunj> how many tests should fail before my implementation is treated as inadequate?
<zao> Depends on if it's your fault or just ambient HPX failure.
<nikunj> i see
<zao> migrate_component_test also craps out, as is customary.
<zao> Quite surprised that the timeout is 1500 seconds for some reason.
<zao> Could've sworn it was humane at some point in time.
<nikunj> ikr
<zao> Ooh, an actual failure.
<nikunj> which one?
<zao> distributed.tcp.partitioned.vector_fill
<zao> I don't trust any of the distributed ones :)
<nikunj> do they fail frequently?
<nikunj> or is it just my build>
<nikunj> *?
<zao> Don't know.
<zao> If my CI setup worked, I'd know more about how it behaves on Linux.
<zao> But that's stalled since forever.
<nikunj> ok
<nikunj> btw how many tests have completed as of now
<zao> most
<zao> all
<zao> 448 - tests.unit.parallel.segmented_algorithms.distributed.tcp.partitioned_vector_fill (Failed)
<zao> 80 - tests.regressions.lcos_dir.wait_all_hang_1946 (Timeout)
<zao> 96 - tests.regressions.parallel.static_chunker_2282 (Failed)
<zao> 167 - tests.unit.components.distributed.tcp.migrate_component (Failed)
<zao> 96 and 167 also timed out, I just killed them early.
<zao> Thanks to HPX being HPX, you can't really trust a single test run, as some of them are flaky, or HPX is flaky.
<nikunj> so in total 6 tests failed. that's a 100% jump from my pc
<nikunj> in which 3 tests failed 2 of which timed out
<zao> I had four test failures, this is the complete summary.
<nikunj> ok, what do you think can be the underlined issue?
<zao> Absolutely no idea. Particularly not on a platform that's not regularly tested.
<zao> See if regular HPX master fails in similar ways.
<nikunj> ok, I'll wait for hkaiser to review it
<nikunj> I've built hpx multiple times
<nikunj> didn't get any errors there
<zao> Try the tests then, see what they do, see if it's debuggable or reproducable.
<nikunj> on it
jaafar has quit [Ping timeout: 240 seconds]
anushi has quit [Ping timeout: 260 seconds]
<github> [hpx] StellarBot pushed 1 new commit to gh-pages: https://git.io/fNvmu
<github> hpx/gh-pages 199e005 StellarBot: Updating docs
anushi has joined #ste||ar
anushi has quit [Read error: Connection reset by peer]
anushi has joined #ste||ar
nikunj97 has joined #ste||ar
nikunj has quit [Ping timeout: 256 seconds]
anushi has quit [Ping timeout: 260 seconds]
anushi has joined #ste||ar
quaz0r has quit [Ping timeout: 260 seconds]
quaz0r has joined #ste||ar
K-ballo has joined #ste||ar
hkaiser has joined #ste||ar
quaz0r has quit [Ping timeout: 256 seconds]
quaz0r has joined #ste||ar
anushi has quit [Ping timeout: 240 seconds]
jakub_golinowski has joined #ste||ar
nikunj97 has quit [Quit: Leaving]
nikunj has joined #ste||ar
diehlpk has joined #ste||ar
diehlpk has quit [Ping timeout: 240 seconds]
anushi has joined #ste||ar
jakub_golinowski has quit [Ping timeout: 240 seconds]
jakub_golinowski has joined #ste||ar
anushi has quit [Ping timeout: 265 seconds]
anushi has joined #ste||ar
jaafar has joined #ste||ar
anushi has quit [Ping timeout: 265 seconds]
anushi has joined #ste||ar
anushi has quit [Ping timeout: 276 seconds]
anushi has joined #ste||ar
anushi has quit [Remote host closed the connection]
anushi has joined #ste||ar
jaafar has quit [Ping timeout: 276 seconds]
diehlpk has joined #ste||ar
jakub_golinowski has quit [Ping timeout: 240 seconds]
jaafar has joined #ste||ar
jaafar has quit [Ping timeout: 256 seconds]
jaafar has joined #ste||ar
jaafar has quit [Ping timeout: 248 seconds]
jaafar has joined #ste||ar
jaafar has quit [Ping timeout: 264 seconds]
<nikunj> diehlpk: did you receive my mail?