From 3f051d4e5e24943575ac4c19c358e1a0e6de621c Mon Sep 17 00:00:00 2001 From: Mahmoud Date: Sat, 30 May 2020 22:17:04 -0400 Subject: adding new specialization units --- src/trace-driven/trace_driven.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/trace-driven/trace_driven.cc') diff --git a/src/trace-driven/trace_driven.cc b/src/trace-driven/trace_driven.cc index d42ee65..0b1e24b 100644 --- a/src/trace-driven/trace_driven.cc +++ b/src/trace-driven/trace_driven.cc @@ -608,6 +608,16 @@ void trace_config::reg_options(option_parser_t opp) { "Opcode latencies and initiation for tensor in trace " "driven mode ", "4,1"); + + for (unsigned j = 0; j < SPECIALIZED_UNIT_NUM; ++j) { + std::stringstream ss; + ss << "-trace_opcode_latency_initiation_spec_op_" << j + 1; + option_parser_register(opp, ss.str().c_str(), OPT_CSTR, + &trace_opcode_latency_initiation_specialized_op[j], + "specialized unit config" + " ", + "4,4"); + } } void trace_config::parse_config() { @@ -617,6 +627,11 @@ void trace_config::parse_config() { sscanf(trace_opcode_latency_initiation_sfu, "%u,%u", &sfu_latency, &sfu_init); sscanf(trace_opcode_latency_initiation_tensor, "%u,%u", &tensor_latency, &tensor_init); + + for (unsigned j = 0; j < SPECIALIZED_UNIT_NUM; ++j) { + sscanf(trace_opcode_latency_initiation_specialized_op[j], "%u,%u", + &specialized_unit_latency[j], &specialized_unit_initiation[j]); + } } void trace_config::set_latency(unsigned category, unsigned& latency, unsigned& initiation_interval) { -- cgit v1.3