Skip to content

Commit

Permalink
llama : synchronize before get/set session data (#6911)
Browse files Browse the repository at this point in the history
  • Loading branch information
slaren authored Apr 25, 2024
1 parent 853d06f commit d6e1d44
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions llama.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16131,6 +16131,8 @@ struct llama_data_file_context : llama_data_context {
*
*/
static void llama_state_get_data_internal(struct llama_context * ctx, llama_data_context * data_ctx) {
llama_synchronize(ctx);

// copy rng
{
std::ostringstream rng_ss;
Expand Down Expand Up @@ -16283,6 +16285,8 @@ size_t llama_state_get_data(struct llama_context * ctx, uint8_t * dst) {

// Sets the state reading from the specified source address
size_t llama_state_set_data(struct llama_context * ctx, const uint8_t * src) {
llama_synchronize(ctx);

const uint8_t * inp = src;

// set rng
Expand Down Expand Up @@ -16587,6 +16591,8 @@ size_t llama_state_seq_get_size(struct llama_context* ctx, llama_seq_id seq_id)
}

static size_t llama_state_seq_get_data_internal(struct llama_context * ctx, llama_data_context & data_ctx, llama_seq_id seq_id) {
llama_synchronize(ctx);

const auto & kv_self = ctx->kv_self;
GGML_ASSERT(!kv_self.recurrent); // not implemented

Expand Down Expand Up @@ -16704,6 +16710,8 @@ size_t llama_state_seq_get_data(struct llama_context* ctx, uint8_t* dst, llama_s
}

size_t llama_state_seq_set_data(struct llama_context * ctx, const uint8_t * src, llama_seq_id dest_seq_id) {
llama_synchronize(ctx);

auto & kv_self = ctx->kv_self;
GGML_ASSERT(!kv_self.recurrent); // not implemented

Expand Down

0 comments on commit d6e1d44

Please sign in to comment.