From f487486c843a38fced90229923433d09f99fc2e5 Mon Sep 17 00:00:00 2001 From: Keith Davis Date: Mon, 9 Aug 2021 16:49:18 +0100 Subject: IVGCVSW-6292 Allow profiling details to be switched off during profiling * Add switch for network details during profiling Signed-off-by: Keith Davis Change-Id: I8bd49fd58f0e0255598106e9ab36806ee78391d6 --- tests/ExecuteNetwork/ExecuteNetwork.cpp | 7 +++++++ tests/ExecuteNetwork/ExecuteNetworkParams.hpp | 1 + tests/ExecuteNetwork/ExecuteNetworkProgramOptions.cpp | 7 ++++++- 3 files changed, 14 insertions(+), 1 deletion(-) (limited to 'tests/ExecuteNetwork') diff --git a/tests/ExecuteNetwork/ExecuteNetwork.cpp b/tests/ExecuteNetwork/ExecuteNetwork.cpp index e757d2c992..64296d31b7 100644 --- a/tests/ExecuteNetwork/ExecuteNetwork.cpp +++ b/tests/ExecuteNetwork/ExecuteNetwork.cpp @@ -324,6 +324,7 @@ int MainImpl(const ExecuteNetworkParams& params, inferenceModelParams.m_MLGOTuningFilePath = params.m_MLGOTuningFilePath; inferenceModelParams.m_AsyncEnabled = params.m_Concurrent; inferenceModelParams.m_ThreadPoolSize = params.m_ThreadPoolSize; + inferenceModelParams.m_OutputDetailsToStdOut = params.m_OutputDetailsToStdOut; for(const std::string& inputName: params.m_InputNames) { @@ -768,6 +769,12 @@ int main(int argc, const char* argv[]) return EXIT_FAILURE; } + if (ProgramOptions.m_ExNetParams.m_OutputDetailsToStdOut && !ProgramOptions.m_ExNetParams.m_EnableProfiling) + { + ARMNN_LOG(fatal) << "You must enable profiling if you would like to output layer details"; + return EXIT_FAILURE; + } + // Create runtime std::shared_ptr runtime(armnn::IRuntime::Create(ProgramOptions.m_RuntimeOptions)); diff --git a/tests/ExecuteNetwork/ExecuteNetworkParams.hpp b/tests/ExecuteNetwork/ExecuteNetworkParams.hpp index fe0c446087..97c605b0a7 100644 --- a/tests/ExecuteNetwork/ExecuteNetworkParams.hpp +++ b/tests/ExecuteNetwork/ExecuteNetworkParams.hpp @@ -43,6 +43,7 @@ struct ExecuteNetworkParams std::string m_ModelFormat; std::string m_ModelPath; unsigned int m_NumberOfThreads; + bool m_OutputDetailsToStdOut; std::vector m_OutputNames; std::vector m_OutputTensorFiles; std::vector m_OutputTypes; diff --git a/tests/ExecuteNetwork/ExecuteNetworkProgramOptions.cpp b/tests/ExecuteNetwork/ExecuteNetworkProgramOptions.cpp index 6ac64ffff2..1fd4b3d96d 100644 --- a/tests/ExecuteNetwork/ExecuteNetworkProgramOptions.cpp +++ b/tests/ExecuteNetwork/ExecuteNetworkProgramOptions.cpp @@ -407,7 +407,12 @@ ProgramOptions::ProgramOptions() : m_CxxOptions{"ExecuteNetwork", ("u,counter-capture-period", "If profiling is enabled in 'file-only' mode this is the capture period that will be used in the test", - cxxopts::value(m_RuntimeOptions.m_ProfilingOptions.m_CapturePeriod)->default_value("150")); + cxxopts::value(m_RuntimeOptions.m_ProfilingOptions.m_CapturePeriod)->default_value("150")) + + ("output-network-details", + "Outputs layer tensor infos and descriptors to std out. Defaults to off.", + cxxopts::value(m_ExNetParams.m_OutputDetailsToStdOut)->default_value("false") + ->implicit_value("true")); } catch (const std::exception& e) { -- cgit v1.2.1