diff options
| author | Tim Rogers <[email protected]> | 2011-10-27 09:01:15 -0800 |
|---|---|---|
| committer | Andrew Boktor <[email protected]> | 2014-08-14 13:18:23 -0700 |
| commit | f76b1aaeea5077e83f95ef39564e73bcbec25b37 (patch) | |
| tree | c41d6fab7551854960a7342239791dea174d6be0 /src/gpgpu-sim/shader.h | |
| parent | 52047f8c7ac9fa2ce47b5b59d1539a3b494a370f (diff) | |
Fixing the varying instruction count when the cache configuration changes.
The problem was 2-fold:
1) If all the lanes hit, we were not incrementing the instruction count since the instruction did not progress to the WB stage, the scoreboard relasing is done in the ldst_unit::cycle function for cache hits. Added code there to increment the instrcution count.
2) Loads were some lanes hit in cache and some lanes do not were not being comepletely counted. Only the lanes sent off to the memory system were being counted because we were setting the warp's active lanes to the access's acrtive lanes.... I am not sure why this code was there...
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 10737]
Diffstat (limited to 'src/gpgpu-sim/shader.h')
| -rw-r--r-- | src/gpgpu-sim/shader.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h index dcb24be..e7d2f1b 100644 --- a/src/gpgpu-sim/shader.h +++ b/src/gpgpu-sim/shader.h @@ -1110,7 +1110,8 @@ public: mem_fetch *alloc( const warp_inst_t &inst, const mem_access_t &access ) const { warp_inst_t inst_copy = inst; - inst_copy.set_active(access.get_warp_mask()); + // tgrogers Oct 27, 2011 - I am commenting out this line of code, because it is screwing up our instruction counts on memory instructions. I am not sure what the point of this was, because no one seems to read the active mask on the memory fetches's warp instruction. + //inst_copy.set_active(access.get_warp_mask()); mem_fetch *mf = new mem_fetch(access, &inst_copy, access.is_write()?WRITE_PACKET_SIZE:READ_PACKET_SIZE, |
