24.04
|
#include "arm_compute/core/Types.h"
#include "arm_compute/runtime/NEON/functions/NEMatMul.h"
#include "tests/datasets/LargeMatMulDataset.h"
#include "tests/datasets/SmallMatMulDataset.h"
#include "tests/framework/Asserts.h"
#include "tests/framework/datasets/Datasets.h"
#include "tests/framework/Macros.h"
#include "tests/NEON/Accessor.h"
#include "tests/validation/fixtures/MatMulFixture.h"
#include "tests/validation/Validation.h"
Go to the source code of this file.
Namespaces | |
arm_compute | |
Copyright (c) 2017-2024 Arm Limited. | |
arm_compute::test | |
arm_compute::test::validation | |
Typedefs | |
template<typename T > | |
using | NEMatMulFixture = MatMulValidationWithActivationFixture< Tensor, Accessor, NEMatMul, CpuMatMulSettings, T > |
template<typename T > | |
using | NEMatMulFastMathFixture = MatMulGenericValidationFixture< Tensor, Accessor, NEMatMul, CpuMatMulSettings, T > |
template<typename T > | |
using | NEMatMulFixedFormatFixture = MatMulFixedFormatFixture< Tensor, Accessor, NEMatMul, CpuMatMulSettings, T > |
template<typename T > | |
using | NEMatMulDynamicTensorsFixture = MatMulValidationWithDynamicTensorsFixture< Tensor, Accessor, NEMatMul, CpuMatMulSettings, T > |
template<typename T > | |
using | NEQuantizedMatMulFixture = QuantizedMatMulValidationFixture< Tensor, Accessor, NEMatMul, CpuMatMulSettings, T > |
Functions | |
RelativeTolerance< float > | tolerance_fp32 (0.001f) |
Tolerance value for comparing reference's output against implementation's output for FP32 data types. More... | |
DATA_TEST_CASE (Validate, framework::DatasetMode::ALL, zip(make("InputAInfo", { TensorInfo(TensorShape(9U, 6U), 1, DataType::F32), TensorInfo(TensorShape(9U, 6U), 1, DataType::S32), TensorInfo(TensorShape(9U, 6U, 2U), 1, DataType::F32), TensorInfo(TensorShape(9U, 6U), 1, DataType::F32), TensorInfo(TensorShape(9U, 6U), 1, DataType::F32), TensorInfo(TensorShape(9U, 6U, 12U), 1, DataType::F32), TensorInfo(TensorShape(9U, 6U, 12U), 1, DataType::F32), TensorInfo(TensorShape(9U, 6U), 1, DataType::QASYMM8), TensorInfo(TensorShape(9U, 6U), 1, DataType::QASYMM8_SIGNED), TensorInfo(TensorShape(9U, 6U), 1, DataType::QASYMM8_SIGNED), }), make("InputBInfo", { TensorInfo(TensorShape(5U, 9U), 1, DataType::QASYMM8), TensorInfo(TensorShape(5U, 9U), 1, DataType::S32), TensorInfo(TensorShape(5U, 9U, 1U), 1, DataType::F32), TensorInfo(TensorShape(5U, 12U), 1, DataType::F32), TensorInfo(TensorShape(5U, 9U), 1, DataType::F32), TensorInfo(TensorShape(5U, 9U, 12U), 1, DataType::F32), TensorInfo(TensorShape(5U, 9U, 12U), 1, DataType::F32), TensorInfo(TensorShape(5U, 9U), 1, DataType::QASYMM8), TensorInfo(TensorShape(5U, 9U), 1, DataType::QASYMM8_SIGNED), TensorInfo(TensorShape(5U, 9U), 1, DataType::QASYMM8_SIGNED), }), make("OutputInfo", { TensorInfo(TensorShape(5U, 6U), 1, DataType::F32), TensorInfo(TensorShape(5U, 6U), 1, DataType::S32), TensorInfo(TensorShape(5U, 6U, 2U), 1, DataType::F32), TensorInfo(TensorShape(5U, 6U), 1, DataType::F32), TensorInfo(TensorShape(5U, 6U), 1, DataType::F32), TensorInfo(TensorShape(5U, 6U, 12U), 1, DataType::F32), TensorInfo(TensorShape(5U, 6U, 12U), 1, DataType::F32), TensorInfo(TensorShape(5U, 6U), 1, DataType::QASYMM8), TensorInfo(TensorShape(5U, 6U), 1, DataType::QASYMM8_SIGNED), TensorInfo(TensorShape(5U, 6U), 1, DataType::QASYMM8), }), make("TensorIsConst", {false, false, false, false, false, false, true, false, false, false}), make("Expected", { false, false, false, false, true, true, false, true, true, false })), a_info, b_info, output_info, are_tensors_const, expected) | |
FIXTURE_DATA_TEST_CASE (RunSmall, NEMatMulFixture< float >, framework::DatasetMode::PRECOMMIT, combine(datasets::SmallMatMulDataset(), make("TransposeA", {false, true}), make("TransposeB", {false, true}), make("DataType", DataType::F32), make("ActivationInfo", { ActivationLayerInfo(), ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::RELU) }))) | |
FIXTURE_DATA_TEST_CASE (RunLarge, NEMatMulFixture< float >, framework::DatasetMode::NIGHTLY, combine(datasets::LargeMatMulDataset(), make("TransposeA", {false, true}), make("TransposeB", {false, true}), make("DataType", DataType::F32), make("ActivationInfo", { ActivationLayerInfo(), ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::RELU) }))) | |
FIXTURE_DATA_TEST_CASE (RunHighDimensions, NEMatMulFixture< float >, framework::DatasetMode::NIGHTLY, combine(datasets::HighDimensionalMatMulDataset(), make("TransposeA", {false, true}), make("TransposeB", {false, true}), make("DataType", DataType::F32), make("ActivationInfo", { ActivationLayerInfo(), ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::RELU) }))) | |
FIXTURE_DATA_TEST_CASE (RunStressDynamicTensors, NEMatMulDynamicTensorsFixture< float >, framework::DatasetMode::PRECOMMIT, combine(datasets::SmallMatMulDataset(), make("TransposeA", {false, true}), make("TransposeB", {false, true}), make("DataType", DataType::F32), make("ActivationInfo", { ActivationLayerInfo(), ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::RELU) }), make("NumberOfRuns", 5))) | |
Variables | |
const AbsoluteTolerance< half > | tolerance_fp16 (half(0.1f)) |