Open tanneberger opened 7 months ago
That is actually the expected behavior :sob:. The original Savina implementation in Akka has the same issue. The benchmark performs concurrent matrix multiplication with concurrent writes on shared state... Inherently, there are race conditions and wrong numbers in the result matrix. We could fix it, but we prioritized modeling the same workloads to get comparable results over fixing the benchmarks.
I think the Rust version of this benchmark actually is deterministic and avoids the race condition (because Rust forces you), but also runs considerably slower. I guess now that comparing to actor frameworks isn't such a priority anymore, we could consider fixing and changing the benchmarks to our own needs.
C Target Savina Benchmark:
./C/Savina/src/parallism/MathMul.lf
: Validation failed for (.., ..) ..