liangfu edited a comment on issue #4392: [VTA] Enable streamlined GEMM execution
URL: https://github.com/apache/incubator-tvm/pull/4392#issuecomment-557371295
 
 
   This PR doesn't intend to reduce cycle count, or any performance improvement.
   
   My major intention is to bring successful evaluation of 
`matrix_multiply_opt.py` and `convolution_opt.py` scripts, so that we can get 
closer to bring end-to-end support in evaluating resnet18. The reason the 
evaluation of these scripts failed previously is that 
   
   > This PR fixed an issue in the streamlined GEMM execution by disabling 
pipelined adder, which consumes 4 cycles (in case of LOG_BLOCK=4) in addition 
to the single-cycle fused multiplier-adder. This is much longer than the 
4-stage streamline design in the TensorGemm module.
   
   Here are the benchmarks from Intel's Timing Analyzer (, with **cycle count** 
and **result** entry performed with `matrix_multiply_opt.py` script).
   
   | design | area (in ALMs) | fmax (slow 100C) | fmax (slow -40C) | fmax (fast 
100C) | fmax (fast -40C) | cycle count | result |
   | -- | -- | -- | -- | -- | -- | -- | -- |
   | PipeAdderX4 | 20,419/41,910 (49%) | **71.74 MHz** | 73.52 MHz | 109.12 MHz 
| 135.46 MHz | 183,038 | fail |
   | PipeAdderX1 AdderX3 | 19,811/41,910 (47%) | **65.71 MHz** | 68.54 MHz | 
106.3 MHz | 130.82 MHz | 182,990 | pass |
   | AdderX4 | 18,186/41,910 (43%) | 60.72 MHz | **58.82 MHz** | 92.43 MHz | 
114.97 MHz | 182,990 | pass |
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to