mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2026-05-14 04:54:06 +00:00
* llama : add option to save memory in device buffers * tests : extend llama-save-load-state
36 lines
812 B
C++
36 lines
812 B
C++
#pragma once
|
|
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
struct ggml_tensor;
|
|
|
|
class llama_io_write_i {
|
|
public:
|
|
llama_io_write_i() = default;
|
|
virtual ~llama_io_write_i() = default;
|
|
|
|
virtual void write(const void * src, size_t size) = 0;
|
|
virtual void write_tensor(ggml_tensor * tensor, size_t offset, size_t size) = 0;
|
|
|
|
// bytes written so far
|
|
virtual size_t n_bytes() = 0;
|
|
|
|
void write_string(const std::string & str);
|
|
};
|
|
|
|
class llama_io_read_i {
|
|
public:
|
|
llama_io_read_i() = default;
|
|
virtual ~llama_io_read_i() = default;
|
|
|
|
virtual void read(void * dst, size_t size) = 0;
|
|
virtual void read_tensor(ggml_tensor * tensor, size_t offset, size_t size) = 0;
|
|
|
|
// bytes read so far
|
|
virtual size_t n_bytes() = 0;
|
|
|
|
void read_string(std::string & str);
|
|
};
|