struct ggml_hash_set {
size_t size;
- ggml_bitset_t * used;
- struct ggml_tensor ** keys;
+ ggml_bitset_t * used; // whether or not the keys are in use i.e. set
+ struct ggml_tensor ** keys; // actual tensors in the set, keys[i] is only defined if ggml_bitset_get(used, i)
};
// computation graph
}
for (size_t i = 0; i < src->visited_hash_set.size; ++i) {
- if (src->visited_hash_set.keys[i]) {
+ // copy all hashset keys (tensors) that are in use
+ if (ggml_bitset_get(src->visited_hash_set.used, i)) {
ggml_hash_insert(&dst->visited_hash_set, src->visited_hash_set.keys[i]);
}
}