diff --git a/neuralnetworks/1.0/utils/src/Conversions.cpp b/neuralnetworks/1.0/utils/src/Conversions.cpp index 7a099cfd49..700b050ce7 100644 --- a/neuralnetworks/1.0/utils/src/Conversions.cpp +++ b/neuralnetworks/1.0/utils/src/Conversions.cpp @@ -162,7 +162,7 @@ GeneralResult unvalidatedConvert(const hal::V1_0::Model& model) { // Verify number of consumers. const auto numberOfConsumers = - hal::utils::countNumberOfConsumers(model.operands.size(), operations); + NN_TRY(hal::utils::countNumberOfConsumers(model.operands.size(), operations)); CHECK(model.operands.size() == numberOfConsumers.size()); for (size_t i = 0; i < model.operands.size(); ++i) { if (model.operands[i].numberOfConsumers != numberOfConsumers[i]) { @@ -360,7 +360,7 @@ nn::GeneralResult unvalidatedConvert(const nn::Model& model) { // Update number of consumers. const auto numberOfConsumers = - hal::utils::countNumberOfConsumers(operands.size(), model.main.operations); + NN_TRY(hal::utils::countNumberOfConsumers(operands.size(), model.main.operations)); CHECK(operands.size() == numberOfConsumers.size()); for (size_t i = 0; i < operands.size(); ++i) { operands[i].numberOfConsumers = numberOfConsumers[i]; diff --git a/neuralnetworks/1.1/utils/src/Conversions.cpp b/neuralnetworks/1.1/utils/src/Conversions.cpp index 07bf7bc88f..d07f7d00bc 100644 --- a/neuralnetworks/1.1/utils/src/Conversions.cpp +++ b/neuralnetworks/1.1/utils/src/Conversions.cpp @@ -111,7 +111,7 @@ GeneralResult unvalidatedConvert(const hal::V1_1::Model& model) { // Verify number of consumers. const auto numberOfConsumers = - hal::utils::countNumberOfConsumers(model.operands.size(), operations); + NN_TRY(hal::utils::countNumberOfConsumers(model.operands.size(), operations)); CHECK(model.operands.size() == numberOfConsumers.size()); for (size_t i = 0; i < model.operands.size(); ++i) { if (model.operands[i].numberOfConsumers != numberOfConsumers[i]) { @@ -241,7 +241,7 @@ nn::GeneralResult unvalidatedConvert(const nn::Model& model) { // Update number of consumers. const auto numberOfConsumers = - hal::utils::countNumberOfConsumers(operands.size(), model.main.operations); + NN_TRY(hal::utils::countNumberOfConsumers(operands.size(), model.main.operations)); CHECK(operands.size() == numberOfConsumers.size()); for (size_t i = 0; i < operands.size(); ++i) { operands[i].numberOfConsumers = numberOfConsumers[i]; diff --git a/neuralnetworks/1.2/utils/src/Conversions.cpp b/neuralnetworks/1.2/utils/src/Conversions.cpp index 7ae483ede2..86a417a352 100644 --- a/neuralnetworks/1.2/utils/src/Conversions.cpp +++ b/neuralnetworks/1.2/utils/src/Conversions.cpp @@ -227,7 +227,7 @@ GeneralResult unvalidatedConvert(const hal::V1_2::Model& model) { // Verify number of consumers. const auto numberOfConsumers = - hal::utils::countNumberOfConsumers(model.operands.size(), operations); + NN_TRY(hal::utils::countNumberOfConsumers(model.operands.size(), operations)); CHECK(model.operands.size() == numberOfConsumers.size()); for (size_t i = 0; i < model.operands.size(); ++i) { if (model.operands[i].numberOfConsumers != numberOfConsumers[i]) { @@ -529,7 +529,7 @@ nn::GeneralResult unvalidatedConvert(const nn::Model& model) { // Update number of consumers. const auto numberOfConsumers = - hal::utils::countNumberOfConsumers(operands.size(), model.main.operations); + NN_TRY(hal::utils::countNumberOfConsumers(operands.size(), model.main.operations)); CHECK(operands.size() == numberOfConsumers.size()); for (size_t i = 0; i < operands.size(); ++i) { operands[i].numberOfConsumers = numberOfConsumers[i]; diff --git a/neuralnetworks/1.3/utils/src/Conversions.cpp b/neuralnetworks/1.3/utils/src/Conversions.cpp index 6e74a6239d..320c74c2c6 100644 --- a/neuralnetworks/1.3/utils/src/Conversions.cpp +++ b/neuralnetworks/1.3/utils/src/Conversions.cpp @@ -217,7 +217,7 @@ GeneralResult unvalidatedConvert(const hal::V1_3::Subgraph& sub // Verify number of consumers. const auto numberOfConsumers = - hal::utils::countNumberOfConsumers(subgraph.operands.size(), operations); + NN_TRY(hal::utils::countNumberOfConsumers(subgraph.operands.size(), operations)); CHECK(subgraph.operands.size() == numberOfConsumers.size()); for (size_t i = 0; i < subgraph.operands.size(); ++i) { if (subgraph.operands[i].numberOfConsumers != numberOfConsumers[i]) { @@ -559,7 +559,7 @@ nn::GeneralResult unvalidatedConvert(const nn::Model::Subgraph& subgra // Update number of consumers. const auto numberOfConsumers = - hal::utils::countNumberOfConsumers(operands.size(), subgraph.operations); + NN_TRY(hal::utils::countNumberOfConsumers(operands.size(), subgraph.operations)); CHECK(operands.size() == numberOfConsumers.size()); for (size_t i = 0; i < operands.size(); ++i) { operands[i].numberOfConsumers = numberOfConsumers[i]; diff --git a/neuralnetworks/aidl/vts/functional/ValidateModel.cpp b/neuralnetworks/aidl/vts/functional/ValidateModel.cpp index b84d981abd..6d84e1ed7b 100644 --- a/neuralnetworks/aidl/vts/functional/ValidateModel.cpp +++ b/neuralnetworks/aidl/vts/functional/ValidateModel.cpp @@ -1310,8 +1310,10 @@ static void mutateExecutionPriorityTest(const std::shared_ptr& device, ////////////////////////// ENTRY POINT ////////////////////////////// void validateModel(const std::shared_ptr& device, const Model& model) { - const auto numberOfConsumers = nn::countNumberOfConsumers( - model.main.operands.size(), nn::convert(model.main.operations).value()); + const auto numberOfConsumers = + nn::countNumberOfConsumers(model.main.operands.size(), + nn::convert(model.main.operations).value()) + .value(); mutateExecutionOrderTest(device, model, numberOfConsumers); mutateOperandTypeTest(device, model); mutateOperandRankTest(device, model); diff --git a/neuralnetworks/utils/common/include/nnapi/hal/CommonUtils.h b/neuralnetworks/utils/common/include/nnapi/hal/CommonUtils.h index 547f203d6d..2f6112a4c9 100644 --- a/neuralnetworks/utils/common/include/nnapi/hal/CommonUtils.h +++ b/neuralnetworks/utils/common/include/nnapi/hal/CommonUtils.h @@ -71,8 +71,8 @@ nn::GeneralResult> flushDataFromPointe nn::GeneralResult unflushDataFromSharedToPointer( const nn::Request& request, const std::optional& maybeRequestInShared); -std::vector countNumberOfConsumers(size_t numberOfOperands, - const std::vector& operations); +nn::GeneralResult> countNumberOfConsumers( + size_t numberOfOperands, const std::vector& operations); nn::GeneralResult createHidlMemoryFromSharedMemory(const nn::SharedMemory& memory); nn::GeneralResult createSharedMemoryFromHidlMemory(const hidl_memory& memory); diff --git a/neuralnetworks/utils/common/src/CommonUtils.cpp b/neuralnetworks/utils/common/src/CommonUtils.cpp index 7a5035f6fc..924ecb2d1b 100644 --- a/neuralnetworks/utils/common/src/CommonUtils.cpp +++ b/neuralnetworks/utils/common/src/CommonUtils.cpp @@ -246,9 +246,9 @@ nn::GeneralResult unflushDataFromSharedToPointer( return {}; } -std::vector countNumberOfConsumers(size_t numberOfOperands, - const std::vector& operations) { - return nn::countNumberOfConsumers(numberOfOperands, operations); +nn::GeneralResult> countNumberOfConsumers( + size_t numberOfOperands, const std::vector& operations) { + return makeGeneralFailure(nn::countNumberOfConsumers(numberOfOperands, operations)); } nn::GeneralResult createHidlMemoryFromSharedMemory(const nn::SharedMemory& memory) {