13 #include <fmt/format.h>
26 std::map<std::string, cl::Program> builtProgramsMap = clCompileContext.get_built_programs();
27 if (builtProgramsMap.empty())
34 std::vector<flatbuffers::Offset<armnn::Program>> clPrograms;
35 for(
const auto& program : builtProgramsMap)
37 std::vector<std::vector<uint8_t>> binaries = program.second.getInfo<CL_PROGRAM_BINARIES>();
39 m_FlatBufferBuilder.CreateString(program.first),
40 m_FlatBufferBuilder.CreateVector(binaries[0])));
44 auto clContext =
CreateClContext(m_FlatBufferBuilder, m_FlatBufferBuilder.CreateVector(clPrograms));
46 m_FlatBufferBuilder.Finish(clContext);
52 auto bytesToWrite = armnn::numeric_cast<std::streamsize>(m_FlatBufferBuilder.GetSize());
53 stream.write(
reinterpret_cast<const char*
>(m_FlatBufferBuilder.GetBufferPointer()), bytesToWrite);
#define ARMNN_LOG(severity)
bool SaveSerializedToStream(std::ostream &stream)
Serializes the ClContext to the stream.
void Serialize(const arm_compute::CLCompileContext &clCompileContext)
Serializes the CLCompileContext built-in programs.
Copyright (c) 2021 ARM Limited and Contributors.
flatbuffers::Offset< Program > CreateProgram(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::String > name=0, flatbuffers::Offset< flatbuffers::Vector< uint8_t >> binary=0)
flatbuffers::Offset< ClContext > CreateClContext(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< flatbuffers::Offset< armnn::Program >>> programs=0)