summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/traffic_breakdown.cc
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2020-05-21 08:57:11 -0700
committerGitHub <[email protected]>2020-05-21 08:57:11 -0700
commit76217d80d9aa33126b4254f5e899f882bbc6f2fd (patch)
tree4f461a6f417f76956748fafcfb89b664f54bf6a9 /src/gpgpu-sim/traffic_breakdown.cc
parente7fbfaa347c0acf8a6702c1e684a8e2ad8d3f733 (diff)
parente9e9fcf5957530ecb927aecb5ea238e4b78a4f45 (diff)
Merge pull request #178 from purdue-aalp/dev
Merging with the last few months of work at Purdue
Diffstat (limited to 'src/gpgpu-sim/traffic_breakdown.cc')
-rw-r--r--src/gpgpu-sim/traffic_breakdown.cc89
1 files changed, 46 insertions, 43 deletions
diff --git a/src/gpgpu-sim/traffic_breakdown.cc b/src/gpgpu-sim/traffic_breakdown.cc
index 32f0d30..5cc7725 100644
--- a/src/gpgpu-sim/traffic_breakdown.cc
+++ b/src/gpgpu-sim/traffic_breakdown.cc
@@ -1,51 +1,54 @@
-#include "traffic_breakdown.h"
-#include "mem_fetch.h"
+#include "traffic_breakdown.h"
+#include "mem_fetch.h"
-void traffic_breakdown::print(FILE* fout)
-{
- for (traffic_stat_t::const_iterator i_stat = m_stats.begin(); i_stat != m_stats.end(); i_stat++) {
- unsigned int byte_transferred = 0;
- for (traffic_class_t::const_iterator i_class = i_stat->second.begin(); i_class != i_stat->second.end(); i_class++) {
- byte_transferred += i_class->first * i_class->second; // byte/packet x #packets
- }
- fprintf(fout, "traffic_breakdown_%s[%s] = %u {", m_network_name.c_str(), i_stat->first.c_str(), byte_transferred);
- for (traffic_class_t::const_iterator i_class = i_stat->second.begin(); i_class != i_stat->second.end(); i_class++) {
- fprintf(fout, "%u:%u,", i_class->first, i_class->second);
- }
- fprintf(fout, "}\n");
- }
+void traffic_breakdown::print(FILE* fout) {
+ for (traffic_stat_t::const_iterator i_stat = m_stats.begin();
+ i_stat != m_stats.end(); i_stat++) {
+ unsigned int byte_transferred = 0;
+ for (traffic_class_t::const_iterator i_class = i_stat->second.begin();
+ i_class != i_stat->second.end(); i_class++) {
+ byte_transferred +=
+ i_class->first * i_class->second; // byte/packet x #packets
+ }
+ fprintf(fout, "traffic_breakdown_%s[%s] = %u {", m_network_name.c_str(),
+ i_stat->first.c_str(), byte_transferred);
+ for (traffic_class_t::const_iterator i_class = i_stat->second.begin();
+ i_class != i_stat->second.end(); i_class++) {
+ fprintf(fout, "%u:%u,", i_class->first, i_class->second);
+ }
+ fprintf(fout, "}\n");
+ }
}
-void traffic_breakdown::record_traffic(class mem_fetch * mf, unsigned int size)
-{
- m_stats[classify_memfetch(mf)][size] += 1;
+void traffic_breakdown::record_traffic(class mem_fetch* mf, unsigned int size) {
+ m_stats[classify_memfetch(mf)][size] += 1;
}
-std::string traffic_breakdown::classify_memfetch(class mem_fetch * mf)
-{
- std::string traffic_name;
+std::string traffic_breakdown::classify_memfetch(class mem_fetch* mf) {
+ std::string traffic_name;
- enum mem_access_type access_type = mf->get_access_type();
+ enum mem_access_type access_type = mf->get_access_type();
- switch (access_type) {
- case CONST_ACC_R:
- case TEXTURE_ACC_R:
- case GLOBAL_ACC_W:
- case LOCAL_ACC_R:
- case LOCAL_ACC_W:
- case INST_ACC_R:
- case L1_WRBK_ACC:
- case L2_WRBK_ACC:
- case L1_WR_ALLOC_R:
- case L2_WR_ALLOC_R:
- traffic_name = mem_access_type_str(access_type);
- break;
- case GLOBAL_ACC_R:
- // check for global atomic operation
- traffic_name = (mf->isatomic())? "GLOBAL_ATOMIC" : mem_access_type_str(GLOBAL_ACC_R);
- break;
- default: assert(0 && "Unknown traffic type");
- }
- return traffic_name;
+ switch (access_type) {
+ case CONST_ACC_R:
+ case TEXTURE_ACC_R:
+ case GLOBAL_ACC_W:
+ case LOCAL_ACC_R:
+ case LOCAL_ACC_W:
+ case INST_ACC_R:
+ case L1_WRBK_ACC:
+ case L2_WRBK_ACC:
+ case L1_WR_ALLOC_R:
+ case L2_WR_ALLOC_R:
+ traffic_name = mem_access_type_str(access_type);
+ break;
+ case GLOBAL_ACC_R:
+ // check for global atomic operation
+ traffic_name = (mf->isatomic()) ? "GLOBAL_ATOMIC"
+ : mem_access_type_str(GLOBAL_ACC_R);
+ break;
+ default:
+ assert(0 && "Unknown traffic type");
+ }
+ return traffic_name;
}
-