hkaiser changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar-group.org | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | This channel is logged: irclog.cct.lsu.edu
diehlpk_work has quit [Remote host closed the connection]
hkaiser has quit [Quit: Bye!]
jehelset has joined #ste||ar
jehelset has quit [Remote host closed the connection]
hkaiser has joined #ste||ar
<hkaiser> gnikunj[m]: wg1.link/p1899
<gnikunj[m]> Stride view should be good to have
<gonidelis[m]> hkaiser: gsoc?
<hkaiser> good point
<hkaiser> there is also P2079
<hkaiser> gonidelis[m]: if you have the time, please feel free to create a GSoC project for this and/or a ticket
<gonidelis[m]> hkaiser: p2079 or p1899?
<hkaiser> both
<hkaiser> not sure if p1899 is something we should implement, though - this is more of a std library feature - but if we want to play with the idea, sure
<gonidelis[m]> will do
<dkaratza[m]> i am about to add info about relation of hpx and c++ under title public api https://github.com/STEllAR-GROUP/hpx/blob/master/docs/sphinx/api/public_api.rst
<dkaratza[m]>
<dkaratza[m]> do you think this text is sufficient? "HPX is a C++ Standard Library for Concurrency and Parallelism, which implements all of the corresponding facilities as defined by the C++ Standard."
<dkaratza[m]> and then add a link to c++?
<dkaratza[m]> hkaiser:
<hkaiser> dkaratza[m]: perhaps a sentence that explains that our API is semantically conforming and that if the docs don't have full information the reader is encouraged to look at the crresponding facility in the std library
<dkaratza[m]> <hkaiser> "dkaratza: perhaps a sentence..." <- ok
<dkaratza[m]> also, i think i found the problem with the missing links in the API. well, it looks like the namespaces are kinda mixed
<dkaratza[m]> so, for example the rst file includes `hpx::ends_with` while the corresponding file has `namespace hpx { namespace ranges {`
<dkaratza[m]> hkaiser: so i'm suspicious
<hkaiser> dkaratza[m]: we usually have two versions of the algorithms
<hkaiser> hpx::foo and hpx::ranges::foo - corresponding to std::foo and std::ranges:;foo
<dkaratza[m]> yeah but this file is under algorithms
<hkaiser> those are in different subdirectories: algorithms/parallel/algorithms and algorithms/parallel/container_algorithms
<hkaiser> hmm, can you give me a link?
<dkaratza[m]> ok, so this file that im talking about is under algorithms but has also a namespace ranges
<dkaratza[m]> sure
<hkaiser> what file is that?
<hkaiser> that's under container_algorithms (wrong name for the ranges stuff)
<dkaratza[m]> sorry
<dkaratza[m]> i meant this one
<hkaiser> ahh, good catch
<hkaiser> the namespaces in the doxygen section of that file are wrong
<dkaratza[m]> ok
<dkaratza[m]> so it should be just hpx right?
<dkaratza[m]> ok
<dkaratza[m]> and why here it has also a different namespace
<dkaratza[m]> ?
<dkaratza[m]> i guess thats correct but i was just wondering
<hkaiser> that's an implementation detail - not visible to users
<dkaratza[m]> hmm ok, so in general the problem is the wrong namespace, but i have first to verify with you to find out which of the two is the wrong one (the one in the code or the one in the rst file)
<dkaratza[m]> in the docs we refer to it as `hpx::parallel::v1::mismatch`
<dkaratza[m]> which of the two is correct?
<gonidelis[m]> just hpx::mismatch
<dkaratza[m]> i guess the correct in this case is `hpx`
<gonidelis[m]> we started removing the ::parallel::v1
<gonidelis[m]> but we probably missed a bunch of them
<dkaratza[m]> gonidelis[m]: ahh
<dkaratza[m]> but look line 511
<gonidelis[m]> wherever you see parallel::v1 just chop it off
<dkaratza[m]> ok but then why line 511 has just hpx then?
<gonidelis[m]> ah
<dkaratza[m]> because previously hartmut said this is an implementation detail;
<gonidelis[m]> sorry... i meant we remove it from the apis
<gonidelis[m]> the namespace is still there and used internally
<gonidelis[m]> just the users are not aware of it
<gonidelis[m]> dkaratza: so just to get this straight: the namespaces the users sees are only hpx::algo and hpx::ranges::algo
<gonidelis[m]> these namespaces are always defined at the top of the file throughout that huge doxygen section
<dkaratza[m]> hkaiser: so the correct here is just hpx
<gonidelis[m]> yes
<hkaiser> dkaratza[m]: (almost) all algorithms have two versions: hpx::foo and hpx::ranges::foo
<dkaratza[m]> gonidelis[m]: yeah but there are differences so im trying to figure out which ius the correct one
<hkaiser> dkaratza[m]: however as far as the documentation is concerned, only the stuff inside the #if defined(DOXYGEN) ... #endif is relevant
<gonidelis[m]> that ^^
<hkaiser> the rest is ignored by doxygen
<dkaratza[m]> yeap i understand that, but there are quite some missing links, so i thought i could also look at the code so that i can be more efficient and recognize which is the wrong part
<dkaratza[m]> otherwise i have to ask here for every file haha
<hkaiser> yah, sure - ask away
<dkaratza[m]> do we have an algorithm `hpx::ranges::fill_n`?
<dkaratza[m]> or does this exist only as `hpx::fill_n`?
<dkaratza[m]> also `hpx::ranges::find_if
<dkaratza[m]> hpx::ranges::find_if_not`
<dkaratza[m]> its the same file, great thanxxx
<gonidelis[m]> :)))
<dkaratza[m]> ok, this file https://github.com/STEllAR-GROUP/hpx/blob/af206bb87302514f9f857e55dee0bb439ecc07ea/libs/core/algorithms/include/hpx/parallel/container_algorithms/find.hpp needs a doxygen description for hpx::ranges::find_if and hpx::ranges::find_if_not. How are we gonna address this?
<gonidelis[m]> ah crap
<gonidelis[m]> dkaratza: we will need to fill it up
<gonidelis[m]> i will help u with that since it needs some technical knowledge
<dkaratza[m]> <gonidelis[m]> "i will help u with that since it..." <- great thanx
<dkaratza[m]> Does `hpx::ranges::stable_partition` actually exist?
<gonidelis[m]> you can `git grep "stable_partition{"`
<gonidelis[m]> and it will pop up
<dkaratza[m]> gonidelis[m]: 👌👌👌
hkaiser has quit [Ping timeout: 240 seconds]
hkaiser has joined #ste||ar