K-ballo 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/
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Quit: bye]
bita has quit [Ping timeout: 245 seconds]
diehlpk_work has quit [Remote host closed the connection]
dashohoxha[m] has joined #ste||ar
dashohoxha has joined #ste||ar
syrex has joined #ste||ar
K-ballo has joined #ste||ar
hkaiser has joined #ste||ar
<dashohoxha> I am a tech writer interested about your GSoD'21 project. How should I apply?
<rachitt_shah[m]> Hey dashohoxha , have you looked at the 2021 project ideas?
<rachitt_shah[m]> You may want to start working on some issues, to get clarity.
<dashohoxha> There is only one project proposal: https://github.com/STEllAR-GROUP/hpx/wiki/GSoD-2021-Project-Proposal
<rachitt_shah[m]> Since you've gone through them, best to start working on issues. check for issues under category: documentation
<dashohoxha> Sorry, the project proposal is not about solving any issues.
<rachitt_shah[m]> <dashohoxha "Sorry, the project proposal is n"> The best way to get used to a project is by solving issues :)
<dashohoxha> rachitt_shah[m] are you a mentor for the GSoD project?
<rachitt_shah[m]> It's hkaiser
<dashohoxha> Ok, this explains why you don't know what you are talking about.
<hkaiser> dashohoxha: please be friendly
<dashohoxha> Why do you think I am not friendly?
<rachitt_shah[m]> dashohoxha just trying to help. I think mentors would agree solving issues would be a good way to start.
<dashohoxha> I have to see mentors saying that, before I give up.
<hkaiser> dashohoxha: it's not too friendly to claim that somebody doesn't know what he is talking about after 5 minutes of conversation
<dashohoxha> The application process does not work like this.
<dashohoxha> I am asking how to apply for this project.
<dashohoxha> You are telling me how to get started.
dashohoxha has quit [Quit: Connection closed]
<K-ballo> not the most productive attitude
<rachitt_shah[m]> <dashohoxha "I am asking how to apply for thi"> you need to be enrolled first either for an undergrad, masters or any enrolled program
<ms[m]> rachitt_shah, dashohoxha, we'll get back to interested writers later this week/early next week about more details on how to formally apply for being a writer for us
<ms[m]> for now, yes, getting acquainted with building the documentation is a good start, but we'll mostly be interested in hearing about your prior experience and how exactly you'd like to contribute within the project here: https://github.com/STEllAR-GROUP/hpx/wiki/GSoD-2021-Project-Proposal
<ms[m]> rachitt_shah: this is season of docs, not summer of code, and the requirements are different (one does not have to be a student for season of docs)
<rachitt_shah[m]> <ms[m] "for now, yes, getting acquainted"> Sure🙌
<ms[m]> eventually yes, but we'll let you know how and where later (we haven't finalized it yet, but we might just put a form that you get to fill in)
<rachitt_shah[m]> <ms[m] "eventually yes, but we'll let yo"> Got it. Will work on issues till then
<hkaiser> srinivasyadav227: dataseq should still be using it's own implementation
<srinivasyadav227> now since theres no (datapar/dataseq) implementation for transform_loop_ind, should i create one?
<srinivasyadav227> or should i make it to use transform_loop version of datapar/dataseq?
<hkaiser> hmmm
<hkaiser> I just can't remember
<hkaiser> I think I changed the base implementation to rely on tag_invoke, now what might be missing is to change the datapar implementations to use tag_invoke as well
<hkaiser> didn't we talk about that? (sorry, it's all fuzzy in my memory)
<srinivasyadav227> no no, during foreach_performance branch, you have implemented tranform_loop_ind only for sequenced policy, so my doubt was now tranform algorithm is calling transform_loop_ind, so this means it runs sequentially with both seq and dataseq, so should be seperate implementation for transform_loop_ind for (datapar/dataseq)?
<hkaiser> srinivasyadav227: I looked again: I converted the util::loop_n to tag_invoke only, the transform_loop_n needs to be changed, still
<hkaiser> but it currently should at least chose the transform_loop specializations here: https://github.com/STEllAR-GROUP/hpx/blob/master/libs/parallelism/algorithms/include/hpx/parallel/datapar/transform_loop.hpp
<srinivasyadav227> we are not*
<hkaiser> ahh, right - my bad
<hkaiser> I added the _ind for normal operation only, didn't think of datapar
<hkaiser> srinivasyadav227: would you be interested in adding that?
<srinivasyadav227> ok, now _ind datapar/seq should be implemented right?
<hkaiser> yes
<hkaiser> and convert everything to tag_invoke
<srinivasyadav227> yes sure ;-)
<hkaiser> analogous to loop_n
<hkaiser> but that's a lot of work, so let's chop it to pieces
<srinivasyadav227> yes, i tried converted transform_loop to tag_invoke locally, but go errors, so i got this during debugging
diehlpk_work has joined #ste||ar
diehlpk_work has quit [Changing host]
diehlpk_work has joined #ste||ar
nanmiao has joined #ste||ar
<gonidelis[m]> is it reasonable for the execution of my HPX app to stop at a `get_number_of_cores()` call?
<gonidelis[m]> sorry, I meant `get_os_thread_count()`
<hkaiser> what do you mean by 'stop'?
<hkaiser> gonidelis[m]: ^^
<gonidelis[m]> throws exception...
<gonidelis[m]> look at this
<gonidelis[m]> i am running this thing
<gonidelis[m]> and i get a `what(): the runtime system has not been initialized yet: HPX(invalid_status)`
<K-ballo> no runtime
<gonidelis[m]> yeah exactly
<gonidelis[m]> does that mean that i am obligated to go through `hpx)main` or sth?
<gonidelis[m]> `hpx_main` ^^
<K-ballo> if you want to know the number of OS threads running in the runtime, you ought to have a runtime
<K-ballo> the other overload returns 0 for some reason
<gonidelis[m]> what do you mean i need to have a runtime?
<hkaiser> gonidelis[m]: #include <hpx/hpx_main.hpp> and it will work
<gonidelis[m]> hkaiser: gosh
<gonidelis[m]> just to be clear: don't i need to iniate everything from my hpx_main though?
<gonidelis[m]> like, stop using my main as an entry point and rather use an hpx_main for this
<K-ballo> someone has to start the HPX runtime
<K-ballo> hpx_main will inject its own main and call your own from there
<K-ballo> *<hpx_main.hpp>
<gonidelis[m]> wait, should i include hpx_init.hpp or or hpx_main.hpp ?
<K-ballo> if you want hpx to define its own main, init the runtime, then call yours, include hpx_main.hpp
<K-ballo> if you want to start the runtime yourself from your own main, include hpx_init.hpp
<gonidelis[m]> god it worked
<gonidelis[m]> !
<gonidelis[m]> i can't believe it was all about an hpx_main include
<K-ballo> in order for the runtime to run, someone has to start it
<K-ballo> if it is not started, it simply wont run
<gonidelis[m]> K-ballo: ahhh.... i used a plain `main` without an `hpx_main` and i just included `hpx/hpx_main` and it worked
<gonidelis[m]> i didn't include `hpx/hpx_init`
<gonidelis[m]> i guess there is some trickery going behind the curtains
<K-ballo> hpx_main defines its own main, your main is no longer main
<K-ballo> if you brake on your main you'll see it isn't even actually called main
<gonidelis[m]> lol
<gonidelis[m]> nice way to treat the user ;p
<K-ballo> hpx_main.hpp is ideal for the kind of user that doesn't know better and doesn't have to
<gonidelis[m]> that's a good thing
<gonidelis[m]> ...if you ask me
<K-ballo> sure, that's why the header exists in the first place
<diehlpk_work> ms[m], hkaiser HPX is fixed on Fedora 34 and we can ship 1.6 in the next fedora release
<ms[m]> diehlpk_work: nice, thanks
<hkaiser> diehlpk_work: thanks for checking
<diehlpk_work> thanks hkaiser for fixing the bug
<gonidelis[m]> hkaiser: yy, I checked that and everything worked
<gonidelis[m]> thanks!!
<gonidelis[m]> literally...
<gonidelis[m]> everything...
<hkaiser> +1
<gnikunj[m]> hkaiser: do we have a meeting now or in 1h?
<hkaiser> gnikunj[m]: in one hour
<gnikunj[m]> ok
<srinivasyadav227> hkaiser: what is the difference between this " *dest = HPX_INVOKE(f, *first); " and this " *dest = HPX_INVOKE(f, first); "
<hkaiser> the second argument to HPX_INVOKE?
<srinivasyadav227> yes
<srinivasyadav227> i mean,
<hkaiser> one relies of 'f' doing the derefence of the iterator, the other does it
<srinivasyadav227> oh okk
<srinivasyadav227> hkaiser: would there be any performance improvement because of that?
<srinivasyadav227> i mean by using " *dest = HPX_INVOKE(f, *first); "
<hkaiser> I have seen that the compiler can optimize things better
<srinivasyadav227> okay
parsa| has joined #ste||ar
parsa has quit [Ping timeout: 260 seconds]
parsa| is now known as parsa
nanmiao has quit [Quit: Connection closed]
syrex has quit [Quit: syrex]
hkaiser has quit [Ping timeout: 258 seconds]
hkaiser has joined #ste||ar
hkaiser has quit [Quit: bye]