MCPcopy Create free account
hub / github.com/ARM-software/ComputeLibrary / TEST_CASE

Function TEST_CASE

tests/validation/CL/MatMulKernel.cpp:89–178  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

87TEST_SUITE(Validate)
88
89TEST_CASE(SupportedBlockSizes, framework::DatasetMode::ALL)
90{
91 using MatMulConfigurationPair = std::pair<MatMulKernelInfo, bool>;
92
93 const std::vector<MatMulConfigurationPair> supported_block_sizes = {
94 // MatMulKernelInfo(adj_lhs, adj_rhs, M0, N0, K0, export_rhs_to_cl_image = false)
95 // Lhs not-transposed, Rhs-not-transposed
96 {MatMulKernelInfo(false, false, 0, 1, 1), false}, // M0 should be > 0
97 {MatMulKernelInfo(false, false, 3, 5, 1), false}, // N0 not in {1, 2, 3, 4, 8, 16}
98 {MatMulKernelInfo(false, false, 3, 6, 1), false}, // N0 not in {1, 2, 3, 4, 8, 16}
99 {MatMulKernelInfo(false, false, 3, 3, 17), false}, // K0 not in {1, 2, 3, 4, 8, 16}
100 {MatMulKernelInfo(false, false, 3, 3, 7), false}, // K0 not in {1, 2, 3, 4, 8, 16}
101 {MatMulKernelInfo(false, false, 9, 1, 2), true},
102 {MatMulKernelInfo(false, false, 3, 16, 3), true},
103 {MatMulKernelInfo(false, false, 7, 3, 4), true},
104 {MatMulKernelInfo(false, false, 7, 3, 4, true), false}, // N0 not in {4, 8, 16}
105 {MatMulKernelInfo(false, false, 7, 1, 4, true), false}, // N0 not in {4, 8, 16}
106 {MatMulKernelInfo(false, false, 7, 12, 4, true), false}, // N0 not in {4, 8, 16}
107 {MatMulKernelInfo(false, false, 7, 4, 4, true), true},
108 {MatMulKernelInfo(false, false, 7, 8, 4, true), true},
109 {MatMulKernelInfo(false, false, 7, 16, 4, true), true},
110
111 // Lhs not-transposed, Rhs transposed
112 {MatMulKernelInfo(false, true, 0, 1, 1), false}, // M0 should be > 0
113 {MatMulKernelInfo(false, true, 3, 11, 1), false}, // N0 not in {1, 2, 3, 4, 8, 16}
114 {MatMulKernelInfo(false, true, 3, 7, 1), false}, // N0 not in {1, 2, 3, 4, 8, 16}
115 {MatMulKernelInfo(false, true, 3, 3, 12), false}, // K0 not in {1, 2, 3, 4, 8, 16}
116 {MatMulKernelInfo(false, true, 3, 3, 6), false}, // K0 not in {1, 2, 3, 4, 8, 16}
117 {MatMulKernelInfo(false, true, 5, 1, 2), true},
118 {MatMulKernelInfo(false, true, 3, 3, 3), true},
119 {MatMulKernelInfo(false, true, 2, 4, 8), true},
120 {MatMulKernelInfo(false, true, 2, 4, 5, true), false}, // K0 not in {4, 8, 16}
121 {MatMulKernelInfo(false, true, 2, 4, 9, true), false}, // K0 not in {4, 8, 16}
122 {MatMulKernelInfo(false, true, 2, 4, 3, true), false}, // K0 not in {4, 8, 16}
123 {MatMulKernelInfo(false, true, 2, 4, 4, true), true},
124 {MatMulKernelInfo(false, true, 2, 4, 8, true), true},
125 {MatMulKernelInfo(false, true, 2, 8, 16, true), true},
126
127 // Lhs transposed, Rhs-not-transposed
128 {MatMulKernelInfo(true, false, 1, 1, 0), false}, // K0 should be > 0
129 {MatMulKernelInfo(true, false, 3, 11, 1), false}, // N0 not in {1, 2, 3, 4, 8, 16}
130 {MatMulKernelInfo(true, false, 3, 7, 1), false}, // N0 not in {1, 2, 3, 4, 8, 16}
131 {MatMulKernelInfo(true, false, 6, 3, 12), false}, // M0 not in {1, 2, 3, 4, 8, 16}
132 {MatMulKernelInfo(true, false, 5, 3, 6), false}, // M0 not in {1, 2, 3, 4, 8, 16}
133 {MatMulKernelInfo(true, false, 4, 1, 22), true},
134 {MatMulKernelInfo(true, false, 3, 3, 3), true},
135 {MatMulKernelInfo(true, false, 2, 4, 8), true},
136 {MatMulKernelInfo(true, false, 2, 3, 8, true), false}, // N0 not in {4, 8, 16}
137 {MatMulKernelInfo(true, false, 2, 7, 8, true), false}, // N0 not in {4, 8, 16}
138 {MatMulKernelInfo(true, false, 2, 5, 8, true), false}, // N0 not in {4, 8, 16}
139 {MatMulKernelInfo(true, false, 2, 4, 8, true), true},
140 {MatMulKernelInfo(true, false, 2, 8, 8, true), true},
141 {MatMulKernelInfo(true, false, 2, 16, 8, true), true},
142
143 // Lhs transposed, Rhs-transposed
144 {MatMulKernelInfo(true, true, 2, 1, 5), false}, // K0 should in {1, 2, 3, 4, 8, 16}
145 {MatMulKernelInfo(true, true, 1, 8, 7), false}, // K0 should in {1, 2, 3, 4, 8, 16}
146 {MatMulKernelInfo(true, true, 3, 11, 1), false}, // N0 not in {1, 2, 3, 4, 8, 16}

Callers

nothing calls this directly

Calls 6

MatMulKernelInfoClass · 0.50
TensorInfoClass · 0.50
TensorShapeClass · 0.50
validateFunction · 0.50
permuteFunction · 0.50

Tested by

no test coverage detected