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
25 stars 4 forks source link

Nonblocking backend may perform dynamic allocations #285

Open anyzelman opened 9 months ago

anyzelman commented 9 months ago

E.g., in nonblocking/blas1.hpp:553 . It should instead rely on the internal global buffer for such things, as otherwise it clashes with performance semantics (which typically prefer no system calls may be made, including allocations) while the current solution is also not using NUMA-aware allocation (which the global buffer does use).

anyzelman commented 9 months ago

Prioritising higher as the use in nonblocking/coordinates.hpp seems to indicate false sharing is possible

anyzelman commented 9 months ago

Prioritising higher as the use in nonblocking/coordinates.hpp seems to indicate false sharing is possible

more precisely, false sharing on local_prefix_sum in the function prefixSumComputation()