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]
nikunj has quit [Ping timeout: 255 seconds]
nikunj has joined #ste||ar
nikunj97 has joined #ste||ar
nikunj has quit [Ping timeout: 255 seconds]
ronniegandhi has joined #ste||ar
ronniegandhi has quit [Remote host closed the connection]
nikunj97 has quit [Ping timeout: 258 seconds]
nikunj97 has joined #ste||ar
nikunj97 has quit [Ping timeout: 258 seconds]
<Yorlik> Concerning HPX serialization:
<Yorlik> 1. Is all serialization in the <"hpx/serialization/..." headers the
<Yorlik> "hpx zero copy serialization" or the "hpx serialization" as distinguished in the benchmarks at
<Yorlik> 2. If not - what would I have to do to use it? (since it's obviously faster)
<Yorlik> 3. I saw support for tuples:
<Yorlik> but it looks as if it is a special "hpx::util::tuple" what about "std::tuple" ?
<Yorlik> 4. If I'd have to use some special "hpx::util::tuple": How well could it replace "std::tuple"?
<Yorlik> I'm particularly asking, because functions from our Lua Engine with variable numbers of return types
<Yorlik> and arguments get passed as std::tuple, which we'll have to serialize and dispatch to
<Yorlik> remote handler functions, so I'm considering using a combination of
<Yorlik> either std::vector<>, std::tuple or std::array<> with either std::variant<> or
<Yorlik> a custom union type with built-in home brewn serialization.
<Yorlik> I'm aware marshalling the dynamic nature of Lua to C++ is some sort of loss here,
<Yorlik> but I want to solve this as elegently, performant and hassle-free as possible.
<Yorlik> Ideas?
<Yorlik> BBL - time for lunch break .. I'll read up.
hkaiser has joined #ste||ar
<Yorlik> hkaiser: yt?
<hkaiser> Yorlik: here
<Yorlik> I had a question - mind reading up?
hkaiser has quit [Quit: bye]
jaafar has quit [Remote host closed the connection]
jaafar has joined #ste||ar
jaafar has quit [Ping timeout: 256 seconds]
hkaiser has joined #ste||ar
<Yorlik> hkaiser: yt?
<hkaiser> Yorlik: here now
<Yorlik> Sweet!
<hkaiser> sorry, needed to run this morning
<Yorlik> NP. I had a question earlier - mind reading up the logs? Or should I re-post everything?
<zao> At some time in the past we've had abstraction over what sort of tuple we had, as it predates std::tuple by quite a bit.
<Yorlik> Its straight up
<Yorlik> I need to make std::variant and std::tuple working
<Yorlik> with HPX serializatzion.
<hkaiser> Yorlik: ok
<hkaiser> varaint is trivial, just copy what I linked for phylanx::util::variant and change phyalnx::util::variant for std::variant
<hkaiser> for std::tuple you might be able to do the same with the hpx tuple serialization
<Yorlik> Like in the file I linked?
<hkaiser> or simply use c++17 fold expressions
<Yorlik> Allright. What about the other qustion? I assume it's all zero copy by default?
<Yorlik> hkaiser: The recursive wrapper is boost heritage. Would this work with std::variant or shouzld I just delete the template specializations using it?
<hkaiser> Yorlik: all of hpx serializaton is zero copy on the serialization end, de-serialization is not zero-copy
<Yorlik> The phylanc wrapper doesn't look to complicated to not use it
<hkaiser> yah, if you don't need the recursive_wrapper, just delete it
<Yorlik> OK - thouzgh I like the idea of recirsive varinats.
<Yorlik> Oh my keyboard's trolling me - lol
<Yorlik> Allright - compiles, now tuples and then messaging implementation :)
<Yorlik> hkaiser: It seems the tuple file is using #include <hpx/type_support/pack.hpp> (nonexistent in HPX) and hpx::util::index_pack which is now undefined. What wouzld be the appropriate fix here?
<hkaiser> go back in history to see, the header has changed (was hpx/util/detail/pack.hpp or somesuch)
<hkaiser> index_pack was util::detail::index_pack iirc
<hkaiser> Yorlik: depends on the hpx version you use
<Yorlik> I didn't find index_pack in the doxygen docs I made
<Yorlik> I'm using 1.4.0 in the moment
<hkaiser> index_pack<N> == pack_c<size_t , N>
<Yorlik> ok
<Yorlik> Thanks !
<Yorlik> OK - working on it.
<hkaiser> Yorlik: you can use std::integer_sequence instead of pack
<hkaiser> and std::make_integer_sequence
<Yorlik> I'll look into it.