summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAaron M Barnes <[email protected]>2021-05-11 19:30:09 -0400
committerAaron M Barnes <[email protected]>2021-05-11 19:30:09 -0400
commitec55c68bcdf4406743efa591fcb30e4f467012a0 (patch)
treec9dddbcd22920c88ccd40faf76e9f5a445626ef6 /src
parent08ad0453c255bf3579dcdb390fa9e087173d8fc0 (diff)
minor fixes, pure virtual calls
Diffstat (limited to 'src')
-rw-r--r--src/abstract_hardware_model.h4
-rw-r--r--src/gpgpu-sim/shader.cc16
-rw-r--r--src/gpgpu-sim/shader.h7
3 files changed, 15 insertions, 12 deletions
diff --git a/src/abstract_hardware_model.h b/src/abstract_hardware_model.h
index 90ae448..6d431fc 100644
--- a/src/abstract_hardware_model.h
+++ b/src/abstract_hardware_model.h
@@ -1319,7 +1319,7 @@ class register_set {
bool has_ready(bool sub_core_model, unsigned reg_id) {
if (!sub_core_model) return has_ready();
assert(reg_id < regs.size());
- return (not regs[reg_id]->empty())
+ return (not regs[reg_id]->empty());
}
unsigned get_ready_reg_id() {
@@ -1388,7 +1388,7 @@ class register_set {
warp_inst_t **ready;
ready = NULL;
assert(reg_id < regs.size());
- if (not regs[reg_id]->empty)
+ if (not regs[reg_id]->empty())
ready = &regs[reg_id];
return ready;
}
diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc
index 17cf5ba..d98f10a 100644
--- a/src/gpgpu-sim/shader.cc
+++ b/src/gpgpu-sim/shader.cc
@@ -411,7 +411,7 @@ void shader_core_ctx::create_exec_pipeline() {
m_fu.push_back(new specialized_unit(
&m_pipeline_reg[EX_WB], m_config, this, SPEC_UNIT_START_ID + j,
m_config->m_specialized_unit[j].name,
- m_config->m_specialized_unit[j].latency, k));
+ m_config->m_specialized_unit[j].latency));
m_dispatch_port.push_back(m_config->m_specialized_unit[j].ID_OC_SPEC_ID);
m_issue_port.push_back(m_config->m_specialized_unit[j].OC_EX_SPEC_ID);
}
@@ -419,7 +419,7 @@ void shader_core_ctx::create_exec_pipeline() {
m_ldst_unit = new ldst_unit(m_icnt, m_mem_fetch_allocator, this,
&m_operand_collector, m_scoreboard, m_config,
- m_memory_config, m_stats, m_sid, m_tpc, static_cast<unsigned>(0));
+ m_memory_config, m_stats, m_sid, m_tpc);
m_fu.push_back(m_ldst_unit);
m_dispatch_port.push_back(ID_OC_MEM);
m_issue_port.push_back(OC_EX_MEM);
@@ -2222,8 +2222,8 @@ sp_unit::sp_unit(register_set *result_port, const shader_core_config *config,
specialized_unit::specialized_unit(register_set *result_port,
const shader_core_config *config,
shader_core_ctx *core, unsigned supported_op,
- char *unit_name, unsigned latency, unsigned issue_reg_id)
- : pipelined_simd_unit(result_port, config, latency, core, issue_reg_id) {
+ char *unit_name, unsigned latency)
+ : pipelined_simd_unit(result_port, config, latency, core, 0) {
m_name = unit_name;
m_supported_op = supported_op;
}
@@ -2367,8 +2367,8 @@ ldst_unit::ldst_unit(mem_fetch_interface *icnt,
shader_core_ctx *core, opndcoll_rfu_t *operand_collector,
Scoreboard *scoreboard, const shader_core_config *config,
const memory_config *mem_config, shader_core_stats *stats,
- unsigned sid, unsigned tpc, unsigned issue_reg_id)
- : pipelined_simd_unit(NULL, config, config->smem_latency, core, issue_reg_id),
+ unsigned sid, unsigned tpc)
+ : pipelined_simd_unit(NULL, config, config->smem_latency, core, 0),
m_next_wb(config) {
assert(config->smem_latency > 1);
init(icnt, mf_allocator, core, operand_collector, scoreboard, config,
@@ -2395,8 +2395,8 @@ ldst_unit::ldst_unit(mem_fetch_interface *icnt,
shader_core_ctx *core, opndcoll_rfu_t *operand_collector,
Scoreboard *scoreboard, const shader_core_config *config,
const memory_config *mem_config, shader_core_stats *stats,
- unsigned sid, unsigned tpc, l1_cache *new_l1d_cache, unsigned issue_reg_id)
- : pipelined_simd_unit(NULL, config, 3, core, issue_reg_id),
+ unsigned sid, unsigned tpc, l1_cache *new_l1d_cache)
+ : pipelined_simd_unit(NULL, config, 3, core, 0),
m_L1D(new_l1d_cache),
m_next_wb(config) {
init(icnt, mf_allocator, core, operand_collector, scoreboard, config,
diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h
index 5c5e9a4..62abd35 100644
--- a/src/gpgpu-sim/shader.h
+++ b/src/gpgpu-sim/shader.h
@@ -1053,6 +1053,8 @@ class simd_function_unit {
virtual bool can_issue(const warp_inst_t &inst) const {
return m_dispatch_reg->empty() && !occupied.test(inst.latency);
}
+ virtual bool is_issue_partitioned() = 0;
+ virtual unsigned get_issue_reg_id() = 0;
virtual bool stallable() const = 0;
virtual void print(FILE *fp) const {
fprintf(fp, "%s dispatch= ", m_name.c_str());
@@ -1093,6 +1095,7 @@ class pipelined_simd_unit : public simd_function_unit {
virtual bool can_issue(const warp_inst_t &inst) const {
return simd_function_unit::can_issue(inst);
}
+ virtual bool is_issue_partitioned() = 0;
unsigned get_issue_reg_id() { return m_issue_reg_id; }
virtual void print(FILE *fp) const {
simd_function_unit::print(fp);
@@ -1239,7 +1242,7 @@ class specialized_unit : public pipelined_simd_unit {
public:
specialized_unit(register_set *result_port, const shader_core_config *config,
shader_core_ctx *core, unsigned supported_op,
- char *unit_name, unsigned latency, unsigned issue_reg_id);
+ char *unit_name, unsigned latency);
virtual bool can_issue(const warp_inst_t &inst) const {
if (inst.op != m_supported_op) {
return false;
@@ -1266,7 +1269,7 @@ class ldst_unit : public pipelined_simd_unit {
shader_core_ctx *core, opndcoll_rfu_t *operand_collector,
Scoreboard *scoreboard, const shader_core_config *config,
const memory_config *mem_config, class shader_core_stats *stats,
- unsigned sid, unsigned tpc, unsigned issue_reg_id);
+ unsigned sid, unsigned tpc);
// modifiers
virtual void issue(register_set &inst);