Closed Farbin closed 3 months ago
The default run_layer function sets "has_power_gating" to True for the macro, which lets the unused macros be power gated when unused to avoid leakage power. You may turn this setting off to measure their leakage. In general, when running designs, I set has_power_gating to True for tiles to let each tile be independently power gated if unused.
There's currently no way to set the number of macros based on the weight tensor sizes automatically. I have a few ideas, however. You may try:
Thank you very much for your reply Tanner. I think I can use the last option you said. Just to verify, is this the right way to force the minimal number of macro usage?
And is the right way to find out how many macros were utilized is to look at the Utilized instances (max)
number in the row drivers OR column drivers? For example, if my macro size is rxc
, then ceil(row drivers utilized instances (max) / r)
would be the. number of used macros?
That is the correct way to set the minimal number of instances.
As for your second question, I'm not sure where these parameters would be coming from. What is rxc ? You can also look at the mapping to derive the number of utilized instances pretty easily.
Thanks so much! About the second question, this is the mapping I get for the second convolution layer in vgg16 with 32x32 macro size. Does it mean: 3 x 3 x 2 x 2 = 36 macros are used?
Yes, yes it does!
Thank you very much! I really appreciate your help!
Hi! Could you kindly answer these two questions?
For ws_dummy_buffer_many_macro, there is a fixed number of 4096 macros. What happens to the unused macros? Won’t they draw leakage energy?
How can we set the number of macros based on the weight size of the full model in CiMLoop?
Thanks!