MCPcopy Create free account
hub / github.com/Oneflow-Inc/oneflow / AddChunkProto

Method AddChunkProto

oneflow/core/memory/chunk_manager.cpp:39–49  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

37}
38
39void ChunkMgr::AddChunkProto(const ChunkProto& chunk) {
40 std::unique_lock<std::mutex> guard(mutex_);
41 const int64_t mem_zone_uid = memory::GetUniqueMemCaseId(chunk.machine_id(), chunk.mem_case());
42 CHECK(
43 chunk_id2chunk_proto_.emplace(chunk.chunk_id(), std::make_unique<ChunkProto>(chunk)).second);
44 auto chunk_ids_it = mzuid2chunk_ids_.find(mem_zone_uid);
45 if (chunk_ids_it == mzuid2chunk_ids_.end()) {
46 chunk_ids_it = mzuid2chunk_ids_.emplace(mem_zone_uid, HashSet<int64_t>()).first;
47 }
48 CHECK(chunk_ids_it->second.insert(chunk.chunk_id()).second);
49}
50
51char* ChunkMgr::FindOrCreateChunk(const ChunkProto& chunk) {
52 std::unique_lock<std::mutex> guard(mutex_);

Calls 5

GetUniqueMemCaseIdFunction · 0.85
findMethod · 0.80
insertMethod · 0.80
machine_idMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected