Closed LAhmos closed 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
Yes, in some cases, the pred register was receiving values that caused collisions, resulting in false RAW/WAW reports. I see consistent results now
Nice work! This is precisely the reason we need to fix the warnings ;)
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:
hotspot
: 512_2_2___data_temp_512___data_power_512_output_out
hotspot
: 1024_2_2___data_temp_1024___data_power_1024_output_out
dwt2d
: __data_rgb_bmp__d_1024x1024__f__5__l_3
Great work @LAhmos :)
Fix indeterministic behavior in Scoreboard::checkCollision (reporting false RAW/WAW) function caused by uninitialized 'pred' variable when parsing the trace.