mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2025-07-20 17:49:18 +00:00
cont : fix defrag erasing cells that didn't move
ggml-ci
This commit is contained in:
@ -462,7 +462,7 @@ bool llama_kv_cache_unified::update(llama_context * lctx, bool do_shift, const d
|
|||||||
for (uint32_t i = 0; i < n_kv; ++i) {
|
for (uint32_t i = 0; i < n_kv; ++i) {
|
||||||
assert(dinfo.ids[i] <= n_kv);
|
assert(dinfo.ids[i] <= n_kv);
|
||||||
|
|
||||||
if (dinfo.ids[i] == n_kv) {
|
if (dinfo.ids[i] == n_kv || dinfo.ids[i] == i) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,6 +80,9 @@ public:
|
|||||||
assert(isrc < pos.size());
|
assert(isrc < pos.size());
|
||||||
assert(idst < pos.size());
|
assert(idst < pos.size());
|
||||||
|
|
||||||
|
assert(pos[idst] == -1);
|
||||||
|
assert(pos[isrc] != -1);
|
||||||
|
|
||||||
pos [idst] = pos [isrc];
|
pos [idst] = pos [isrc];
|
||||||
shift[idst] = shift[isrc];
|
shift[idst] = shift[isrc];
|
||||||
seq [idst] = seq [isrc];
|
seq [idst] = seq [isrc];
|
||||||
|
Reference in New Issue
Block a user