31 #include "tests/datasets/GEMMLowpFusedOffsetOutputDataset.h"
32 #include "tests/datasets/LargeGEMMLowpDataset.h"
33 #include "tests/datasets/ShapeDatasets.h"
34 #include "tests/datasets/SmallGEMMLowpDataset.h"
39 #include "tests/validation/fixtures/GEMMLowpFixture.h"
74 GEMMLowpMatrixMultiplyCoreFusedOffsetOutputGenericValidationFixture<CLTensor, CLAccessor, CLGEMMLowpMatrixMultiplyCore, false, false, uint8_t, uint8_t, true>;
78 combine(datasets::SmallGEMMLowpFusedBatchedMatMulDataset(),
80 make(
"reshape_b_only_on_first_run", {
false })))
86 using CLGEMMLowpMatrixMultiplyCoreFusedOffsetOutputFixtureBatchedSigned =
87 GEMMLowpMatrixMultiplyCoreFusedOffsetOutputGenericValidationFixture<CLTensor, CLAccessor, CLGEMMLowpMatrixMultiplyCore, false, false, int8_t, int8_t, true>;
90 combine(datasets::SmallGEMMLowpFusedBatchedMatMulDataset(),
92 make(
"reshape_b_only_on_first_run", {
false })))
103 combine(datasets::SmallGEMMLowpFusedOffsetOutputUint8Dataset(),
105 make(
"reshape_b_only_on_first_run", {
true,
false })))
113 GEMMLowpMatrixMultiplyCoreFusedOffsetOutputGenericValidationFixture<CLTensor, CLAccessor, CLGEMMLowpMatrixMultiplyCore, false, true>;
115 combine(datasets::SmallGEMMLowpFusedOffsetOutputOutput3DUint8Dataset(),
117 make(
"reshape_b_only_on_first_run", {
true,
false })))
125 using CLGEMMLowpMatrixMultiplyCoreFusedOffsetOutputInputOutput3DUint8Fixture =
126 GEMMLowpMatrixMultiplyCoreFusedOffsetOutputGenericValidationFixture<CLTensor, CLAccessor, CLGEMMLowpMatrixMultiplyCore, true, true>;
128 combine(datasets::SmallGEMMLowpFusedOffsetOutputInputOutput3DUint8Dataset(),
130 make(
"reshape_b_only_on_first_run", {
true,
false })))
138 combine(datasets::LargeGEMMLowpFusedOffsetOutputUint8Dataset(),
140 make(
"reshape_b_only_on_first_run", {
true,
false })))
147 using CLGEMMLowpMatrixMultiplyCoreFusedOffsetOutputInt8Fixture =
148 GEMMLowpMatrixMultiplyCoreFusedOffsetOutputValidationFixture<CLTensor, CLAccessor, CLGEMMLowpMatrixMultiplyCore, false, false, int8_t, int8_t>;
150 combine(datasets::SmallGEMMLowpFusedOffsetOutputInt8Dataset(),
164 validate(CLAccessor(_target), _reference);
169 validate(CLAccessor(_target), _reference);
174 using CLGEMMLowpMatrixMultiplyCoreInputOutput3DFixture = GEMMLowpMatrixMultiplyCoreValidationFixture<CLTensor, CLAccessor, CLGEMMLowpMatrixMultiplyCore, true, true>;
175 FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMLowpMatrixMultiplyCoreInputOutput3DFixture, framework::
DatasetMode::PRECOMMIT, datasets::SmallGEMMLowpInputOutput3DDataset())
178 validate(CLAccessor(_target), _reference);
183 validate(CLAccessor(_target), _reference);
194 const auto quantize_down_int32_to_uint8_scale_cases =
make("result_offset", -2, 1) *
make("result_mult_int", 1, 2) *
make("result_shift", 2, 3)
195 *
make("min", 0) *
make("max", 255) *
make("addBias", {
false,
true });
198 *
make(
"result_shift", 2, 3) *
make(
"min", 0, 2) *
make(
"max", 171, 173) *
make(
"addBias", {
false,
true });
203 combine(datasets::SmallShapes(), quantize_down_int32_to_uint8_scale_cases))
222 const auto quantize_down_int32_to_int8_scale_cases =
make("result_offset", -2, 1) *
make("result_mult_int", 1, 2) *
make("result_shift", 2, 3)
223 *
make("min", -128) *
make("max", 127) *
make("addBias", {
false,
true });
226 *
make(
"result_shift", 2, 3) *
make(
"min", -100, -98) *
make(
"max", 71, 73) *
make(
"addBias", {
false,
true });
231 combine(datasets::SmallShapes(), quantize_down_int32_to_int8_scale_cases))
252 using CLGEMMLowpQuantizeDownInt32ScaleByFloatFixture =
258 datasets::TinyShapes(),
259 make("result_real_multiplier", 0.33f),
260 make("result_offset", 2, 3),
263 make("addBias", {
false,
true })))
271 using CLGEMMLowpQuantizeDownInt32ScaleByFloatFixture_Signed =
276 datasets::TinyShapes(),
277 make("result_real_multiplier", 0.33f),
278 make("result_offset", 2, 3),
281 make("addBias", {
false,
true })))