Skip to content

Commit d6e1d44

Browse files
authored
llama : synchronize before get/set session data (#6911)
1 parent 853d06f commit d6e1d44

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

llama.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16131,6 +16131,8 @@ struct llama_data_file_context : llama_data_context {
1613116131
*
1613216132
*/
1613316133
static void llama_state_get_data_internal(struct llama_context * ctx, llama_data_context * data_ctx) {
16134+
llama_synchronize(ctx);
16135+
1613416136
// copy rng
1613516137
{
1613616138
std::ostringstream rng_ss;
@@ -16283,6 +16285,8 @@ size_t llama_state_get_data(struct llama_context * ctx, uint8_t * dst) {
1628316285

1628416286
// Sets the state reading from the specified source address
1628516287
size_t llama_state_set_data(struct llama_context * ctx, const uint8_t * src) {
16288+
llama_synchronize(ctx);
16289+
1628616290
const uint8_t * inp = src;
1628716291

1628816292
// set rng
@@ -16587,6 +16591,8 @@ size_t llama_state_seq_get_size(struct llama_context* ctx, llama_seq_id seq_id)
1658716591
}
1658816592

1658916593
static size_t llama_state_seq_get_data_internal(struct llama_context * ctx, llama_data_context & data_ctx, llama_seq_id seq_id) {
16594+
llama_synchronize(ctx);
16595+
1659016596
const auto & kv_self = ctx->kv_self;
1659116597
GGML_ASSERT(!kv_self.recurrent); // not implemented
1659216598

@@ -16704,6 +16710,8 @@ size_t llama_state_seq_get_data(struct llama_context* ctx, uint8_t* dst, llama_s
1670416710
}
1670516711

1670616712
size_t llama_state_seq_set_data(struct llama_context * ctx, const uint8_t * src, llama_seq_id dest_seq_id) {
16713+
llama_synchronize(ctx);
16714+
1670716715
auto & kv_self = ctx->kv_self;
1670816716
GGML_ASSERT(!kv_self.recurrent); // not implemented
1670916717

0 commit comments

Comments
 (0)