scalesim-project / scale-sim-v2

Repository to host and maintain scale-sim-v2 code
MIT License
232 stars 99 forks source link

Curious about Why compute cycles do not change when all of IfmapSramSzkB/FilterSramSzkB/OfmapSramSzkB increase #50

Closed dentionY closed 2 years ago

dentionY commented 2 years ago

@AnandS09 @jmjos @boukhary123 @ritikraj7 Okay, I am sorry to trouble you! When I use the following memory options,

IfmapSramSzkB = 16
FilterSramSzkB = 16
OfmapSramSzkB = 16
<other options remain default>
IfmapSramSzkB = 32
FilterSramSzkB = 32
OfmapSramSzkB = 32
<other options remain default>
IfmapSramSzkB = 64
FilterSramSzkB = 64
OfmapSramSzkB = 64
<other options remain default>
IfmapSramSzkB = 128
FilterSramSzkB = 128
OfmapSramSzkB = 128
<other options remain default>

I find no change in compute cycles!

In DETAILED_ACCESS_REPORT.csv, I find compute cycles could be regarded as the runtime of each layer!

Then I guess that the problem may attribute to the scale of systolic array! When I use 32 x 32 systolic array, the 16/32/64/128 KiByte sram is enough to support the calculation of systolic array with no stalls. In this thought, if I use a large systolic array, the calculation process may meet stalls and

Then I try a large systolic array (4096 x 4096) and use the following sram schemes:

IfmapSramSzkB = 1
FilterSramSzkB = 1
OfmapSramSzkB = 1
<other options remain default except array>
IfmapSramSzkB = 2
FilterSramSzkB = 2
OfmapSramSzkB = 2
<other options remain default except array>
IfmapSramSzkB = 3
FilterSramSzkB = 3
OfmapSramSzkB = 3
<other options remain default except array>

Unluckliy, the compute cycles of all of these three schemes are no difference, that is they are share the same values.

Please spare your precious time, thanks very much!

hanm2019 commented 2 years ago

I have the same question. Would you please help me with this question?