diff options
author | Matthew Sloyan <matthew.sloyan@arm.com> | 2021-01-07 13:28:47 +0000 |
---|---|---|
committer | Matthew Sloyan <matthew.sloyan@arm.com> | 2021-01-11 17:03:54 +0000 |
commit | 80fbcd5f4d7b362360963af1df0121aa6b561576 (patch) | |
tree | 64c8d2588e55aad2813f6b07e40f87ac3b8e8ce1 /src/backends/cl/ClContextSerializer.hpp | |
parent | a20b3129aa1c450ccf867c7b63844e8391753730 (diff) | |
download | armnn-80fbcd5f4d7b362360963af1df0121aa6b561576.tar.gz |
IVGCVSW-5483 'Implement Loading and Saving to File'
* Implemented Serialization and Deserialization of CLContext.
* Fixed flatbuffers android-nn-driver dependency.
!android-nn-driver:4772
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: If806f050535ffaa70922ba0f1ffe7bb10f902329
Diffstat (limited to 'src/backends/cl/ClContextSerializer.hpp')
-rw-r--r-- | src/backends/cl/ClContextSerializer.hpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/backends/cl/ClContextSerializer.hpp b/src/backends/cl/ClContextSerializer.hpp new file mode 100644 index 0000000000..71e2b1f1c9 --- /dev/null +++ b/src/backends/cl/ClContextSerializer.hpp @@ -0,0 +1,35 @@ +// +// Copyright © 2020 Arm Ltd and Contributors. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include <arm_compute/core/CL/CLCompileContext.h> + +#include <flatbuffers/flatbuffers.h> + +namespace armnn +{ + +class ClContextSerializer +{ +public: + ClContextSerializer() = default; + ~ClContextSerializer() = default; + + /// Serializes the CLCompileContext built-in programs + /// @param [in] clCompileContext The CLCompileContext to be serialized. + void Serialize(const arm_compute::CLCompileContext& clCompileContext); + + /// Serializes the ClContext to the stream. + /// @param [stream] the stream to save to + /// @return true if ClContext is Serialized to the Stream, false otherwise + bool SaveSerializedToStream(std::ostream& stream); + +private: + /// FlatBufferBuilder to create the CLContext FlatBuffers. + flatbuffers::FlatBufferBuilder m_FlatBufferBuilder; +}; + +} // namespace armnn
\ No newline at end of file |