| 22 | namespace embedding { |
| 23 | |
| 24 | std::unique_ptr<Cache> NewCache(const CacheOptions& options) { |
| 25 | #ifdef WITH_CUDA |
| 26 | CHECK_GT(options.key_size, 0); |
| 27 | CHECK_GT(options.value_size, 0); |
| 28 | CHECK_GT(options.capacity, 0); |
| 29 | if (options.policy == CacheOptions::Policy::kLRU) { |
| 30 | return NewLruCache(options); |
| 31 | } else if (options.policy == CacheOptions::Policy::kFull) { |
| 32 | return NewFullCache(options); |
| 33 | } else { |
| 34 | UNIMPLEMENTED(); |
| 35 | return nullptr; |
| 36 | } |
| 37 | #else |
| 38 | UNIMPLEMENTED(); |
| 39 | return nullptr; |
| 40 | #endif // WITH_CUDA |
| 41 | } |
| 42 | |
| 43 | } // namespace embedding |
| 44 |
no outgoing calls