summaryrefslogtreecommitdiff
path: root/src/mem/ruby
diff options
context:
space:
mode:
authorTony Gutierrez <anthony.gutierrez@amd.com>2017-01-19 11:59:34 -0500
committerTony Gutierrez <anthony.gutierrez@amd.com>2017-01-19 11:59:34 -0500
commit1961a942f395d0b880461106a09761b92e2d53f6 (patch)
treebc70ed383e9f04cc28d3742eaeab6091d0b45929 /src/mem/ruby
parent42044645b9e3a60bd77a84de6c356033d6133004 (diff)
downloadgem5-1961a942f395d0b880461106a09761b92e2d53f6.tar.xz
ruby: guard usage of GPUCoalescer code in Profiler
the GPUCoalescer code is used in the ruby profiler regardless of whether or not the coalescer code has been compiled, which can lead to link/run time errors. here we add #ifdefs to guard the usage of GPUCoalescer code. eventually we should refactor this code to use probe points.
Diffstat (limited to 'src/mem/ruby')
-rw-r--r--src/mem/ruby/profiler/Profiler.cc22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/mem/ruby/profiler/Profiler.cc b/src/mem/ruby/profiler/Profiler.cc
index 04e8331c4..900714e5d 100644
--- a/src/mem/ruby/profiler/Profiler.cc
+++ b/src/mem/ruby/profiler/Profiler.cc
@@ -56,7 +56,24 @@
#include "mem/protocol/RubyRequest.hh"
#include "mem/ruby/network/Network.hh"
#include "mem/ruby/profiler/AddressProfiler.hh"
+
+/**
+ * the profiler uses GPUCoalescer code even
+ * though the GPUCoalescer is not built for
+ * all ISAs, which can lead to run/link time
+ * errors. here we guard the coalescer code
+ * with ifdefs as there is no easy way to
+ * refactor this code without removing
+ * GPUCoalescer stats from the profiler.
+ *
+ * eventually we should use probe points
+ * here, but until then these ifdefs will
+ * serve.
+ */
+#ifdef BUILD_GPU
#include "mem/ruby/system/GPUCoalescer.hh"
+#endif
+
#include "mem/ruby/system/Sequencer.hh"
using namespace std;
@@ -361,10 +378,12 @@ Profiler::collateStats()
if (seq != NULL) {
m_outstandReqHistSeqr.add(seq->getOutstandReqHist());
}
+#ifdef BUILD_GPU
GPUCoalescer *coal = ctr->getGPUCoalescer();
if (coal != NULL) {
m_outstandReqHistCoalsr.add(coal->getOutstandReqHist());
}
+#endif
}
}
@@ -423,7 +442,7 @@ Profiler::collateStats()
}
}
}
-
+#ifdef BUILD_GPU
GPUCoalescer *coal = ctr->getGPUCoalescer();
if (coal != NULL) {
// add all the latencies
@@ -464,6 +483,7 @@ Profiler::collateStats()
}
}
}
+#endif
}
}
}