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 | | PipeAdderX2 AdderX2 | 19,811/41,910 (47%) | **66.94 MHz** | 69.93 MHz | 100.76 MHz | 125.3 MHz | 183,006 | pass | | 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
