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/
<hkaiser> srinivasyadav227: sorry, I meant the .cpp test
<srinivasyadav227> okay :)
hkaiser has quit [Quit: bye]
nanmiao has quit [Ping timeout: 240 seconds]
<jedi18[m]> What's the decorated_iterator that are used in tests?
<gonidelis[m]> jedi18: let me come back to you in a while
<gonidelis[m]> jedi18: I reckon it's used in order to bind an iterator to a callback
<jedi18[m]> Oh ok got it, so we just bind a callback that throws at a random position when iterating through it
<jedi18[m]> Thanks
hkaiser has joined #ste||ar
<srinivasyadav227> hkaiser: how are clang compilers in `jenkins/cscs/clang-apex` and `jenkins/cscs/clang-newest` different from other clang-compilers? this test https://github.com/STEllAR-GROUP/hpx/blob/09adb23fb0636dfacedc17a10c6bd816b1600c10/cmake/tests/cxx20_experimental_simd.cpp was correctly failing with my local clang compiler, but passing here https://github.com/STEllAR-GROUP/hpx/pull/5328 ?
<hkaiser> srinivasyadav227: all clang compilers on linux define the __GNUC__ macro
<hkaiser> but they also define __clang__ so you can check for that as well
<hkaiser> ie. #if defined(__GNUC__) && !defined(__clang__)
<hkaiser> and could you please add a comment there explaining things?
<srinivasyadav227> <hkaiser "ie. #if defined(__GNUC__) && !de"> thank you :)
<srinivasyadav227> <hkaiser "and could you please add a comme"> in .cpp test?
<hkaiser> yes
<srinivasyadav227> sure will do it soon :)
<hkaiser> thanks!
<srinivasyadav227> hkaiser gnikunj rori : iterative algorithms like fill, generate, copy have sequential overloads in same algorithm header (like this https://github.com/STEllAR-GROUP/hpx/blob/master/libs/parallelism/algorithms/include/hpx/parallel/algorithms/generate.hpp#L157-L164) or in detail dir(like this https://github.com/STEllAR-GROUP/hpx/blob/master/libs/parallelism/algorithms/include/hpx/parallel/algorithms/detail/fill.hpp),
<srinivasyadav227> so do you have suggestions where can i implement simd overloads for these algorithms?
<gnikunj[m]> I don't think any of them is the right spot for the overloads to go in but hkaiser would be the right person to answer that
<srinivasyadav227> gnikunj: okay :)
<hkaiser> srinivasyadav227: we have started to isolate those sequential implementations into separate headers, but have not touched the one that were inline with the algorithms
<hkaiser> nod, sounds good
<hkaiser> srinivasyadav227: ^^
<gonidelis[m]> hkaiser: https://ibb.co/GsKB6sM that's what I call happiness
parsa has quit [Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net]
<hkaiser> gonidelis[m]: finally
<hkaiser> gonidelis[m]: what did you change to get this?
<gnikunj[m]> gonidelis[m]: so we're slower than cilk?
<gonidelis[m]> that's std::ma
<gonidelis[m]> std::max
parsa has joined #ste||ar
<gnikunj[m]> aah, so why are we comparing cilk multicore with sequential std::max?
<gnikunj[m]> (I don't know the context of the discussion)
<gonidelis[m]> gnikunj[m]: it's kind of weird because I am just printing the same sequential std::max 6 times, but I am mostly using it as a ground sequential reference for Cilk
<gonidelis[m]> We wanted for Cilk to run faster than <whatever sequential form of max> just to prove that it's performant
<gnikunj[m]> aah~
<gonidelis[m]> <whatever sequential form of max> could be either my custom loop, a cilk loop with 1 worker or just std::max(seq)
<gnikunj[m]> got it
<gonidelis[m]> hkaiser: I changes many things but what set that I needed to use the std::max result
<gonidelis[m]> changed^^
<gonidelis[m]> what set the stage ^^
<gonidelis[m]> (damn I am nervous)
<hkaiser> ok, cool
<gonidelis[m]> My primal suspicion is that although I tried using the result previously, I was missing sth and I wasn't actully ouputing the result of the loop I was timing
<hkaiser> makes sense
<gonidelis[m]> Now I am going to get HPX in the arena: judgement day
<gnikunj[m]> ms: is there a guide somewhere on creating execution spaces in Kokkos?
<ms[m]> gnikunj: if you mean really implementing one, at least nothing I'm aware of
<gnikunj[m]> Yes, implementing one
<gnikunj[m]> Is there a set of functions an execution space should expose along with traits?
<gnikunj[m]> I have to implement resilient execution space in Kokkos that takes base execution space instance and works on it
<ms[m]> gnikunj: mainly some template specializations (ParallelFor/Reduce/Scan), with an execute member function (iirc), and possibly some typedefs here and there
<gnikunj[m]> Aah ok. I'll look into an implementation detail.
<ms[m]> there's a lot that an execution space can support still on top of that, but the plain ParallelFor is probably the best starting point
<gonidelis[m]> we have `--hpx:threads` and what else?
hkaiser has quit [Quit: bye]
chuanqiu has joined #ste||ar
chuanqiu has quit [Quit: Connection closed]