src/profiling/CounterDirectory.cpp
src/profiling/CounterDirectory.hpp
src/profiling/EncodeVersion.hpp
+ src/profiling/IProfilingConnection.hpp
src/profiling/Packet.cpp
src/profiling/Packet.hpp
src/profiling/PacketVersionResolver.cpp
src/profiling/PacketVersionResolver.hpp
+ src/profiling/ProfilingConnectionFactory.cpp
+ src/profiling/ProfilingConnectionFactory.hpp
third-party/half/half.hpp
)
// Setting this value will override the paths set by the DYNAMIC_BACKEND_PATHS compiler directive
// Only a single path is allowed for the override
std::string m_DynamicBackendsPath;
+
+ struct ExternalProfilingOptions
+ {
+ ExternalProfilingOptions()
+ : m_EnableProfiling(false)
+ , m_OutgoingCaptureFile("")
+ , m_IncomingCaptureFile("")
+ , m_FileOnly(false)
+ , m_CapturePeriod(150u)
+ {}
+
+ bool m_EnableProfiling;
+ std::string m_OutgoingCaptureFile;
+ std::string m_IncomingCaptureFile;
+ bool m_FileOnly;
+ uint32_t m_CapturePeriod;
+ };
};
static IRuntime* CreateRaw(const CreationOptions& options);
--- /dev/null
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "Packet.hpp"
+
+#include <cstdint>
+
+namespace armnn
+{
+
+namespace profiling
+{
+
+class IProfilingConnection
+{
+public:
+ virtual bool IsOpen() = 0;
+
+ virtual void Close() = 0;
+
+ virtual bool WritePacket(const char* buffer, uint32_t length) = 0;
+
+ virtual Packet ReadPacket(uint32_t timeout) = 0;
+};
+
+} // namespace profiling
+
+} // namespace armnn
--- /dev/null
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "ProfilingConnectionFactory.hpp"
+
+namespace armnn
+{
+
+namespace profiling
+{
+
+std::unique_ptr<IProfilingConnection> ProfilingConnectionFactory::GetProfilingConnection(
+ const Runtime::CreationOptions::ExternalProfilingOptions& options) const
+{
+ return nullptr;
+}
+
+} // namespace profiling
+
+} // namespace armnn
--- /dev/null
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "IProfilingConnection.hpp"
+
+#include <Runtime.hpp>
+
+#include <memory>
+
+namespace armnn
+{
+
+namespace profiling
+{
+
+class ProfilingConnectionFactory final
+{
+public:
+ ProfilingConnectionFactory() = default;
+ ~ProfilingConnectionFactory() = default;
+
+ std::unique_ptr<IProfilingConnection> GetProfilingConnection(
+ const Runtime::CreationOptions::ExternalProfilingOptions& options) const;
+};
+
+} // namespace profiling
+
+} // namespace armnn