Algebraic-Programming / ALP

Home of ALP/GraphBLAS and ALP/Pregel, featuring shared- and distributed-memory auto-parallelisation of linear algebraic and vertex-centric programs. Soon with more to come!
Apache License 2.0
24 stars 4 forks source link

Currently, index translation between a distributed memory backend and a final backend use lambdas... #322

Open anyzelman opened 4 months ago

anyzelman commented 4 months ago

...while ideally this uses the grb::internal::Distribution class as a template argument, so as to minimise any overhead in index translation by "template magic". This also I believe would lead to cleaner code.

There is a caveat: what about stateful distributions? It looks to me at a cursory glance that states, which are currently allowed within lambda functions of course, should in fact be retained. The compiler of course will erase any stateless objects, just as it does for algebraic types at the moment already.