Skip to content

Commit f662cf5

Browse files
authored
Qualcomm AI Engine Direct - Fixed the wrong size for memmove in kv_manager (#14685)
As title. cc: @haowhsu-quic , @winskuo-quic
1 parent 87d31af commit f662cf5

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

examples/qualcomm/oss_scripts/llama/runner/kv_manager.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,8 @@ void KVManager<T>::rearrange_key(KVCache<T>& k_cache, int32_t ar_len_dst) {
365365
}
366366
// copy from first dimension
367367
for (int i = 0; i < metadata_.head_dim; i++) {
368-
std::memmove(k_cache_in_write_ptr, k_cache_in_read_ptr, dst_cache_num);
368+
std::memmove(
369+
k_cache_in_write_ptr, k_cache_in_read_ptr, dst_cache_num * sizeof(T));
369370
k_cache_in_read_ptr += src_cache_num;
370371
k_cache_in_write_ptr += dst_cache_num;
371372
}
@@ -378,7 +379,8 @@ void KVManager<T>::rearrange_key(KVCache<T>& k_cache, int32_t ar_len_dst) {
378379
}
379380
// copy from last dimension
380381
for (int i = 0; i < metadata_.head_dim; i++) {
381-
std::memmove(k_cache_in_write_ptr, k_cache_in_read_ptr, src_cache_num);
382+
std::memmove(
383+
k_cache_in_write_ptr, k_cache_in_read_ptr, src_cache_num * sizeof(T));
382384
k_cache_in_read_ptr -= src_cache_num;
383385
k_cache_in_write_ptr -= dst_cache_num;
384386
}

0 commit comments

Comments
 (0)