mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-04 09:32:00 +00:00 
			
		
		
		
	memory : migrate from llama_kv_cache to more generic llama_memory (#14006)
* memory : merge llama_kv_cache into llama_memory + new `llama_memory` API ggml-ci * context : fix casts ggml-ci
This commit is contained in:
		@@ -11,7 +11,7 @@
 | 
			
		||||
// utilizes two instances of llama_kv_cache_unified
 | 
			
		||||
//   the first instance is for the non-SWA layers of the model and the second instance is for the SWA layers
 | 
			
		||||
 | 
			
		||||
class llama_kv_cache_unified_iswa : public llama_kv_cache {
 | 
			
		||||
class llama_kv_cache_unified_iswa : public llama_memory_i {
 | 
			
		||||
public:
 | 
			
		||||
    llama_kv_cache_unified_iswa(
 | 
			
		||||
            const llama_model & model,
 | 
			
		||||
@@ -31,21 +31,6 @@ public:
 | 
			
		||||
    // llama_memory_i
 | 
			
		||||
    //
 | 
			
		||||
 | 
			
		||||
    void clear() override;
 | 
			
		||||
 | 
			
		||||
    bool seq_rm  (llama_seq_id seq_id,                              llama_pos p0, llama_pos p1) override;
 | 
			
		||||
    void seq_cp  (llama_seq_id seq_id_src, llama_seq_id seq_id_dst, llama_pos p0, llama_pos p1) override;
 | 
			
		||||
    void seq_keep(llama_seq_id seq_id)                                                          override;
 | 
			
		||||
    void seq_add (llama_seq_id seq_id,                              llama_pos p0, llama_pos p1, llama_pos shift) override;
 | 
			
		||||
    void seq_div (llama_seq_id seq_id,                              llama_pos p0, llama_pos p1, int d) override;
 | 
			
		||||
 | 
			
		||||
    llama_pos seq_pos_min(llama_seq_id seq_id) const override;
 | 
			
		||||
    llama_pos seq_pos_max(llama_seq_id seq_id) const override;
 | 
			
		||||
 | 
			
		||||
    //
 | 
			
		||||
    // llama_kv_cache
 | 
			
		||||
    //
 | 
			
		||||
 | 
			
		||||
    llama_memory_state_ptr init_batch(
 | 
			
		||||
            const llama_batch & batch,
 | 
			
		||||
            uint32_t n_ubatch,
 | 
			
		||||
@@ -58,6 +43,17 @@ public:
 | 
			
		||||
 | 
			
		||||
    bool get_can_shift() const override;
 | 
			
		||||
 | 
			
		||||
    void clear() override;
 | 
			
		||||
 | 
			
		||||
    bool seq_rm  (llama_seq_id seq_id,                              llama_pos p0, llama_pos p1) override;
 | 
			
		||||
    void seq_cp  (llama_seq_id seq_id_src, llama_seq_id seq_id_dst, llama_pos p0, llama_pos p1) override;
 | 
			
		||||
    void seq_keep(llama_seq_id seq_id)                                                          override;
 | 
			
		||||
    void seq_add (llama_seq_id seq_id,                              llama_pos p0, llama_pos p1, llama_pos shift) override;
 | 
			
		||||
    void seq_div (llama_seq_id seq_id,                              llama_pos p0, llama_pos p1, int d) override;
 | 
			
		||||
 | 
			
		||||
    llama_pos seq_pos_min(llama_seq_id seq_id) const override;
 | 
			
		||||
    llama_pos seq_pos_max(llama_seq_id seq_id) const override;
 | 
			
		||||
 | 
			
		||||
    // state write/load
 | 
			
		||||
 | 
			
		||||
    void state_write(llama_io_write_i & io, llama_seq_id seq_id = -1) const override;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user