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

Method ClearIds

tensorflow/core/framework/hash_table/tensible_variable.cc:155–182  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

153}
154
155void TensibleVariable::ClearIds(
156 int64* ids, int64 size,
157 const std::function<void(Status)>& done) {
158 int64 num_segs = (size + segment_size_ - 1) / segment_size_;
159 StatusCollector* stc = new StatusCollector(num_segs, done);
160 for (int64 i = 0; i < num_segs; ++i) {
161 generator_->GetNextTensor([this, stc, ids, i, size] (Status st, const Tensor& tensor) {
162 if (!st.ok()) {
163 stc->AddStatus(st);
164 return;
165 }
166 {
167 mutex_lock wlock(rwlock_);
168 int64 k = i * segment_size_;
169 int64 sz = std::min(size, (i + 1) * segment_size_);
170 while (k < sz) {
171 if (ids[k] < size_) {
172 char* init_ptr = const_cast<char*>(tensor.tensor_data().data());
173 memcpy(GetSlice(ids[k]), init_ptr + (k % segment_size_) * slice_size_, slice_size_);
174 }
175 ++k;
176 }
177 }
178 stc->AddStatus(Status::OK());
179 });
180 }
181 stc->Start();
182}
183
184} // namespace tensorflow

Callers 2

DeleteKeysSimpleMethod · 0.80
ClearMatchedKeysMethod · 0.80

Calls 7

GetNextTensorMethod · 0.80
AddStatusMethod · 0.80
tensor_dataMethod · 0.80
minFunction · 0.50
okMethod · 0.45
dataMethod · 0.45
StartMethod · 0.45

Tested by

no test coverage detected