summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/mem_latency_stat.cc
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2010-08-29 14:55:25 -0800
committerTor Aamodt <[email protected]>2010-08-29 14:55:25 -0800
commit80e1b49ff823190d0316623d414a343575c93eae (patch)
tree273e041128687af72e31161cce5759f6819aef97 /src/gpgpu-sim/mem_latency_stat.cc
parent5cb919d7fbe3e5b388b9c83b22762dad96da56b1 (diff)
- integrate changes from fermi-test (CL's under that path in range 7261-7418).
(add scoreboard logic from ptxplus branch and modified operand collector with parallel ALU/SFU pipelines) passing regressions [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 7419]
Diffstat (limited to 'src/gpgpu-sim/mem_latency_stat.cc')
-rw-r--r--src/gpgpu-sim/mem_latency_stat.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/gpgpu-sim/mem_latency_stat.cc b/src/gpgpu-sim/mem_latency_stat.cc
index 625e54f..f225087 100644
--- a/src/gpgpu-sim/mem_latency_stat.cc
+++ b/src/gpgpu-sim/mem_latency_stat.cc
@@ -104,7 +104,6 @@ unsigned int **totalbankwrites; //bankwrites[dram chip id][bank id]
unsigned int **totalbankreads; //bankreads[dram chip id][bank id]
unsigned int **totalbankaccesses; //bankaccesses[dram chip id][bank id]
unsigned int *requests_by_warp;
-unsigned int *MCB_accesses; //upon cache miss, tracks which memory controllers accessed by a warp
unsigned int *num_MCBs_accessed; //tracks how many memory controllers are accessed whenever any thread in a warp misses in cache
unsigned int *position_of_mrq_chosen; //position of mrq in m_queue chosen
unsigned *mf_num_lat_pw_perwarp;
@@ -149,8 +148,7 @@ void memlatstat_init( )
mf_max_lat_table = (unsigned **) calloc(gpu_n_mem, sizeof(unsigned *));
bankreads = (unsigned int***) calloc(gpu_n_shader, sizeof(unsigned int**));
bankwrites = (unsigned int***) calloc(gpu_n_shader, sizeof(unsigned int**));
- MCB_accesses = (unsigned int*) calloc(gpu_n_mem*4, sizeof(unsigned int));
- num_MCBs_accessed = (unsigned int*) calloc(gpu_n_mem*4+1, sizeof(unsigned int));
+ num_MCBs_accessed = (unsigned int*) calloc(gpu_n_mem*gpu_mem_n_bk, sizeof(unsigned int));
if (gpgpu_dram_sched_queue_size) {
position_of_mrq_chosen = (unsigned int*) calloc(gpgpu_dram_sched_queue_size, sizeof(unsigned int));
} else
@@ -512,7 +510,7 @@ void memlatstat_print( )
printf("\nNumber of Memory Banks Accessed per Memory Operation per Warp (from 0):\n");
unsigned long long accum_MCBs_accessed = 0;
unsigned long long tot_mem_ops_per_warp = 0;
- for (i=0;i<= gpu_n_mem*4 ; i++ ) {
+ for (i=0;i<= gpu_n_mem*gpu_mem_n_bk ; i++ ) {
accum_MCBs_accessed += i*num_MCBs_accessed[i];
tot_mem_ops_per_warp += num_MCBs_accessed[i];
printf("%d\t", num_MCBs_accessed[i]);