accel-sim / accel-sim-framework

This is the top-level repository for the Accel-Sim framework.
https://accel-sim.github.io
Other
289 stars 110 forks source link

Fix indeterministic behavior in Scoreboard::checkCollision function #220

Closed LAhmos closed 1 year ago

LAhmos commented 1 year ago

Fix indeterministic behavior in Scoreboard::checkCollision (reporting false RAW/WAW) function caused by uninitialized 'pred' variable when parsing the trace.

cesar-avalos3 commented 1 year ago

So https://github.com/accel-sim/gpgpu-sim_distribution/blob/e033c1f2dd7019ffe2733e24c096ad0dbc0d2299/src/gpgpu-sim/scoreboard.cc#LL138C1-L138C52 was causing the issue? Great catch

LAhmos commented 1 year ago

Yes, in some cases, the pred register was receiving values that caused collisions, resulting in false RAW/WAW reports. I see consistent results now

tgrogers commented 1 year ago

Nice work! This is precisely the reason we need to fix the warnings ;)

nothingface0 commented 1 year ago

I can verify that, after re-running some of the problematic rodinia 3.1 benchmarks with the proposed fix and building for release with -O3, the results are consistent and deterministic.

The benchmarks I ran (8 times each) were the following:

Great work @LAhmos :)