IVGCVSW-6708 Break Profiling Dependence on IRuntime ExternalProfilingOptions
Change-Id: I30a46f3368bbbf33019eac4fa1245f6ff69deacd
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
diff --git a/src/armnnUtils/ProfilingOptionsConverter.cpp b/src/armnnUtils/ProfilingOptionsConverter.cpp
new file mode 100644
index 0000000..6d5b351
--- /dev/null
+++ b/src/armnnUtils/ProfilingOptionsConverter.cpp
@@ -0,0 +1,30 @@
+//
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "ProfilingOptionsConverter.hpp"
+
+#include <algorithm>
+#include <iterator>
+
+namespace armnn
+{
+
+profiling::ProfilingOptions ConvertExternalProfilingOptions(
+ const IRuntime::CreationOptions::ExternalProfilingOptions& options)
+{
+ profiling::ProfilingOptions convertedOptions;
+ convertedOptions.m_EnableProfiling = options.m_EnableProfiling;
+ convertedOptions.m_TimelineEnabled = options.m_TimelineEnabled;
+ convertedOptions.m_OutgoingCaptureFile = options.m_OutgoingCaptureFile;
+ convertedOptions.m_IncomingCaptureFile = options.m_IncomingCaptureFile;
+ convertedOptions.m_FileOnly = options.m_FileOnly;
+ convertedOptions.m_CapturePeriod = options.m_CapturePeriod;
+ convertedOptions.m_FileFormat = options.m_FileFormat;
+ std::copy(options.m_LocalPacketHandlers.begin(), options.m_LocalPacketHandlers.end(),
+ std::back_inserter(convertedOptions.m_LocalPacketHandlers));
+ return convertedOptions;
+}
+
+} // namespace armnn