| 4 | using namespace megcc::KernelGen; |
| 5 | #ifdef ENABLE_KERNEL_BENCHMARK |
| 6 | TEST(ARMCOMMON, BenchmarkFP32GEVM_NN) { |
| 7 | Benchmarker<MatrixMulForward> benchmarker(Arch::ARM64); |
| 8 | benchmarker.set_kernel_symbol("ArmCommon_kernel_gevm.*"); |
| 9 | size_t m = 1, k = 1000, n = 1024; |
| 10 | size_t a0 = m, a1 = k, b0 = k, b1 = n; |
| 11 | MatrixMulForward::Param param; |
| 12 | param.transposeA = false; |
| 13 | param.transposeB = false; |
| 14 | benchmarker.set_param(param); |
| 15 | if (param.transposeA) { |
| 16 | a0 = k, a1 = m; |
| 17 | } |
| 18 | if (param.transposeB) { |
| 19 | b0 = n, b1 = k; |
| 20 | } |
| 21 | benchmarker.execs({{a0, a1}, {b0, b1}, {}}).print(); |
| 22 | } |
| 23 | |
| 24 | TEST(ARMCOMMON, BenchmarkFP32GEVM_NT) { |
| 25 | Benchmarker<MatrixMulForward> benchmarker(Arch::ARM64); |