| 4 | using namespace megcc::KernelGen; |
| 5 | |
| 6 | TEST(ARMV7, Int8x8x32MatMulMK4) { |
| 7 | Checker<MatrixMulForward> checker(Arch::ARMV7); |
| 8 | MatrixMulForward::Param param; |
| 9 | UniformIntRNG rng(-127, 127); |
| 10 | checker.set_epsilon(1e-4); |
| 11 | checker.set_rng(0, &rng); |
| 12 | checker.set_rng(1, &rng); |
| 13 | checker.set_dtype(0, dtype::Int8()) |
| 14 | .set_dtype(1, dtype::Int8()) |
| 15 | .set_dtype(2, dtype::Int32()); |
| 16 | |
| 17 | checker.set_kernel_symbol("Armv7_kernel_int8x8x32_matmul_mk4_.*"); |
| 18 | size_t m = 16, k = 64, n = 8; |
| 19 | param.transposeA = false; |
| 20 | param.transposeB = false; |
| 21 | param.format = param::MatrixMul::Format::MK4; |
| 22 | checker.set_param(param); |
| 23 | checker.execs({{m / 4, k / 4, 4, 4}, {k / 4, n, 4}, {}}); |
| 24 | } |
| 25 | |
| 26 | // vim: syntax=cpp.doxygen |