| 715 | } |
| 716 | |
| 717 | std::vector<TestArg> get_int8_nchw4_tensorcore_args(size_t kernel_size) { |
| 718 | std::vector<TestArg> args; |
| 719 | param::ConvBias cur_param; |
| 720 | |
| 721 | using NLMode = param::ConvBias::NonlineMode; |
| 722 | |
| 723 | // clang-format off |
| 724 | for (auto nlmode : {NLMode::IDENTITY, NLMode::RELU, NLMode::H_SWISH}) { |
| 725 | for (auto mode : {param::ConvBias::Mode::CROSS_CORRELATION}) { |
| 726 | size_t b = 64, oc = 128; |
| 727 | for (size_t ic : {32, 64}) { |
| 728 | for (size_t h : {8}) { |
| 729 | for (size_t w : {11}) { |
| 730 | for (int p : {static_cast<int>(kernel_size / 2), 0}) { |
| 731 | for (size_t s : {1, 2}) { |
| 732 | size_t f = kernel_size; |
| 733 | cur_param.mode = mode; |
| 734 | cur_param.nonlineMode = nlmode; |
| 735 | |
| 736 | cur_param.format = param::ConvBias::Format::NCHW4; |
| 737 | cur_param.sparse = param::ConvBias::Sparse::DENSE; |
| 738 | cur_param.pad_h = cur_param.pad_w = p; |
| 739 | cur_param.stride_h = cur_param.stride_w = s; |
| 740 | |
| 741 | //! bias channel |
| 742 | args.emplace_back(cur_param, TensorShape{b, ic / 4, h, w, 4}, |
| 743 | TensorShape{oc, ic / 4, f, f, 4}, |
| 744 | TensorShape{1, oc / 4, 1, 1, 4}); |
| 745 | } } } } } |
| 746 | } } |
| 747 | // clang-format on |
| 748 | |
| 749 | return args; |
| 750 | } |
| 751 | |
| 752 | std::vector<TestArg> get_int8_chwn4_tensorcore_args(size_t kernel_size) { |
| 753 | auto args = get_int8_nchw4_tensorcore_args(kernel_size); |
no test coverage detected