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/ | GSoC: https://github.com/STEllAR-GROUP/hpx/wiki/Google-Summer-of-Code-%28GSoC%29-2020
shahrzad has quit [Ping timeout: 246 seconds]
shahrzad has joined #ste||ar
nan1 has quit [Ping timeout: 240 seconds]
shahrzad has quit [Quit: Leaving]
Hashmi has quit [Quit: Connection closed for inactivity]
weilewei has quit [Remote host closed the connection]
hkaiser has quit [Quit: bye]
weilewei has joined #ste||ar
bita has quit [Quit: Leaving]
DragonMain has joined #ste||ar
<DragonMain> Hi, everyone, I am very excited about the CUDA project of HPX. Are there like-minded people doing research on this project?
weilewei has quit [Ping timeout: 240 seconds]
nikunj has quit [Ping timeout: 256 seconds]
nikunj has joined #ste||ar
parsa has joined #ste||ar
kordejong has quit [Ping timeout: 260 seconds]
kordejong has joined #ste||ar
parsa has quit [Ping timeout: 246 seconds]
parsa has joined #ste||ar
<simbergm> heller: how's the logo now: http://hpx.stellar-group.org/? ;)
<heller1> ms: ha, that's the font from the docs, right?
<simbergm> yeah, it's the same logo
<simbergm> the only one we have, right?
<heller1> yeah, unfortunately
nikunj97 has joined #ste||ar
<nikunj97> zao, what's the clear advantage of having an EasyBuild setup?
nikunj97 has quit [Quit: Leaving]
<heller1> nikunj97: automated, reproducable
<heller1> nikunj97: spack is also an option, FWIW
<heller1> YMMV
<zao> nikunj97: The kind of benefits you have from a module system on a cluster, side-by-side installations of software built in predictable ways.
<zao> Not being at the mercy of whatever compiler and library packages the sysadmin has happened to installed, being able to build multiple things with the same toolchain.
Hashmi has joined #ste||ar
gonidelis has joined #ste||ar
gonidelis has quit [Remote host closed the connection]
gonidelis has joined #ste||ar
parsa has quit [Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net]
parsa has joined #ste||ar
nikunj97 has joined #ste||ar
<gonidelis> Could someone explain the syntax of the third argument on range based functions-call e.g. std::none_of(foo.begin(), foo.end(), [](int i)). What is the use of the empty brackets [] ?
<zao> It'
<zao> 's the C++ syntax for an anonymous (lambda) function.
<gonidelis> !
<gonidelis> Perfect. Thank you.
<K-ballo> there's stuff missing in that call
<gonidelis> yeah i know...I just wanted to show you the part that rised my question ;)
<gonidelis> raised*
<K-ballo> yeah, which happens to be the part you cut
<gonidelis> But I was just asking for the empty brackets syntax part... That's why zao was able to answer my question.
<zao> The tricky thing is that if you remove things arbitrarily, the meaning may change.
<K-ballo> yeah.. so to be clear, `[](int i)` is not a thing
<K-ballo> it could have been a thing, it often happens
<gonidelis> What do you mean 'a thing' ?
<K-ballo> any thing, most syntax combinations do something
<K-ballo> your question happened to make sense just because there wasn't another thing you didn't know about with the syntax you made up, besides the one you already didn't know about
<K-ballo> but how could you know `[](int i)` on its own was not a different thing?
<gonidelis> Ok. I get what you mean. I apologize if I 've been misleading. I will be more cautious on future questions and I will provide you with a fully comprehensible example. I get your point, thank you :)
<K-ballo> you weren't misleading this time, it's just C++ is a rather subtle language
<gonidelis> I agree...
<gonidelis> I can see that on `/hpx/libs/algorithms/include/hpx/parallel/container_algorithms/all_any_none.hpp` there is this call `#include <hpx/parallel/algorithms/all_any_none.hpp>` in *line 17* but I have the suspicion that the path `hpx/parallel/algorithms` no longer exists. I can see though that the guy who wrote the code
<gonidelis> (https://github.com/brjsp/hpx/blob/0f17c1c20bb0eed11c15eb7c3697674d9007a8af/hpx/parallel/container_algorithms/all_any_none.hpp) does have this path on his fork so I speculate that it's just an older version of source. Does this need to be fixed?
<heller1> gonidelis: some of the includes path are generated in your build directory
<heller1> but yeah, we shuffled things around quite heavily in the last few mpnths
<gonidelis> Maybe I need to run some `make` command (???) because the path does neithers exists in my build directory
<heller1> no, cmake should be enough
hkaiser has joined #ste||ar
<gonidelis> so is there any urgency for this to be fixed?
<heller1> FWIW, the compiler line should set the correct include paths
<heller1> so for your example, there should be something like `-I/hpx/libs/algorithms/include/` in there
<simbergm> gonidelis: the path is most likely relative to `hpx/libs/algorithms/include`
<simbergm> beat me to it ;)
<heller1> can you please reiterate what it is that is not working for you?
<gonidelis> !!!!! You guys are right! Now I get it... thank you. heller1 I am just reading the code thus far, nothing wrong on compilation or runtime. Thank you for responding
<hkaiser> gonidelis: that's a fun exercise you carved out for you ;-)
<hkaiser> finding the includes might be difficult
<heller1> in general, things like wrong include paths or missing files is something that gets caught pretty quickly
<hkaiser> but reading code is definitely a good move
<heller1> nod
<heller1> what I find particularly helpful is the `find` tool on the bash
<heller1> also, `make VERBOSE=1` (or `ninja -v`) to show you the flags to the compiler
<gonidelis> Is there any way that `find` could help me untangle the `include`s?
<heller1> especially for include paths etc.
<heller1> or well, IDEs are getting it right most of the time as well (never tested it myself though)
<heller1> gonidelis: in your particular case: `find . -name 'all_any_none.hpp'`, should give you an idea
<heller1> where `.` is the base directory you want to search in
<gonidelis> thank you
nikunj97 has quit [Quit: Leaving]
<hkaiser> gonidelis: ide's work very well nowadays
<hkaiser> they usually allow you to 'show definition' of some symbol
<hkaiser> what OS are you on?
<heller1> right, visual studio code should work decently well on any
<heller1> or qtcreator
nikunj97 has joined #ste||ar
<hkaiser> VS code is very nice and very snappy
<hkaiser> it also can open our cmake file and generate everything as needed
<nikunj97> hkaiser, are you saying that you're shifting to vs code ;)
<hkaiser> nikunj: not on windows, but I'm using it for docker files and ssh connected linux machines
<nikunj97> aah, I see. VS Code is really nicely made
<nikunj97> When I first shifted to vs code in 2017, it was pretty crappy. But they have seemed to have solved most of the developer related issues.
<gonidelis> hkaiser Ubuntu18. For the time being I use sublime3 as VS Code needs some decent amount of familiarization time
kale_ has joined #ste||ar
<hkaiser> sure - everybody has to pick their poison
__kale has joined #ste||ar
<nikunj97> hkaiser, btw do you configure your Visual Studio?
kale_ has quit [Ping timeout: 240 seconds]
<hkaiser> what do you mean?
<nikunj97> or do you simply use it out of the box?
<hkaiser> I have a couple of extensions installed
__kale has quit [Client Quit]
<nikunj97> aah, which ones?
__kale has joined #ste||ar
__kale has quit [Client Quit]
<nikunj97> do you play around with visual studio's settings as well?
__kale has joined #ste||ar
<hkaiser> visualassist (but it's not free) and a bunch of other, less important ones - I can send you the list, if you like
<nikunj97> yes, that'll be great
<hkaiser> nikunj97: well, changing settings is what is unavoidable, usually
<nikunj97> I've been trying hard to shift to Visual Studio since a long time. Everytime I shift to it, something or the other happens and I'm too bad at working with IDEs
<nikunj97> so I always keep coming back to vs code with a linux terminal in the end
<hkaiser> I can export my configuration and send that as well
<nikunj97> and I can't seem to find a decent Visual Studio tutorial as well
<hkaiser> not sure if that's helpful, though
<nikunj97> hkaiser, that'll be very nice!
weilewei has joined #ste||ar
bita has joined #ste||ar
<nikunj97> hkaiser, thanks for the configs!
<hkaiser> welcome
diehlpk_work has joined #ste||ar
<diehlpk_work> parsa, Any nes on the plot?
<diehlpk_work> Please send me the python files you have, so I can have a look into it
Hashmi has quit [Quit: Connection closed for inactivity]
DragonMain has quit [Remote host closed the connection]
<simbergm> freifrau_von_bleifrei: gdaiss so things compile now with my cleaned up version of hpx-kokkos-interopt-WIP
<simbergm> the allocator/executor example even seems to run
<simbergm> next up turning off fences and seeing what hell breaks loose
<hkaiser> parsa: yt?
<freifrau_von_ble> ms: sweet!
__kale has quit [Ping timeout: 250 seconds]
rtohid has joined #ste||ar
nan1 has joined #ste||ar
<weilewei> hkaiser yt?
kale_ has joined #ste||ar
gonidelis has quit [Remote host closed the connection]
weilewei has quit [Ping timeout: 240 seconds]
kale_ has quit [Client Quit]
Abhishek09 has joined #ste||ar
kale_ has joined #ste||ar
akheir has joined #ste||ar
kale_ has quit [Remote host closed the connection]
shahrzad has joined #ste||ar
weilewei has joined #ste||ar
weilewei60 has joined #ste||ar
weilewei has quit [Ping timeout: 240 seconds]
Abhishek09 has quit [Remote host closed the connection]
nk__ has joined #ste||ar
nikunj97 has quit [Ping timeout: 260 seconds]
nikunj97 has joined #ste||ar
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
nk__ has quit [Ping timeout: 256 seconds]
kasjhdkjh has joined #ste||ar
nikunj97 has quit [Ping timeout: 250 seconds]
shahrzad has quit [Ping timeout: 260 seconds]
avah has joined #ste||ar
<avah> the gas station at west parker / burbank was on fire
<zao> Sounds impractical.
kasjhdkjh has quit [Remote host closed the connection]
<avah> i was in my car watching the fire.
avah has quit [Remote host closed the connection]
<simbergm> hmm
<simbergm> freifrau_von_bleifrei: see PR on hpx-kokkos-interopt-WIP
<simbergm> I take back my promise about updating the spack package, it's still based on the makefiles and I don't want to deal with that ;)
<simbergm> gdaiss: ^
<zao> simbergm: This will warm your IRC-hating heart - we migrated our site from IRC to Rocket.Chat over the course of a day :D
<gdaiss[m]> <simbergm "I take back my promise about upd"> ms: Aww, I am currently in the middle of trying to build everything with spack!
gonidelis has joined #ste||ar
<simbergm> aw, crap
<simbergm> zao: I love IRC! :P
<simbergm> gdaiss: I can update the spack file but no promises it will be upstreamed, I don't know how they want to deal with the transition from makefiles to cmake (if they want to support old versions etc.!?)
<simbergm> zao: what made you choose rocket.chat (no prejudice, genuinely curious)?
<zao> Self-hosted a hard requirement for GDPR. Easy invitation of personel from other sites and collaborations. We had some in-house experience hosting a server at scale for NeIC.
<simbergm> gdaiss: and to continue that sentence: I don't want to be responsible for handling their spack file ;)
<zao> Other sites in Sweden run Matrix, but that has the whole multi-server/identity problem.
<zao> Installation process is easy enough (Ubuntu has snaps for it), and it can be backed up properly.
<simbergm> I've never used those, but they're very recently updated
<gdaiss[m]> <simbergm "gdaiss: I can update the spack f"> If it doesn't get upstreamed I can just use it locally for now. The issue was that the HPX backend was not available over the Kokkos spack package, right? I am currently still stuck with trying to build octotiger with Spack and havn't touched Kokkos with Spack yet
<simbergm> zao: sounds like a pretty good thing
<gdaiss[m]> <simbergm "gdaiss: also, there's actually a"> interesting, I'll have a look
nikunj97 has joined #ste||ar
<simbergm> how is it compared to say slack or something like that?
<simbergm> gdaiss: I'm guessing that is actually what they intend to upstream
nikunj has quit [Ping timeout: 256 seconds]
<simbergm> if it's easy enough to use those package files I recommend you use them
<simbergm> they use cmake and have the hpx backend as an option
<gdaiss[m]> yup, seems to be exactly what we need! Nice
nikunj has joined #ste||ar
<simbergm> ah, except that hpx is missing from the device list... small enough change for you ;)
<simbergm> I'm off to have dinner now
<simbergm> working from home is weird...
<hkaiser> gdaiss[m]: we maintain the hpx spack recipe on the main spack repo now
<zao> It's slightly janky in some regards w.r.t. notifications and unread-messages UI.
<zao> But Good Enough.
<zao> (was distracted by work)
<gdaiss[m]> Yes, I saw that! It's already installed on my machine 🙂
<gonidelis> what is the difference between `hpx/parallel/container_algorithms/some_random_range_algo.hpp` and ` hpx/parallel/container_algorithms.hpp`. I mean why do we nead both headers?
<zao> It's often quite convenient to have collective headers on a higher level for end-user code that doesn't know or care about which particular deep one to include.
<gonidelis> (y) got it. thanks!
<zao> With the drawback that you include more junk with a potential impact on compile cost.
<gonidelis> yeah I thought about that. As far as I 've read this happens on range based algorithms. It's just ranges... what could go wrong.
akheir has quit [Quit: Leaving]
Abhishek09 has joined #ste||ar
Abhishek09 has quit [Remote host closed the connection]
Abhishek09 has joined #ste||ar
nan1 has quit [Ping timeout: 240 seconds]
<gonidelis> I would like to ask what are these C++ working drafts that I often encounter on your issues. I understand that have to something with c++ standarization. Who writes them and how formal are they? Where do they used and how often are they written?
<hkaiser> gonidelis: these documents are not binding, they are proposals for standardization
akheir has joined #ste||ar
<gonidelis> oh ok...
<gonidelis> who writes them?
ahkeir1 has joined #ste||ar
<hkaiser> gonidelis: whoever wants to propose something for the c++ standard
akheir has quit [Read error: Connection reset by peer]
<Yorlik> hkaiser: I just saw msimberg merged the std:variant/std:tuple serialization into master - this would be head, not stable, right? Because I want to build this and see if it works for us.
<Yorlik> NVM - just saw it seems to be the same :)
nan1 has joined #ste||ar
Abhishek09 has quit [Remote host closed the connection]
<hkaiser> Yorlik: stable is automatically tagged from the last successfully test run of off master
<Yorlik> Seems to be still out of sync for me - I'm trying to use the commit hash as tag, so I can use it easily with out build system. Stiull experimenting - I'm so bad with git - lol.
<Yorlik> Seems it's building and accepted "8269dd13183efa3bc0fa5346e7a26cc069ee0414" a valid git tag
<hkaiser> Yorlik: circleci takes a while to cycle
<gonidelis> is hello_world_component.cpp here (https://stellar-group.github.io/hpx-docs/latest/html/manual/creating_hpx_projects.html#using-hpx-with-cmake-based-projects) unfinished. I can see a single open parenthesis at the end
<gonidelis> ???
<hkaiser> gonidelis: no idea what you're talking about
<Yorlik> hkaiser: I am getting errors like "No serialization method found - which files would I have to include? Currently I am using <hpx/serialization.hpp> only.
<hkaiser> Yorlik: ahh, I might have forgotten to #include the new files there
<Yorlik> OK - I'll dive into the serializatiopn subdir
<diehlpk_work> Workshop acceptance notification for SC20 is today March 20, 2020 – Notifications sent
<hkaiser> just #include the variant and tuple serialization headers directly for now
<diehlpk_work> Fingers crossed for our submission
<hkaiser> hpx/serialization/std_tuple.hpp
<hkaiser> diehlpk_work: yah
<hkaiser> Yorlik: I'll create another PR later today fixing this
<Yorlik> Thanks !
<Yorlik> For std::variant its just /variant.hpp?
<Yorlik> (no std_.. version
<hkaiser> yes
<hkaiser> hpx/serialization/variant.hpp
<gonidelis> on the last line of hello_word_component.cpp of the link that i provided there is this `HPX_REGISTER_ACTION(`. I think that's not compilable...
<hkaiser> gonidelis: sorry, I don't see it
<hkaiser> is this a documentation problem?
<hkaiser> ahh now I get it
<hkaiser> it's an documentation error
<hkaiser> I fixed it, will create a PR soon, thanks for reporting
<gonidelis> great :D i am glad to help!
<diehlpk_work> hkaiser, Sagiv and I found out why Kevin's result are not soo good
<diehlpk_work> At least why he is getting different numbers of sub grids as we
<diehlpk_work> He uses the total time and not the computation time
<diehlpk_work> hkaiser, Our new target notification date is Wednesday, March 25, 2020. So we have to wait few more days for the SC 20
nikunj has quit [Ping timeout: 260 seconds]
<hkaiser> diehlpk_work: ok
<diehlpk_work> This would explain at least the bad speedups
<hkaiser> yes
<diehlpk_work> Since the IO increases with the nodes
<hkaiser> nice catch!
<diehlpk_work> Some for the sub grids per joules
<diehlpk_work> I think we have to come up with a better metric there
<diehlpk_work> We get the total amount of joules for the total run time
<diehlpk_work> So dividing the sub grids by the total amount of joules is not perfect
<diehlpk_work> we have the same issue here with the IO
<bita> hkaiser, I think #1133 is ready to go. However, right now Phylanx is broken
<diehlpk_work> So we should discuss next Tue
<bita> hkaiser, sorry. And that was a typo! I am not subscribed to hpx-devel mailing list but I received that email and I thought I have replied. I just replied and I asked Nifras to join us here.
rtohid has quit [Ping timeout: 240 seconds]
weilewei60 has quit [Ping timeout: 240 seconds]
<hkaiser> bita: thanks!
<hkaiser> bita: for #1133, let's wait for the tests to cycle
<hkaiser> I'll merge once it's green
<bita> of course
nikunj has joined #ste||ar
nan1 has quit [Ping timeout: 240 seconds]
nan1 has joined #ste||ar
<Yorlik> For some reason a small test program I created compoiles - but it never calls seialize
bita has quit [Quit: Leaving]
<Yorlik> Without the variants it compiles and wrks nicely.
<hkaiser> Yorlik: does the test run?
<Yorlik> Yes, but it's just a struct with the serialize template - It never gets specialized since unused.
<Yorlik> I could try to check that.
<Yorlik> I added the full error message to the gist
<hkaiser> Yorlik: you say 'it explodes' what happens?
<Yorlik> error C2338: No serialization method found
<Yorlik> It does not knopw how to serialize the variant
<Yorlik> I had a vector of vaiants and reduced it to a simple variant
<Yorlik> Still .. It dislikes it
<hkaiser> hmm, pls cretae a minimal example
<hkaiser> create
<Yorlik> OK
<hkaiser> and a ticket
gonidelis has quit [Ping timeout: 240 seconds]
<Yorlik> Whats the output archives ?
<Yorlik> Like here: hpx::serialization::basic_archive<> ar;
<Yorlik> What goes in the angles
<Yorlik> KK found it
<Yorlik> hkaiser: I am getting
<Yorlik> C:\__A\Arc_Sb\repos\sim\tests_standalone\misc\hpx_serialization_test.cpp(23): error C2512: 'hpx::serialization::output_archive': no appropriate default constructor available for this line: hpx::serialization::output_archive ar;
<Yorlik> Argh ... seeing the constructor
<hkaiser> Yorlik: this does not even use the variant
<Yorlik> Huh?
<hkaiser> ahh no, it does
<hkaiser> thanks
<Yorlik> The tuple compiles
diehlpk_work has quit [Remote host closed the connection]
diehlpk_work has joined #ste||ar
<diehlpk_work> hkaiser, We have a SC paper meeting at 5:30
<diehlpk_work> Do you want to join?
<hkaiser> diehlpk_work: yes
<hkaiser> I'll join
<hkaiser> pls send me the invitation
<diehlpk_work> Ok, it is just a local meeting with the LSU guys
<diehlpk_work> Skype
<diehlpk_work> Will call you
<hkaiser> Yorlik: there is a typo in the cmake files for the variant serialization - so the tests never even compiled
<hkaiser> that explains why we have not seen this yet
<Yorlik> lol - sound like real life :)
<Yorlik> Glad to help
<hkaiser> diehlpk_work: ok, can we do zoom instead?
<diehlpk_work> Yes, we could use the same link as we use for Tuesday
<hkaiser> ok
<Yorlik> hkaiser: There is something really vexing to me: I removed "args" from the serialization function. Still: It seems args get serialized and arrive on the other side in the message handler. I'm not sure if I'm overlooking something obviously stupid or if, for some reason, the message still gets serialized, despit a amember of it not being in the serializer.
<hkaiser> Yorlik: if the struct is simple enough the c++17 autoatic serialization function generation might kick in
<hkaiser> automatic
<hkaiser> make the member private
<hkaiser> that should prevent it from happening
<Yorlik> hkaiser: that seems to be the case AND: args is a vector of variants !
<Yorlik> BUT the string is not working
<hkaiser> sure, no problem with that
<Yorlik> double and int variants get transmitted correctly.
<hkaiser> give me a sec, I'm working on fixing things
<Yorlik> :)
<Yorlik> With the fix?
<Yorlik> Or on the old version?
<hkaiser> with the fix
<Yorlik> Sweet.
<hkaiser> just wanted to show you how to to use the serialization
<Yorlik> Yeah - I see its a brushed version of my crappy testcode. Thanks ! :)
nikunj97 has quit [Read error: Connection reset by peer]
<hkaiser> Yorlik: you never should call the serialize function directly, always use 'ar & data'
<hkaiser> or ar << data and ar >> data
<Yorlik> OK
<Yorlik> Noted! :)
<Yorlik> We're approaching a state where we have a scriptable simulation running on one machine. Spreading it to more machines should then be pretty trivial.
<Yorlik> The variant vectors are used for scriptable vararg message handlers.
<hkaiser> nod, figures
shahrzad has joined #ste||ar
<ahkeir1> hkaiser, could you send my another token for github action on hpx
<hkaiser> Yorlik: see #4449
<hkaiser> akheir sure, let me try
<hkaiser> ahkeir1: ^^
<Yorlik> hkaiser: Building it ... :)
<hkaiser> ahkeir1: see pm
nan1 has quit [Ping timeout: 240 seconds]
<Yorlik> hkaiser: Does it compile for you with this commit?( from #4449 ): e95e1f83818088fb122ff5993ec651e0fe4cb71d ?? Because it doesn't for me.
<hkaiser> Yorlik: grrr
<hkaiser> Yorlik: sorry for wasting your time
* Yorlik adds a beer to the list ;)
<Yorlik> I rather strike a beer from the list I owe you :)
* Yorlik has no clue how often he wasted this channels time.
<hkaiser> let me try again, I screwed up my commit and then probably didn't fix it properly
* Yorlik nods
<Yorlik> Sounds very familiar :)
<Yorlik> I'll gladly run another compile and test. I finally understood how to make it work fast and easy.
<hkaiser> Yorlik: give me a couple of minutes
<Yorlik> Being able to use commit hashes as tags makes it super easy for me.
<Yorlik> NP - don't rush it.
parsa| has joined #ste||ar
parsa has quit [Ping timeout: 246 seconds]
parsa| is now known as parsa
<hkaiser> Yorlik: try again (I did force push however)
<Yorlik> Same commit hash?
<Yorlik> OK - got the hash
<hkaiser> same branch
<hkaiser> fixing_4448
<Yorlik> I check out by commit hashes. It's a new hash for your commit
<Yorlik> In CMake I can simply switch stable, 1.4.0 or a commit hash as needed
diehlpk_work has quit [Remote host closed the connection]
<Yorlik> hkaiser: It doesn't build with 5a221c1205dcbe92f8cf9c5c361b9562e3f75ea5