LLAMA_ASSERT(ret == 0); // same
}
- void read_raw(void * ptr, size_t size) {
- if (size == 0) {
+ void read_raw(void * ptr, size_t len) const {
+ if (len == 0) {
return;
}
errno = 0;
- std::size_t ret = std::fread(ptr, size, 1, fp);
+ std::size_t ret = std::fread(ptr, len, 1, fp);
if (ferror(fp)) {
throw std::runtime_error(format("read error: %s", strerror(errno)));
}
return std::string(chars.data(), len);
}
- void write_raw(const void * ptr, size_t size) {
- if (size == 0) {
+ void write_raw(const void * ptr, size_t len) const {
+ if (len == 0) {
return;
}
errno = 0;
- size_t ret = std::fwrite(ptr, size, 1, fp);
+ size_t ret = std::fwrite(ptr, len, 1, fp);
if (ret != 1) {
throw std::runtime_error(format("write error: %s", strerror(errno)));
}
}
}
- void init(void * addr) {
- LLAMA_ASSERT(this->addr == NULL && this->size == 0);
- this->addr = addr;
+ void init(void * ptr) {
+ LLAMA_ASSERT(addr == NULL && size == 0);
+ addr = ptr;
}
void grow_to(size_t target_size) {
return (size_t) si.dwPageSize;
}
- bool raw_lock(void * addr, size_t size) {
+ bool raw_lock(void * ptr, size_t len) {
for (int tries = 1; ; tries++) {
- if (VirtualLock(addr, size)) {
+ if (VirtualLock(ptr, len)) {
return true;
}
if (tries == 2) {
fprintf(stderr, "warning: failed to VirtualLock %zu-byte buffer (after previously locking %zu bytes): %s\n",
- size, this->size, llama_format_win_err(GetLastError()).c_str());
+ len, size, llama_format_win_err(GetLastError()).c_str());
return false;
}
// is equal to the number of pages in its minimum working set minus
// a small overhead."
// Hopefully a megabyte is enough overhead:
- size_t increment = size + 1048576;
+ size_t increment = len + 1048576;
// The minimum must be <= the maximum, so we need to increase both:
min_ws_size += increment;
max_ws_size += increment;
}
}
- void raw_unlock(void * addr, size_t size) {
- if (!VirtualUnlock(addr, size)) {
+ void raw_unlock(void * ptr, size_t len) {
+ if (!VirtualUnlock(ptr, len)) {
fprintf(stderr, "warning: failed to VirtualUnlock buffer: %s\n",
llama_format_win_err(GetLastError()).c_str());
}
return (size_t) 65536;
}
- bool raw_lock(const void * addr, size_t size) {
+ bool raw_lock(const void * addr, size_t len) {
fprintf(stderr, "warning: mlock not supported on this system\n");
return false;
}
- void raw_unlock(const void * addr, size_t size) {}
+ void raw_unlock(const void * addr, size_t len) {}
#endif
};
llama_buffer() = default;
- void resize(size_t size) {
+ void resize(size_t len) {
delete[] addr;
- addr = new uint8_t[size];
- this->size = size;
+ addr = new uint8_t[len];
+ size = len;
}
~llama_buffer() {
MODEL_65B,
};
+
static const size_t MB = 1024*1024;
// computed for n_ctx == 2048
enum llama_ftype ftype = LLAMA_FTYPE_MOSTLY_F16;
bool operator!=(const llama_hparams & other) const {
- return memcmp(this, &other, sizeof(llama_hparams));
+ return static_cast<bool>(memcmp(this, &other, sizeof(llama_hparams)));
}
};
if (file_version >= LLAMA_FILE_VERSION_GGJT_V1) {
// skip to the next multiple of 32 bytes
- file.seek(-file.tell() & 31, SEEK_CUR);
+ file.seek(-static_cast<ptrdiff_t>(file.tell()) & 31, SEEK_CUR);
}
shard.file_idx = file_idx;
shard.file_off = file.tell();
file.write_u32(new_type);
file.write_raw(tensor.ne.data(), sizeof(tensor.ne[0]) * tensor.ne.size());
file.write_raw(tensor.name.data(), tensor.name.size());
- file.seek(-file.tell() & 31, SEEK_CUR);
+ file.seek(-static_cast<ptrdiff_t>(file.tell()) & 31, SEEK_CUR);
LLAMA_ASSERT(new_size == llama_calc_tensor_size(tensor.ne, new_type));
file.write_raw(new_data, new_size);
}