"target ISA combination"
env['USE_KVM'] = False
+ if env['BUILD_GPU']:
+ env.Append(CPPDEFINES=['BUILD_GPU'])
+
# Warn about missing optional functionality
if env['USE_KVM']:
if not main['HAVE_PERF_ATTR_EXCLUDE_HOST']:
#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;
if (seq != NULL) {
m_outstandReqHistSeqr.add(seq->getOutstandReqHist());
}
+#ifdef BUILD_GPU
GPUCoalescer *coal = ctr->getGPUCoalescer();
if (coal != NULL) {
m_outstandReqHistCoalsr.add(coal->getOutstandReqHist());
}
+#endif
}
}
}
}
}
-
+#ifdef BUILD_GPU
GPUCoalescer *coal = ctr->getGPUCoalescer();
if (coal != NULL) {
// add all the latencies
}
}
}
+#endif
}
}
}