17 int64_t init_capacity,
18 const Dtype& key_dtype,
20 const std::vector<Dtype>& value_dtypes,
21 const std::vector<SizeVector>& value_element_shapes,
31 int64_t key_dsize = dim * key_dtype.
ByteSize();
34 std::vector<int64_t> value_dsizes;
35 for (
size_t i = 0; i < value_dtypes.size(); ++i) {
36 int64_t dsize_value = value_element_shapes[i].NumElements() *
37 value_dtypes[i].ByteSize();
38 value_dsizes.push_back(dsize_value);
41 std::shared_ptr<DeviceHashBackend> device_hashmap_ptr;
44 std::make_shared<TBBHashBackend<key_t, hash_t, eq_t>>(
45 init_capacity, key_dsize, value_dsizes, device);
47 return device_hashmap_ptr;
int64_t NumElements() const
#define DISPATCH_DTYPE_AND_DIM_TO_TEMPLATE(DTYPE, DIM,...)
std::shared_ptr< DeviceHashBackend > CreateCPUHashBackend(int64_t init_capacity, const Dtype &key_dtype, const SizeVector &key_element_shape, const std::vector< Dtype > &value_dtypes, const std::vector< SizeVector > &value_element_shapes, const Device &device, const HashBackendType &backend)
Non-templated factory.
Generic file read and write utility for python interface.