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
hkaiser has quit [Quit: bye]
akheir1 has quit [Quit: Leaving]
weilewei has quit [Remote host closed the connection]
nikunj97 has quit [Ping timeout: 240 seconds]
<heller1> K-ballo: that's the plan. Very fresh. Do you not consent?
<heller1> K-ballo: the plan is also that every contributor can submit expenses (once we have enough funds, of course)
<heller1> At least in principal...
mcopik has joined #ste||ar
mcopik has quit [Client Quit]
nikunj97 has joined #ste||ar
elfring has joined #ste||ar
hkaiser has joined #ste||ar
nan111 has joined #ste||ar
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
nikunj has quit [Ping timeout: 240 seconds]
nikunj has joined #ste||ar
nikunj has quit [Ping timeout: 265 seconds]
gonidelis has joined #ste||ar
nikunj has joined #ste||ar
nikunj has quit [Ping timeout: 265 seconds]
nikunj has joined #ste||ar
<gonidelis> hkaiser rori Just registered into rostam. I have enabled 2-step-verification. Are there any docs where I can get the basics on how rostams works?
nikunj has quit [Ping timeout: 240 seconds]
nikunj has joined #ste||ar
<hkaiser> gonidelis: Alireza has a bunch of docs somewhere, please ask him
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
gonidelis has left #ste||ar [#ste||ar]
gonidelis[m] has joined #ste||ar
<zao[m]> gonidelis: If you've got any silly questions around batch systems and modules, I've got some general competence but no experience with Rostam.
<zao[m]> Ho ho, my Matrix homeserver has some serious latency to IRC, like 10-15s for a message to propagate. Probably needs a better server than the old netbook I used.
<gonidelis[m]> zao: oh thank you very much. I have work with clusters before and I know some general info about batch jobs/systems. Just lookin on how to run things on Rostam. Nevertheless, thank you!
<gonidelis[m]> hkaiser: Should we apply `hpx::traits::is_iterator<FwdIterE>::value` in `HPX_CONCEPT_REQUIRES_()` or is it just what we want to avoid?
<gonidelis[m]> Does `is_iterator<>` allows Sentinels ?
<gonidelis[m]> accepts ^^
<hkaiser> gonidelis[m]: is a sentinel a iterator?
<gonidelis[m]> hkaiser: Welp, it's just a values so I reckon the answer is no. What condition should be used then...?
<K-ballo> some sentinels are iterators, but not all
<hkaiser> K-ballo: when is a sentinel an iterator?
<K-ballo> a plain old end iterator is a sentinel
<K-ballo> a sentinel is something you can compare an iterator against
<hkaiser> hmm, my understanding is that a sentinel is a special value a dereferenced iterator would be compared to
<K-ballo> dereferenced? no no
<hkaiser> well it != end is very different from *it != sentinel
<hkaiser> as an end-condition, that is
<K-ballo> definitely, but *it != sentinel is not a thing
<hkaiser> sure, but range.valid() or whatever the incantation is essentially does exactly that
<K-ballo> uhm, no.. is it ours?
<K-ballo> the idea of being able to check if a range is valid is.. doubius
<hkaiser> K-ballo: sure, what I meant is how do you check whether a range(it, sent) is empty
<K-ballo> it == sent
<K-ballo> it's not a sentinel *value*
<hkaiser> a range(it1, it2) is empty if it1 == it2, while a range(it, sent) is empty whenever *it == sent)
<K-ballo> no, it == sent
<hkaiser> well, a C-string is represented by the address of its first character and '\0'
<K-ballo> yes, but 0 is not a sentinel.. it may be a sentinel value
<hkaiser> ok, so how is it == sent implemented?
<K-ballo> that's sentinel specific
<K-ballo> a good old iterator doesn't need to do anything extra, == just works
<K-ballo> a sentinel for a c_str would implement == to check *it == '\0'
<hkaiser> right
<hkaiser> K-ballo: ok, so we need to implement sentinel_for<Iter>
<hkaiser> or similar
<K-ballo> that's a concept, an iterator can have infinte sentinels
<K-ballo> is_sentinel_for<Sentinel, Iter> maybe?
<hkaiser> I meant we need a trait that allows to checke whether a given S is a valid sentinel for an Itera
<K-ballo> sentinel_for<Sent, Iter> is what the standard has, sentinel_for<Iter> is the short form in which Sent is deduced
<hkaiser> nod
<K-ballo> weakly-equality-comparable-with <S, I>
nikunj97 has quit [Ping timeout: 256 seconds]
<hkaiser> gonidelis[m]: FWI, see N4861, section 23.3.4.7
<hkaiser> nod, thanks
<hkaiser> gonidelis[m]: we have some iterator and range oriented traits defined here: https://github.com/STEllAR-GROUP/hpx/tree/master/libs/iterator_support/include/hpx/iterator_support
<hkaiser> those might need adaptation and or additions
weilewei has joined #ste||ar
<gonidelis[m]> hkaiser: copy that!
weilewei has quit [Remote host closed the connection]
Yorlik has quit [Read error: Connection reset by peer]
Yorlik has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
elfring has quit [Quit: Konversation terminated!]
<gonidelis[m]> hkaiser: So I need to use `sentinel_for` inside `HPX_CONCEPT_REQUIRES_` , is that right?
<hkaiser> gonidelis[m]: yes, but that trait does not exist yet
<hkaiser> so if you want to use it you'd have to create it first
<K-ballo> not very happy with naming a boolean trait "sentinel_for".. do we have a trait for iterators?
<K-ballo> we have is_iterator and is_range, I'd expect is_sentinel_for
<K-ballo> interestingly enough, the range machinery understands sentinels but is_range does not support them.. it could make use of an is_sentinel_for
<hkaiser> K-ballo: yes, I agree
nikunj97 has joined #ste||ar
<gonidelis[m]> I create a test on tests/regressions. In order to compile the new test do I change the CMake on the same dir or in the correspoding directory on my build_directory?
<K-ballo> you should create a unit test, not a regression test.. regressions are things that were once working and then broke
<K-ballo> you shouldn't have cmake list files in your build_directory..
<gonidelis[m]> K-ballo: Thank you. You mean, like for the majority of software communities or just here in hpx?
<gonidelis[m]> about regressions ^^
<gonidelis[m]> K-ballo: indeed. I do not. My mistake
<K-ballo> you should never ah.. regression means to go back to an earlier state
<K-ballo> you got better, then you got worse again.. you regressed
<gonidelis[m]> K-ballo: I spent the last day searching the purpose of having regressions and still coulnd't figure it out. I guess it all comes down to what you just said then ;) . The reason I chose regressions though is that I am changing the begin - end iterator type on the algorithms and hkaiser had made a similar test that lies on regressions. Should I move my own test to unit?
<K-ballo> a regression test makes sure a regression doesn't resurface again
<gonidelis[m]> ahhh... nevermind. Just flashed on me that mr.Kaiser told me to put it under /unit/container_algorithms.
<K-ballo> a regression test would normally be linked to a bug report, etc
<K-ballo> they are meant real world use cases that led to uncovering bugs
<gonidelis[m]> K-ballo: yeah I get it. Thank you very much :) . So, when I put the source under /unit/container_algorithms I do update CMakeLists.txt. Then what cmake command do I use and where?
<hkaiser> just rerun make, it should invoke cmake, if needed
nicken has joined #ste||ar
nicken has quit [Remote host closed the connection]
<gonidelis[m]> *I apologize for the spam
<K-ballo> your client went rogue
<Yorlik> The matrix has you - you took the wrong pill ;)
<gonidelis[m]> Knew that IRC does not support editing but just couldn't resist fixing that format... Won't happen again
<hkaiser> gonidelis[m]: you added a file to cmakelists.txt that does not exist
<gonidelis[m]> ahhh.... found it. You have added `hpx/hpx/hpx_init_params.hpp` like 8 days ago and for some reason my fork is not synced.
<gonidelis[m]> Although I though I had synced it earlier in the day...
<K-ballo> it must be at least partially synced if the file is being reference, but that only makes it worse
<gonidelis[m]> K-ballo: yup... exactly what I thought. Just trying to solve the spaghetti right now.
<gonidelis[m]> Is it a good pratctise to add Ste||arGroup/hpx as remote to my local?
<K-ballo> you should already have it in order to have pulled those changes
<gonidelis[m]> my bad...
<hkaiser> Yorlik: FWIW, I just merged the auto_chunker fix
<Yorlik> I just saw - got the mail :)
<Yorlik> Thanks ton !
<hkaiser> good good
<hkaiser> most welcome
<Yorlik> BTW - that garbage data portion in my measurements is a precision problem mostly
<Yorlik> I just need to allow smaller numbers - which is trivial.
<Yorlik> But I need to automate it first
<hkaiser> if you say so
<Yorlik> we had data points at 0.01 ms - which was the epsilon of the output
<Yorlik> So all small latencies lead to problems
<Yorlik> But I don't feel like doing 98 datap0ints manually again. I need to automate it.
<Yorlik> At the larger workloads with longer times you see very reasonable curves, I think.