diff --git a/neuralnetworks/1.0/utils/include/nnapi/hal/1.0/PreparedModel.h b/neuralnetworks/1.0/utils/include/nnapi/hal/1.0/PreparedModel.h index 2de182871d..bda40c549b 100644 --- a/neuralnetworks/1.0/utils/include/nnapi/hal/1.0/PreparedModel.h +++ b/neuralnetworks/1.0/utils/include/nnapi/hal/1.0/PreparedModel.h @@ -56,6 +56,8 @@ class PreparedModel final : public nn::IPreparedModel { const nn::OptionalDuration& loopTimeoutDuration, const nn::OptionalDuration& timeoutDurationAfterFence) const override; + nn::GeneralResult configureExecutionBurst() const override; + std::any getUnderlyingResource() const override; private: diff --git a/neuralnetworks/1.0/utils/src/PreparedModel.cpp b/neuralnetworks/1.0/utils/src/PreparedModel.cpp index c0c22fbd6a..b8de131383 100644 --- a/neuralnetworks/1.0/utils/src/PreparedModel.cpp +++ b/neuralnetworks/1.0/utils/src/PreparedModel.cpp @@ -90,6 +90,10 @@ PreparedModel::executeFenced(const nn::Request& /*request*/, << "IPreparedModel::executeFenced is not supported on 1.0 HAL service"; } +nn::GeneralResult PreparedModel::configureExecutionBurst() const { + return NN_ERROR(nn::ErrorStatus::GENERAL_FAILURE) << "Not yet implemented"; +} + std::any PreparedModel::getUnderlyingResource() const { sp resource = kPreparedModel; return resource; diff --git a/neuralnetworks/1.2/utils/include/nnapi/hal/1.2/PreparedModel.h b/neuralnetworks/1.2/utils/include/nnapi/hal/1.2/PreparedModel.h index 6a56a82f99..f43933309c 100644 --- a/neuralnetworks/1.2/utils/include/nnapi/hal/1.2/PreparedModel.h +++ b/neuralnetworks/1.2/utils/include/nnapi/hal/1.2/PreparedModel.h @@ -57,6 +57,8 @@ class PreparedModel final : public nn::IPreparedModel { const nn::OptionalDuration& loopTimeoutDuration, const nn::OptionalDuration& timeoutDurationAfterFence) const override; + nn::GeneralResult configureExecutionBurst() const override; + std::any getUnderlyingResource() const override; private: diff --git a/neuralnetworks/1.2/utils/src/PreparedModel.cpp b/neuralnetworks/1.2/utils/src/PreparedModel.cpp index 6d00082a5f..ad54c39282 100644 --- a/neuralnetworks/1.2/utils/src/PreparedModel.cpp +++ b/neuralnetworks/1.2/utils/src/PreparedModel.cpp @@ -117,6 +117,10 @@ PreparedModel::executeFenced(const nn::Request& /*request*/, << "IPreparedModel::executeFenced is not supported on 1.2 HAL service"; } +nn::GeneralResult PreparedModel::configureExecutionBurst() const { + return NN_ERROR(nn::ErrorStatus::GENERAL_FAILURE) << "Not yet implemented"; +} + std::any PreparedModel::getUnderlyingResource() const { sp resource = kPreparedModel; return resource; diff --git a/neuralnetworks/1.3/utils/include/nnapi/hal/1.3/PreparedModel.h b/neuralnetworks/1.3/utils/include/nnapi/hal/1.3/PreparedModel.h index 664d87a7c2..63aa6faf79 100644 --- a/neuralnetworks/1.3/utils/include/nnapi/hal/1.3/PreparedModel.h +++ b/neuralnetworks/1.3/utils/include/nnapi/hal/1.3/PreparedModel.h @@ -56,6 +56,8 @@ class PreparedModel final : public nn::IPreparedModel { const nn::OptionalDuration& loopTimeoutDuration, const nn::OptionalDuration& timeoutDurationAfterFence) const override; + nn::GeneralResult configureExecutionBurst() const override; + std::any getUnderlyingResource() const override; private: diff --git a/neuralnetworks/1.3/utils/src/PreparedModel.cpp b/neuralnetworks/1.3/utils/src/PreparedModel.cpp index 7b4b7bac3b..7afa777868 100644 --- a/neuralnetworks/1.3/utils/src/PreparedModel.cpp +++ b/neuralnetworks/1.3/utils/src/PreparedModel.cpp @@ -197,6 +197,10 @@ PreparedModel::executeFenced(const nn::Request& request, const std::vector PreparedModel::configureExecutionBurst() const { + return NN_ERROR(nn::ErrorStatus::GENERAL_FAILURE) << "Not yet implemented"; +} + std::any PreparedModel::getUnderlyingResource() const { sp resource = kPreparedModel; return resource; diff --git a/neuralnetworks/utils/common/include/nnapi/hal/InvalidPreparedModel.h b/neuralnetworks/utils/common/include/nnapi/hal/InvalidPreparedModel.h index 985cddb2c2..3e1dca7139 100644 --- a/neuralnetworks/utils/common/include/nnapi/hal/InvalidPreparedModel.h +++ b/neuralnetworks/utils/common/include/nnapi/hal/InvalidPreparedModel.h @@ -40,6 +40,8 @@ class InvalidPreparedModel final : public nn::IPreparedModel { const nn::OptionalDuration& loopTimeoutDuration, const nn::OptionalDuration& timeoutDurationAfterFence) const override; + nn::GeneralResult configureExecutionBurst() const override; + std::any getUnderlyingResource() const override; }; diff --git a/neuralnetworks/utils/common/include/nnapi/hal/ResilientPreparedModel.h b/neuralnetworks/utils/common/include/nnapi/hal/ResilientPreparedModel.h index 9b8d92435c..4014404aee 100644 --- a/neuralnetworks/utils/common/include/nnapi/hal/ResilientPreparedModel.h +++ b/neuralnetworks/utils/common/include/nnapi/hal/ResilientPreparedModel.h @@ -57,6 +57,8 @@ class ResilientPreparedModel final : public nn::IPreparedModel { const nn::OptionalDuration& loopTimeoutDuration, const nn::OptionalDuration& timeoutDurationAfterFence) const override; + nn::GeneralResult configureExecutionBurst() const override; + std::any getUnderlyingResource() const override; private: diff --git a/neuralnetworks/utils/common/src/InvalidPreparedModel.cpp b/neuralnetworks/utils/common/src/InvalidPreparedModel.cpp index a46f4ac574..9081e1fdd1 100644 --- a/neuralnetworks/utils/common/src/InvalidPreparedModel.cpp +++ b/neuralnetworks/utils/common/src/InvalidPreparedModel.cpp @@ -42,6 +42,10 @@ InvalidPreparedModel::executeFenced( return NN_ERROR() << "InvalidPreparedModel"; } +nn::GeneralResult InvalidPreparedModel::configureExecutionBurst() const { + return NN_ERROR() << "InvalidPreparedModel"; +} + std::any InvalidPreparedModel::getUnderlyingResource() const { return {}; } diff --git a/neuralnetworks/utils/common/src/ResilientPreparedModel.cpp b/neuralnetworks/utils/common/src/ResilientPreparedModel.cpp index 667df2b590..faba9965f2 100644 --- a/neuralnetworks/utils/common/src/ResilientPreparedModel.cpp +++ b/neuralnetworks/utils/common/src/ResilientPreparedModel.cpp @@ -124,6 +124,13 @@ ResilientPreparedModel::executeFenced(const nn::Request& request, return protect(*this, fn); } +nn::GeneralResult ResilientPreparedModel::configureExecutionBurst() const { + const auto fn = [](const nn::IPreparedModel& preparedModel) { + return preparedModel.configureExecutionBurst(); + }; + return protect(*this, fn); +} + std::any ResilientPreparedModel::getUnderlyingResource() const { return getPreparedModel()->getUnderlyingResource(); } diff --git a/neuralnetworks/utils/common/test/MockPreparedModel.h b/neuralnetworks/utils/common/test/MockPreparedModel.h index 928508edc3..418af61666 100644 --- a/neuralnetworks/utils/common/test/MockPreparedModel.h +++ b/neuralnetworks/utils/common/test/MockPreparedModel.h @@ -35,6 +35,7 @@ class MockPreparedModel final : public IPreparedModel { const OptionalDuration& loopTimeoutDuration, const OptionalDuration& timeoutDurationAfterFence), (const, override)); + MOCK_METHOD(GeneralResult, configureExecutionBurst, (), (const, override)); MOCK_METHOD(std::any, getUnderlyingResource, (), (const, override)); };