summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAhmed El-Shafiey <[email protected]>2012-11-30 21:46:50 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:49:22 -0700
commitecc7998d319050a219507b2d7c965b2152f4072e (patch)
tree457043f3dad17d7c4bc32f595525224bc3320cc9 /src
parent36ce0f2243fd0723a746b3c2f5f0651577312400 (diff)
remove parts of the code that will confuse the users
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14725]
Diffstat (limited to 'src')
-rw-r--r--src/mcpat/gpgpu_sim_wrapper.cc120
1 files changed, 0 insertions, 120 deletions
diff --git a/src/mcpat/gpgpu_sim_wrapper.cc b/src/mcpat/gpgpu_sim_wrapper.cc
index 4a8550d..6867f70 100644
--- a/src/mcpat/gpgpu_sim_wrapper.cc
+++ b/src/mcpat/gpgpu_sim_wrapper.cc
@@ -602,126 +602,6 @@ void gpgpu_sim_wrapper::update_components_power()
}
assert("Total Power does not equal the sum of the components\n" && sanity_check(sum_pwr_cmp,proc_power));
-
- double sum_perf_times_coeff=0;
- for(unsigned i=0; i<num_per_counts; i++){
- sum_perf_times_coeff+=perf_count[i]*effpower_coeff[i];
- }
-
-
- sum_perf_times_coeff+=const_dynamic_power;
- assert("processor power\n" && sanity_check(sum_perf_times_coeff,proc_power));
-
- double * sc = perf_count;
- double * pc = effpower_coeff;
- double ib_id_power= ( proc->cores[0]->ifu->IB->rt_power.readOp.dynamic+
- proc->cores[0]->ifu->IB->rt_power.writeOp.dynamic+
- proc->cores[0]->ifu->ID_misc->rt_power.readOp.dynamic+
- proc->cores[0]->ifu->ID_operand->rt_power.readOp.dynamic+
- proc->cores[0]->ifu->ID_inst->rt_power.readOp.dynamic)/(proc->cores[0]->executionTime);
- double inspected_ib_id_power=perf_count[TOT_INST]*effpower_coeff[TOT_INST];
- assert("IB_ID power\n" && sanity_check(ib_id_power,inspected_ib_id_power));
-
- double icache_power=proc->cores[0]->ifu->icache.rt_power.readOp.dynamic/(proc->cores[0]->executionTime);
- double inspected_icache_power=(sc[IC_H]*pc[IC_H]+sc[IC_M]*pc[IC_M]);
- assert("I$ power\n" && sanity_check(icache_power,inspected_icache_power));
-
- double caches_mcl_power=( proc->cores[0]->lsu->dcache.rt_power.readOp.dynamic + proc->mc->frontend->PRT->power_t.readOp.dynamic + proc->mc->frontend->threadMasks->power_t.readOp.dynamic+ proc->mc->frontend->PRC->power_t.readOp.dynamic)/(proc->cores[0]->executionTime); // dcache + mcl
- caches_mcl_power+=proc->cores[0]->lsu->tcache.rt_power.readOp.dynamic/(proc->cores[0]->executionTime); // tcache
- caches_mcl_power+=proc->cores[0]->lsu->ccache.rt_power.readOp.dynamic/(proc->cores[0]->executionTime); // ccache
- double inspected_caches_mcl_power = (sc[DC_RH]*pc[DC_RH])+(sc[DC_RM]*pc[DC_RM])+(sc[DC_WH]*pc[DC_WH])+(sc[DC_WM]*pc[DC_WM]);
- inspected_caches_mcl_power += (sc[TC_H]*pc[TC_H])+(sc[TC_M]*pc[TC_M]);
- inspected_caches_mcl_power += (sc[CC_H]*pc[CC_H])+(sc[CC_M]*pc[CC_M]);
- assert("D$ + T$ + C$ + MCL power\n" && sanity_check(caches_mcl_power,inspected_caches_mcl_power));
-
-
- double shmem_power=proc->cores[0]->lsu->sharedmemory.rt_power.readOp.dynamic/(proc->cores[0]->executionTime);
- double inspected_shmem_power=(sc[SHRD_ACC]*pc[SHRD_ACC]);
- assert("SHRD power\n" && sanity_check(shmem_power,inspected_shmem_power));
-
- double regfile_power_adjusted=(proc->cores[0]->exu->rfu->rt_power.readOp.dynamic/(proc->cores[0]->executionTime))*(proc->cores[0]->exu->rf_fu_clockRate/proc->cores[0]->exu->clockRate);
- double inspected_regfile_power_adjusted=((sc[REG_RD]*pc[REG_RD])+(sc[REG_WR]*pc[REG_WR])+(sc[NON_REG_OPs]*pc[NON_REG_OPs]));
- assert("RG power\n" && sanity_check(regfile_power_adjusted,inspected_regfile_power_adjusted));
-
- double alu_power_adjusted=(proc->cores[0]->exu->exeu->rt_power.readOp.dynamic/(proc->cores[0]->executionTime))*(proc->cores[0]->exu->rf_fu_clockRate/proc->cores[0]->exu->clockRate);
- double inspected_alu_power_adjusted=(sc[SP_ACC]*pc[SP_ACC]);
- assert("ALU power\n" && sanity_check(alu_power_adjusted,inspected_alu_power_adjusted));
-
- double mul_power=(proc->cores[0]->exu->mul->rt_power.readOp.dynamic/(proc->cores[0]->executionTime));
- double inspected_mul_power=(sc[SFU_ACC] * pc[SFU_ACC]);
- assert("SFU power\n" && sanity_check(mul_power,inspected_mul_power));
-
- double fpu_power=(proc->cores[0]->exu->fp_u->rt_power.readOp.dynamic/(proc->cores[0]->executionTime));
- double inspected_fpu_power=(sc[FPU_ACC] * pc[FPU_ACC]);
- assert("FPU power\n" && sanity_check(fpu_power,inspected_fpu_power));
-
- double sched_power=proc->cores[0]->exu->scheu->rt_power.readOp.dynamic/(proc->cores[0]->executionTime);
- double inspected_sched_power= (sc[FP_INT]*pc[FP_INT]);
-
- assert("FPU power\n" && sanity_check(sched_power,inspected_sched_power));
-
- double ifu_power=proc->cores[0]->ifu->rt_power.readOp.dynamic/(proc->cores[0]->executionTime);
- double inspected_ifu_power = (sc[IC_H]*pc[IC_H]+sc[IC_M]*pc[IC_M]);
- inspected_ifu_power += perf_count[TOT_INST]*effpower_coeff[TOT_INST];
- inspected_ifu_power+=(sc[PIPE_A]*pc[PIPE_A]/3);
- assert("IFU power\n" && sanity_check(ifu_power,inspected_ifu_power));
-
- double core_power = proc->cores[0]->rt_power.readOp.dynamic/(proc->cores[0]->executionTime);
- core_power += ( proc->mc->frontend->PRT->power_t.readOp.dynamic + proc->mc->frontend->threadMasks->power_t.readOp.dynamic+ proc->mc->frontend->PRC->power_t.readOp.dynamic)/(proc->cores[0]->executionTime); // mcl
- double inspected_core_power = 0;
- for (unsigned i = 0; i <=FPU_ACC; i++)
- inspected_core_power += sc[i]*pc[i];
-
- unsigned index = PIPE_A;
- inspected_core_power += sc[index]*pc[index];
- index = IDLE_CORE_N;
- inspected_core_power += sc[index]*pc[index];
- assert("Core power\n" && sanity_check(core_power,inspected_core_power));
-
- // l2 power
- double l2_power = (proc->XML->sys.number_of_L2s>0)? proc->l2array[0]->rt_power.readOp.dynamic/(proc->cores[0]->executionTime):0;
- double inspected_l2_power = 0;
- for (unsigned i = L2_RH; i <= L2_WM; i++)
- inspected_l2_power += sc[i]*pc[i];
- assert("L2$ power\n" && sanity_check(l2_power,inspected_l2_power));
-
- double noc_power =proc->noc.rt_power.readOp.dynamic;
- double inspected_noc_power = sc[NOC_A] * pc[NOC_A];
- assert("NoC power\n" && sanity_check(noc_power,inspected_noc_power));
-
- double mc_frontend_power = (proc->mc->frontend->rt_power.readOp.dynamic)/(proc->cores[0]->executionTime); // NoC access no longer relates to memc power
- mc_frontend_power -= ( proc->mc->frontend->PRT->power_t.readOp.dynamic + proc->mc->frontend->threadMasks->power_t.readOp.dynamic+ proc->mc->frontend->PRC->power_t.readOp.dynamic)/(proc->cores[0]->executionTime); // mcl
- double inspected_mc_frontend_power = 0;
- double mc_frondend_read_coeff = 0;
- double mc_frondend_write_coeff = 0;
- MemoryController * mc = proc->mc;
-
- mc_frondend_read_coeff += (mc->frontend->mcp.llcBlockSize*8.0/mc->frontend->mcp.dataBusWidth*mc->frontend->mcp.dataBusWidth/72)*(mc->frontend->frontendBuffer->local_result.power.searchOp.dynamic);
- mc_frondend_read_coeff += (mc->frontend->mcp.llcBlockSize*8.0/mc->frontend->mcp.dataBusWidth*mc->frontend->mcp.dataBusWidth/72)*(mc->frontend->frontendBuffer->local_result.power.readOp.dynamic);
- mc_frondend_read_coeff += (mc->frontend->mcp.llcBlockSize*8.0/mc->mcp.dataBusWidth)*(mc->frontend->readBuffer->local_result.power.readOp.dynamic);
- mc_frondend_read_coeff += (mc->frontend->mcp.llcBlockSize*8.0/mc->mcp.dataBusWidth)*(mc->frontend->readBuffer->local_result.power.writeOp.dynamic);
-
- mc_frondend_write_coeff += (mc->frontend->mcp.llcBlockSize*8.0/mc->frontend->mcp.dataBusWidth*mc->frontend->mcp.dataBusWidth/72)*(mc->frontend->frontendBuffer->local_result.power.searchOp.dynamic);
- mc_frondend_write_coeff += (mc->frontend->mcp.llcBlockSize*8.0/mc->frontend->mcp.dataBusWidth*mc->frontend->mcp.dataBusWidth/72)*(mc->frontend->frontendBuffer->local_result.power.writeOp.dynamic);
- mc_frondend_write_coeff += (mc->frontend->mcp.llcBlockSize*8.0/mc->frontend->mcp.dataBusWidth)* (mc->frontend->writeBuffer->local_result.power.readOp.dynamic);
- mc_frondend_write_coeff += (mc->frontend->mcp.llcBlockSize*8.0/mc->frontend->mcp.dataBusWidth)* (mc->frontend->writeBuffer->local_result.power.writeOp.dynamic);
- inspected_mc_frontend_power += mc_frondend_read_coeff * sc[MEM_RD] * p->sys.scaling_coefficients[MEM_RD];
- inspected_mc_frontend_power += mc_frondend_write_coeff * sc[MEM_WR] * p->sys.scaling_coefficients[MEM_WR];
- inspected_mc_frontend_power += (mc->frontend->power.readOp.dynamic*0.1*mc->frontend->mcp.clockRate*mc->frontend->mcp.num_mcs*mc->frontend->mcp.executionTime);
- inspected_mc_frontend_power /= proc->cores[0]->executionTime;
- assert("mc frontend\n" && sanity_check(mc_frontend_power,inspected_mc_frontend_power));
-
-
- double memc_power = (proc->mc->rt_power.readOp.dynamic)/(proc->cores[0]->executionTime); // NoC access no longer relates to memc power
- memc_power -= ( proc->mc->frontend->PRT->power_t.readOp.dynamic + proc->mc->frontend->threadMasks->power_t.readOp.dynamic+ proc->mc->frontend->PRC->power_t.readOp.dynamic)/(proc->cores[0]->executionTime); // mcl
- double inspected_memc_power = 0;
- for (unsigned i = MEM_RD; i <= MEM_PRE; i++)
- inspected_memc_power += sc[i]*pc[i];
- inspected_memc_power += const_dynamic_power;
- assert("mc + dram power\n" && sanity_check(memc_power,inspected_memc_power));
-
-
-
}
void gpgpu_sim_wrapper::compute()