Different accelwattch

98 views
Skip to first unread message

Rodrigo Huerta Gañan

<rodrigo.huerta.ganan@upc.edu>
unread,
Mar 4, 2022, 6:03:36 AM3/4/22
to accel-sim
Hi, I have been trying accelwattch and I have different questions.

1-> gpu_avg_IBP is the average power of the Instruction Buffer?
2-> gpu_avg_SCHEDP is the average power of the scheduler?
3-> If I want to modify the associated power to the Instruction Buffer, What value in the xml file Should I change? TOT_INST?
4-> How can I add a custom component to measure its power? For example of a architecture modification. I haven't found that in the documentation.

Thanks.

Vijay Kandiah

<vijaykandiah2018@u.northwestern.edu>
unread,
Mar 5, 2022, 12:09:31 AM3/5/22
to accel-sim
Hi Rodrigo,

1), 2), 3) Yes, you are correct about these three. Similarly, the value FP_INT in the xml file corresponds to the scheduler.

4) To add a new custom component, you would need three new variables:
  • Baseline energy-per-access: Modeled inside AccelWattch;  directly in gpgpu_sim_wrapper.cc or in the McPAT files. This energy estimate could be derived by other means (hardware synthesis, analytically, ...).
  • Activity factor: Received from the performance model (Accel-Sim, GPGPU-Sim) of the new component. For example; If the new component is an execution unit, look at shader_core_ctx::incexecstat() and follow how the activity counters are updated from there. For instance, incfpmul_stat() increments the counter for floating point multiply with: active thread count in the current floating point multiply warp instruction * the scaling factor FP_MUL_ACC in the xml file. The power_stat.cc/h files keep track of such activity counters on a per AccelWattch sampling period basis and power_interface.cc connects the performance model to AccelWattch (through gpgpu_sim_wrapper.cc/h). This is where these performance model activity factors are passed down to the power model at the end of every AccelWattch sampling interval (default 500 cycles).)
  • Weight/scaling factor: tuned by AccelWattch’s solver for the existing components. You can leave this scaling factor at 1 (no additional scaling) for new custom components for which no implementations exist in real hardware to tune against.
Hope this helps!

Regards,
Vijay


Rodrigo Huerta Gañan

<rodrigo.huerta.ganan@upc.edu>
unread,
Mar 7, 2022, 6:25:43 AM3/7/22
to accel-sim
Hi, thanks for answering. I have some additional questions regarding the Instruction Buffer. 

1) The 10 that is TOT_INST of the .xml is a factor that belongs to each Instruction Buffer of each warp,  or it is for the whole GPU? How it was obtained? With microbenchmarking? Is the units watts?
2) Is at gpgpu_sim_wrapper::update_components_power() where it is computed?
3) If 2) is true, the proc->cores[0]->ifu->IB->rt_power.writeOp.dynamic has the purpose of modeling the reading of the instruction buffer when it is evaluated for checking of issuing an instruction in scheduler_unit::cycle()?
4) If 3) is true, Is that computation for the whole GPU or for each warp?

Rodrigo Huerta Gañan

<rodrigo.huerta.ganan@upc.edu>
unread,
Mar 8, 2022, 9:17:42 AM3/8/22
to accel-sim
Hi, also I have forgetting to ask if the scoreboard is counted anywhere in the model or it is skipped.

Vijay Kandiah

<vijaykandiah2018@u.northwestern.edu>
unread,
May 6, 2022, 2:11:33 AM5/6/22
to accel-sim

Hi Rodrigo,


My apologies for the late reply. Here are answers to your questions:

1) The TOT_INST of .xml file is a scaling factor that is used here https://github.com/accel-sim/gpgpu-sim_distribution/blob/release-accelwattch/src/accelwattch/gpgpu_sim_wrapper.cc#L278 to scale the power of the instruction buffer for essentially the whole GPU per time interval. This factor was obtained from our constrained quadratic programming solver during the microbenchmarking process. However, note that It is impossible for a single microbenchmark to stress only the instruction buffer and keep the rest of the system idle. 

2) I don't understand this question, TOT_INST is not computed anywhere, it is obtained from our solver. The activity factor for instruction buffer is the number of decoded instructions obtained at get_total_inst() in power_stats.h.

The scoreboard is accounted for in McPAT's proc->cores[0]->Pipeline_energy which is multiplied by PIPE_A, the weight for pipeline access in AccelWattch. There is no way in AccelWattch to extract the power consumption of only the scoreboard.

Regards,
Vijay

Rodrigo Huerta Gañan

<rodrigo.huerta.ganan@upc.edu>
unread,
May 7, 2022, 10:45:47 AM5/7/22
to accel-sim
Ok, thanks
Reply all
Reply to author
Forward
0 new messages