blob: e3a9b9deb4f08113896e2b5d18164f91405329a6 [file] [log] [blame]
Matthew Sloyan80fbcd52021-01-07 13:28:47 +00001//
2// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include <arm_compute/core/CL/CLCompileContext.h>
9
10namespace armnn
11{
12
13class ClContextDeserializer
14{
15public:
16 ClContextDeserializer() = default;
17 ~ClContextDeserializer() = default;
18
19 /// Deserializes the CLCompileContext built-in programs from a binary file
20 /// @param [in] clCompileContext The CLCompileContext to be serialized
21 /// @param [in] context The CL Kernel context built-in program will be created from
22 /// @param [in] device The CL Kernel device built-in program will be created from
23 /// @param [in] filePath The serialized file
24 void Deserialize(arm_compute::CLCompileContext& clCompileContext,
25 cl::Context& context,
26 cl::Device& device,
27 const std::string& filePath);
28
29 /// Deserializes the CLCompileContext built-in programs from binary file contents
30 /// @param [in] clCompileContext The CLCompileContext to be serialized
31 /// @param [in] context The CL Kernel context built-in program will be created from
32 /// @param [in] device The CL Kernel device built-in program will be created from
33 /// @param [in] filePath The serialized file
34 void DeserializeFromBinary(arm_compute::CLCompileContext& clCompileContext,
35 cl::Context& context,
36 cl::Device& device,
37 const std::vector<uint8_t>& binaryContent);
38
39};
40
41} // namespace armnn