MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / GetSerializedCache

Method GetSerializedCache

tensorflow/lite/delegates/gpu/cl/program_cache.cc:122–146  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

120}
121
122Status ProgramCache::GetSerializedCache(
123 const CLDevice& device, std::vector<uint8_t>* serialized_cache) const {
124 ::flatbuffers::FlatBufferBuilder builder;
125 std::vector<flatbuffers::Offset<data::Program>> serialized_programs;
126 for (auto& program : programs_) {
127 std::vector<uint8_t> binary;
128 RETURN_IF_ERROR(program.second.GetBinary(&binary));
129 auto binary_offset = builder.CreateVector(binary);
130 data::ProgramBuilder program_builder(builder);
131 program_builder.add_fingerprint(program.first.fingerprint);
132 program_builder.add_binary(binary_offset);
133 serialized_programs.push_back(program_builder.Finish());
134 }
135 auto driver_version = builder.CreateString(device.GetPlatformVersion());
136 auto programs_s = builder.CreateVector(serialized_programs);
137 data::CompiledCacheBuilder cache_builder(builder);
138 cache_builder.add_driver_version(driver_version);
139 cache_builder.add_programs(programs_s);
140 data::FinishCompiledCacheBuffer(builder, cache_builder.Finish());
141 size_t next_element = serialized_cache->size();
142 serialized_cache->resize(serialized_cache->size() + builder.GetSize());
143 memcpy(&(*serialized_cache)[next_element], builder.GetBufferPointer(),
144 builder.GetSize());
145 return OkStatus();
146}
147
148} // namespace cl
149} // namespace gpu

Callers 1

Calls 9

OkStatusFunction · 0.85
CreateVectorMethod · 0.80
GetPlatformVersionMethod · 0.80
GetBinaryMethod · 0.45
push_backMethod · 0.45
FinishMethod · 0.45
sizeMethod · 0.45
resizeMethod · 0.45
GetSizeMethod · 0.45

Tested by

no test coverage detected