| 17 | namespace tensorflow { |
| 18 | namespace embedding { |
| 19 | float PerfMemory(Tensor& default_value, |
| 20 | const std::vector<int64>& id_list, |
| 21 | int value_size, int64 default_value_dim, |
| 22 | int64 filter_freq = 0, int64 steps_to_live = 0, |
| 23 | int64 record_freq = false) { |
| 24 | auto ev = CreateEmbeddingVar(value_size, default_value, |
| 25 | default_value_dim, filter_freq, |
| 26 | steps_to_live, -1.0, |
| 27 | embedding::StorageType::DRAM, |
| 28 | {1024, 1024, 1024, 1024}, |
| 29 | record_freq); |
| 30 | void* value_ptr = nullptr; |
| 31 | bool is_filter = false; |
| 32 | double start_mem, end_mem; |
| 33 | start_mem = getResident() * getpagesize(); |
| 34 | for (int i = 0; i < id_list.size(); i++) { |
| 35 | ev->LookupOrCreateKey(id_list[i], &value_ptr, &is_filter, false); |
| 36 | if (is_filter) |
| 37 | ev->flat(value_ptr); |
| 38 | } |
| 39 | end_mem = getResident() * getpagesize(); |
| 40 | double used_mb = (end_mem - start_mem)/1000000; |
| 41 | LOG(INFO)<<"[TestMemory]Use Memory: "<<used_mb; |
| 42 | return used_mb; |
| 43 | } |
| 44 | |
| 45 | TEST(EmbeddingVariabelMemoryTest, TestMemory) { |
| 46 | int value_size = 32; |
no test coverage detected