You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by GitBox <gi...@apache.org> on 2019/11/22 03:23:12 UTC

[GitHub] [incubator-tvm] liangfu commented on issue #4392: [VTA] Enable streamlined GEMM execution

liangfu commented 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 (some entries still need to be updated)
   
   | design | area (in ALMs) | fmax (1100mV,  slow 100C) | fmax (1100mV,  slow -40C) | fmax (1100mV,  fast 100C) | fmax (1100mV,  fast -40C) | cycle count |
   | -- | -- | -- | -- | -- | -- | -- |
   | PipeAdderX4 | -- | -- | -- | -- | -- | -- |
   | PipeAdderX2 AdderX2 | -- | -- | -- | -- | -- | -- |
   | AdderX4 | 18,186/41,910 (43%) | 60.72 MHz | 58.82 MHz | 92.43 MHz | 114.97 MHz | -- |
   
   

----------------------------------------------------------------
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:
users@infra.apache.org


With regards,
Apache Git Services