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
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 255 seconds]
K-ballo1 is now known as K-ballo
weilewei has quit [Remote host closed the connection]
nikunj has quit [Remote host closed the connection]
nikunj has joined #ste||ar
nikunj97 has quit [Read error: Connection reset by peer]
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
hkaiser has quit [Quit: bye]
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
nikunj has quit [Ping timeout: 258 seconds]
nikunj has joined #ste||ar
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
nikunj has quit [Read error: Connection reset by peer]
nikunj 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
Yorlik has quit [Read error: Connection reset by peer]
Yorlik has joined #ste||ar
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
mdiers_1 has joined #ste||ar
mdiers_ has quit [Ping timeout: 260 seconds]
mdiers_1 is now known as mdiers_
nikunj has quit [Remote host closed the connection]
nikunj has joined #ste||ar
sirohi_ has joined #ste||ar
hkaiser has joined #ste||ar
<zao> Finally, Git tooling that can help with the heft of the HPX repository - https://vfsforgit.org/ :P
<hkaiser> zao: assuming our repo is considered 'massive'
<hkaiser> they talk about 12+ hours needed for cloning ...
<zao> MS monorepo they cite is "300G".
<zao> HPX isn't that bad, but still downloads a ton of dead weight on a non-shallow clone.
<zao> Seems a bit behind on Git versions and a bit unpolished at the moment, but interesting nevertheless.
<zao> I just found out that my favourite Git GUI is becoming a paid product, time to find a new one. :(
<K-ballo> which git gui is that?
<zao> "Fork"
<zao> "Free, $49.99 soon", three concurrent machines
<zao> (Windows and mac clients)
hkaiser has quit [Quit: bye]
nikunj has quit [Remote host closed the connection]
nikunj has joined #ste||ar
sirohi_ has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
<Yorlik> Is there any other purpose behind client components besides type safety? I have to consider using these or just construct an interface around an id_type (or a typed id_type wrapper struct) which I expose to Lua manually with free functions. Not sure yet what would be more work.
<hkaiser> just type safety and convenience
<Yorlik> Thanks. So I'll just have to see what's more practical and creates less allocations/deallocations.
<Yorlik> Exposing to Lu still requires me to list every single method/function anyways.
<Yorlik> Lua
<hkaiser> Yorlik: clients are essentially fancy future<id_type>'s
<Yorlik> I still have to think how to expose futures and id_types to Lua. I will need them, but I want to hide them away as much as possible from scripters. But I won't be able to hide away the asynchronous environment from scripters entirely and it would probably be very inefficient to do so.
<Yorlik> Got some tricky design thinking to do.
<hkaiser> Yorlik: one of our collaborators here at CCT has created LUA bindings for HPX before
<hkaiser> those bindings had futures as well, iirc
<Yorlik> I think I will just expose futures entirely transparently and have a way to store them until the next frame, when the objects get updated again.
<Yorlik> So scripters will have to understand the semantics of checking futures. But I will not expose wait or get, to not block a running update task.
<Yorlik> Just a check and when it passes get the value.
<Yorlik> Or something like try_func_sync() which works for local requests and fails for remotes.
hkaiser has quit [Ping timeout: 240 seconds]
bita_ has joined #ste||ar
bita has quit [Ping timeout: 240 seconds]
hkaiser has joined #ste||ar
nikunj has quit [Remote host closed the connection]
nikunj has joined #ste||ar
nikunj has quit [Remote host closed the connection]
nikunj has joined #ste||ar
parsa has quit [Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net]
nikunj has quit [Remote host closed the connection]
nikunj has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
<Yorlik> Is there a way to register actions from templates or would I have to write all specializations manually?
hkaiser has joined #ste||ar
<Yorlik> hkaiser: YT?
<hkaiser> here
<Yorlik> Is there a way to register actions from templates or would I have to write all specializations manually?
<hkaiser> template actions or actions on template component types
<Yorlik> I need to send any type of message with attached data across the network and am looking for the best way to do it.
<Yorlik> Its about usertype messages.
<hkaiser> so a template action
<Yorlik> Very dynamic data - can even be defined outside C++ on the Lua Side.
<Yorlik> Imagine a user defines a message with a callback which takes arbitrary arguments
<Yorlik> I see - line 84 FF in the example. Thats one step at least.
<Yorlik> The Lua problem is special I need to think about that separately.
<Yorlik> Thanks for the link!
<Yorlik> hkaiser: Would serialization for a vector of std::variant work?
<hkaiser> hmmm
<hkaiser> sec
<hkaiser> Yorlik: by default we can only serialize boost::variant in HPX, iirc
<hkaiser> for std::variant you need to add a serialization function, see for instance here: https://github.com/STEllAR-GROUP/phylanx/blob/master/phylanx/util/serialization/variant.hpp
<Yorlik> OK. So - since I have to bridge between the madness of Lua and the strictness of C++ - going with boost::variant would hopefully allow me to do this halfway elegantly .. (Better than falling back to vectors of byte or sth ...)
<hkaiser> it should work if you replaced hpx::util::variant with std::variant
<Yorlik> OK - I'll do experiments.
<hkaiser> using std::variant will work as well
<hkaiser> I meant replace phylanx::util::varaint with std::variant in that code I linked
<hkaiser> in c++17 phylanx::util::variant == std::variant anyways
<Yorlik> We use C++17
<hkaiser> yah sure, I just wanted to say that we introduced our own variant to support things before c++17
<hkaiser> it's 100% conforming
<Yorlik> OK. I'll probably use Vectors or arrays of variant to send message arguments
<Yorlik> Maybe tuples - I'll have to see what works best
<hkaiser> right
weilewei has joined #ste||ar
hkaiser has quit [Quit: bye]
parsa has joined #ste||ar