@@ -16131,6 +16131,8 @@ struct llama_data_file_context : llama_data_context {
1613116131 *
1613216132*/
1613316133static 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
1628516287size_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
1658916593static 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
1670616712size_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