mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-04 09:32:00 +00:00 
			
		
		
		
	server : add SWA checkpoints (#15293)
* server : add SWA checkpoints ggml-ci * cont : server clean-up * server : handle state restore fails * llama : add extended llama_state_seq_ API * server : do not make checkpoints if --swa-full ggml-ci * llama : remove flags value for NONE * server : configure number of SWA checkpoints with CLI arg ggml-ci * args : fix scope of new argument
This commit is contained in:
		@@ -194,14 +194,20 @@ bool llama_kv_cache_unified_iswa::get_can_shift() const {
 | 
			
		||||
    return kv_base->get_size() == kv_swa->get_size();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void llama_kv_cache_unified_iswa::state_write(llama_io_write_i & io, llama_seq_id seq_id) const {
 | 
			
		||||
    kv_base->state_write(io, seq_id);
 | 
			
		||||
    kv_swa ->state_write(io, seq_id);
 | 
			
		||||
void llama_kv_cache_unified_iswa::state_write(llama_io_write_i & io, llama_seq_id seq_id, llama_state_seq_flags flags) const {
 | 
			
		||||
    if ((flags & LLAMA_STATE_SEQ_FLAGS_SWA_ONLY) == 0) {
 | 
			
		||||
        kv_base->state_write(io, seq_id, flags);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    kv_swa->state_write(io, seq_id, flags);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void llama_kv_cache_unified_iswa::state_read(llama_io_read_i & io, llama_seq_id seq_id) {
 | 
			
		||||
    kv_base->state_read(io, seq_id);
 | 
			
		||||
    kv_swa ->state_read(io, seq_id);
 | 
			
		||||
void llama_kv_cache_unified_iswa::state_read(llama_io_read_i & io, llama_seq_id seq_id, llama_state_seq_flags flags) {
 | 
			
		||||
    if ((flags & LLAMA_STATE_SEQ_FLAGS_SWA_ONLY) == 0) {
 | 
			
		||||
        kv_base->state_read(io, seq_id, flags);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    kv_swa->state_read(io, seq_id, flags);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
llama_kv_cache_unified * llama_kv_cache_unified_iswa::get_base() const {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user