diff options
| author | tgrogers <[email protected]> | 2018-10-07 20:22:32 -0400 |
|---|---|---|
| committer | tgrogers <[email protected]> | 2018-10-07 20:22:32 -0400 |
| commit | 6bea063d90358417b9d95dd17f8c2b88491b7385 (patch) | |
| tree | 9ab5081e2b0fccfcd3e62a7f8d7bd3d8750323b7 /src/gpgpu-sim/shader.h | |
| parent | 1e2d7b4c3147a0371c26bf086024d1cf770ad60c (diff) | |
| parent | e97db22feb5aef9978feaae9f5c92507c73d7d96 (diff) | |
Merge branch 'dev-purdue-integration' of github.rcac.purdue.edu:jain156/gpgpu-sim_distribution into jain156-dev-purdue-integration
Diffstat (limited to 'src/gpgpu-sim/shader.h')
| -rw-r--r-- | src/gpgpu-sim/shader.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h index e07096e..6a40aee 100644 --- a/src/gpgpu-sim/shader.h +++ b/src/gpgpu-sim/shader.h @@ -53,6 +53,8 @@ #include "stats.h" #include "gpu-cache.h" #include "traffic_breakdown.h" +#include "histogram.h" + @@ -1478,7 +1480,15 @@ struct shader_core_stats_pod { int gpgpu_n_mem_read_global; int gpgpu_n_mem_write_global; int gpgpu_n_mem_read_inst; - + + //warps combined memory divergence histogram + linear_histogram* gpgpu_mem_divergence_hist; + linear_histogram* gpgpu_gmem_ld_divergence_hist; + linear_histogram* gpgpu_gmem_st_divergence_hist; + linear_histogram* gpgpu_shmem_divergence_hist; + + linear_histogram* warp_inst_classification; + int gpgpu_n_mem_l2_writeback; int gpgpu_n_mem_l1_write_allocate; int gpgpu_n_mem_l2_write_allocate; @@ -1547,6 +1557,12 @@ public: m_incoming_traffic_stats = new traffic_breakdown("memtocore"); gpgpu_n_shmem_bank_access = (unsigned *)calloc(config->num_shader(), sizeof(unsigned)); + gpgpu_mem_divergence_hist = new linear_histogram(1, "", config->warp_size+1); + gpgpu_gmem_ld_divergence_hist = new linear_histogram(1, "", config->warp_size+1); + gpgpu_gmem_st_divergence_hist = new linear_histogram(1, "", config->warp_size+1); + gpgpu_shmem_divergence_hist = new linear_histogram(1, "", config->warp_size+1); + + warp_inst_classification = new linear_histogram(1, "", 12); m_shader_dynamic_warp_issue_distro.resize( config->num_shader() ); m_shader_warp_slot_issue_distro.resize( config->num_shader() ); @@ -1561,6 +1577,10 @@ public: free(m_n_diverge); free(shader_cycle_distro); free(last_shader_cycle_distro); + free(gpgpu_mem_divergence_hist); + free(gpgpu_gmem_ld_divergence_hist); + free(gpgpu_gmem_st_divergence_hist); + free(warp_inst_classification); } void new_grid() |
