summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTayler Hetherington <[email protected]>2013-03-17 18:58:56 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:50:05 -0700
commit4955d4b0f265368d62bda62e603c5e3eeaf486ed (patch)
tree0d046518492181ce6c5540b431fff2510e02e876
parent4af310ff21d1b0cbd884343aaf8b48519fdd02b8 (diff)
Adding other power stats to reset function
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15522]
-rw-r--r--CHANGES2
-rw-r--r--src/gpgpu-sim/power_interface.cc2
-rw-r--r--src/gpuwattch/gpgpu_sim_wrapper.cc23
-rw-r--r--src/gpuwattch/gpgpu_sim_wrapper.h2
4 files changed, 25 insertions, 4 deletions
diff --git a/CHANGES b/CHANGES
index 85b1f7a..700fb1d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -65,7 +65,7 @@ Version 3.2.0+edits (development branch) versus 3.2.0
operation was broken
- Fixed a bug in setup_enironment that trashed your LD_LIBRARY_PATH if
GPGPUSIM_ROOT was not the first entry in the list;.
- - Fixed a GPUWattch bug where the performance counters were not being correctly
+ - Fixed a GPUWattch bug where the performance counters were not being correctly
reset when a kernel completes.
Version 3.2.0 versus 3.1.2
diff --git a/src/gpgpu-sim/power_interface.cc b/src/gpgpu-sim/power_interface.cc
index 4ff6cf2..0c67039 100644
--- a/src/gpgpu-sim/power_interface.cc
+++ b/src/gpgpu-sim/power_interface.cc
@@ -124,5 +124,5 @@ void mcpat_cycle(const gpgpu_sim_config &config, const struct shader_core_config
}
void mcpat_reset_perf_count(class gpgpu_sim_wrapper *wrapper, bool do_print){
- wrapper->reset_perf_counters(do_print);
+ wrapper->reset_counters(do_print);
}
diff --git a/src/gpuwattch/gpgpu_sim_wrapper.cc b/src/gpuwattch/gpgpu_sim_wrapper.cc
index bfcf4a1..df90de5 100644
--- a/src/gpuwattch/gpgpu_sim_wrapper.cc
+++ b/src/gpuwattch/gpgpu_sim_wrapper.cc
@@ -224,7 +224,7 @@ void gpgpu_sim_wrapper::init_mcpat(char* xmlfile, char* powerfilename, char* pow
}
-void gpgpu_sim_wrapper::reset_perf_counters(bool do_print){
+void gpgpu_sim_wrapper::reset_counters(bool do_print){
if(do_print)
print_trace_files();
@@ -234,6 +234,27 @@ void gpgpu_sim_wrapper::reset_perf_counters(bool do_print){
for(unsigned i=0; i<num_pwr_cmps; ++i){
pwr_cmp_avg[i]= 0;
}
+
+ for(unsigned i=0; i<num_pwr_cmps; ++i){
+ pwr_cmp_max[i]= 0;
+ }
+
+ for(unsigned i=0; i<num_pwr_cmps; ++i){
+ pwr_cmp_min[i]= 0;
+ }
+
+ for(unsigned i=0; i<num_pwr_cmps; ++i){
+ perf_count_avg[i]= 0;
+ }
+
+ for(unsigned i=0; i<num_pwr_cmps; ++i){
+ perf_count_min[i]= 0;
+ }
+
+ for(unsigned i=0; i<num_pwr_cmps; ++i){
+ perf_count_max[i]= 0;
+ }
+
return;
}
diff --git a/src/gpuwattch/gpgpu_sim_wrapper.h b/src/gpuwattch/gpgpu_sim_wrapper.h
index 115db43..f37d4f8 100644
--- a/src/gpuwattch/gpgpu_sim_wrapper.h
+++ b/src/gpuwattch/gpgpu_sim_wrapper.h
@@ -61,7 +61,7 @@ public:
void print_trace_files();
void update_components_power();
void update_coefficients();
- void reset_perf_counters(bool do_print);
+ void reset_counters(bool do_print);
void print_power_kernel_stats(double gpu_sim_cycle, double gpu_tot_sim_cycle, double init_value, const std::string & kernel_info_string);
void power_metrics_calculations();
void set_inst_power(bool clk_gated_lanes, double tot_cycles, double busy_cycles, double tot_inst, double int_inst, double fp_inst, double load_inst, double store_inst, double committed_inst);