NVlabs / timeloop

Timeloop performs modeling, mapping and code-generation for tensor algebra workloads on various accelerator architectures.
https://timeloop.csail.mit.edu/
BSD 3-Clause "New" or "Revised" License
303 stars 99 forks source link

Timeloop mapper constraint output #258

Open Yukiona1996 opened 2 months ago

Yukiona1996 commented 2 months ago

Hi,

On running the timeloop-mapper with a mapping constraint, what does the utilisation that is rendered at the end of the execution refer to? Is it utilisation of the PE's? Or does it refer the reuse of data?

Thanks!

angshuman-parashar commented 2 months ago

Arithmetic unit utilization. It's affected by (1) spatial utilization, i.e., the % of arithmetic units that have work mapped onto them (determined by spatial fanout factors) and (2) temporal utilization, i.e., the average % of cycles the units were busy (which can be less than 100% if the mapping is bandwidth-throttled by data movement).

Yukiona1996 commented 2 months ago

That would mean the problem defined as, problem: instance: C: 128 Hdilation: 1 Hstride: 1 M: 256 N: 1 P: 56 Q: 56 R: 3 S: 3 Wdilation: 1 Wstride: 1

P and Q defines the spatial dimensions?
angshuman-parashar commented 2 months ago

No. This is an unmapped problem that has not been mapped over space or time. If you haven't done so already, I recommend watching our video tutorials. They explain how the dimensions of an unmapped problem are broken into tiles and subsequently projected onto hardware space and time using a mapping.