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

Function AddUsageRecord

tensorflow/lite/delegates/gpu/gl/runtime.cc:401–426  ·  view source on GitHub ↗

We assume that AddUsageRecord for different objects is called in order of program_id.

Source from the content-addressed store, hash-verified

399// We assume that AddUsageRecord for different objects is called in order of
400// program_id.
401Status AddUsageRecord(CombinedUsageRecords* usage_records, const Object& object,
402 const size_t program_id) {
403 auto ref = GetRef(object);
404 if (ref >= usage_records->usage_refs.size()) {
405 usage_records->usage_refs.resize(ref + 1, kNotAssigned);
406 }
407 auto& usage_ref = usage_records->usage_refs[ref];
408 if (object.object_type == ObjectType::BUFFER) {
409 if (usage_ref == kNotAssigned) {
410 usage_ref = usage_records->buffers.size();
411 usage_records->buffers.emplace_back(
412 /*tensor_size=*/NumElements(object.size),
413 /*first_task=*/program_id,
414 /*last_task=*/program_id);
415 } else {
416 UpdateUsageRecord(&usage_records->buffers[usage_ref], program_id);
417 }
418 return OkStatus();
419 }
420 if (object.object_type == ObjectType::TEXTURE) {
421 absl::visit(AddUsageRecordForTextureFunc{usage_records, ref, program_id},
422 object.size);
423 return OkStatus();
424 }
425 return InternalError("Unexpected object type");
426}
427
428Status ApplyBuffersAssignment(
429 const ObjectsAssignment<size_t>& assignment,

Callers 1

AssignInternalObjectsMethod · 0.85

Calls 9

GetRefFunction · 0.85
UpdateUsageRecordFunction · 0.85
OkStatusFunction · 0.85
NumElementsFunction · 0.70
visitFunction · 0.50
InternalErrorFunction · 0.50
sizeMethod · 0.45
resizeMethod · 0.45
emplace_backMethod · 0.45

Tested by

no test coverage detected