GGML 非官方中文文档(5)

简介: GGML 非官方中文文档

GGML 非官方中文文档(4)https://developer.aliyun.com/article/1524428

ggml_opt

enum ggml_opt_result ggml_opt(struct ggml_context * ctx, struct ggml_opt_params params, struct ggml_tensor * f);

描述:执行优化函数。

参数:

  • ctx:上下文指针。
  • params:优化参数。
  • f:目标函数张量。

ggml_opt_resume

enum ggml_opt_result ggml_opt_resume(struct ggml_context * ctx, struct ggml_opt_context * opt, struct ggml_tensor * f);

描述:恢复优化过程,构建前向和后向计算图。

参数:

  • ctx:上下文指针。
  • opt:优化器上下文指针。
  • f:目标函数张量。

ggml_opt_resume_g

enum ggml_opt_result ggml_opt_resume_g(struct ggml_context * ctx, struct ggml_opt_context * opt, struct ggml_tensor * f, struct ggml_cgraph * gf, struct ggml_cgraph * gb, ggml_opt_callback callback, void * callback_data);

描述:恢复优化过程,构建前向和后向计算图,并执行优化。

参数:

  • ctx:上下文指针。
  • opt:优化器上下文指针。
  • f:目标函数张量。
  • gf:前向传播计算图。
  • gb:反向传播计算图。
  • callback:优化回调函数。
  • callback_data:回调函数数据。

请注意,上述函数和结构体的描述是基于提供的代码片段提取的,可能不包含所有细节,且可能需要根据完整的代码库进行调整。

QK4_0

类型:未定义

描述:用于量化函数中的块大小,确保k是QK4_0的整数倍。

QK4_1

类型:未定义

描述:用于量化函数中的块大小,确保k是QK4_1的整数倍。

QK5_0

类型:未定义

描述:用于量化函数中的块大小,确保k是QK5_0的整数倍。

QK5_1

类型:未定义

描述:用于量化函数中的块大小,确保k是QK5_1的整数倍。

QK8_0

类型:未定义

描述:用于量化函数中的块大小,确保k是QK8_0的整数倍。

GGUF_MAGIC

类型:字符数组

描述:GGUF文件的魔数,用于识别文件格式。

GGUF_VERSION

类型:未定义

描述:GGUF文件的版本号。

GGUF_DEFAULT_ALIGNMENT

类型:未定义

描述:GGUF文件的默认对齐方式。

gguf_str

描述:用于存储字符串的结构体。

字段 类型 描述
n uint64_t 字符串长度
data char* 字符串数据

gguf_value

描述:联合体,用于存储不同类型的值。

字段 类型 描述
uint8 uint8_t 8位无符号整数
int8 int8_t 8位有符号整数
uint16 uint16_t 16位无符号整数
int16 int16_t 16位有符号整数
uint32 uint32_t 32位无符号整数
int32 int32_t 32位有符号整数
float32 float 32位浮点数
uint64 uint64_t 64位无符号整数
int64 int64_t 64位有符号整数
float64 double 64位浮点数
bool_ bool 布尔值
str struct gguf_str 字符串结构体
arr struct 包含类型、数量和数据的结构体

gguf_kv

描述:键值对结构体。

字段 类型 描述
key struct gguf_str
type enum gguf_type 类型
value union gguf_value

gguf_header

描述:GGUF文件头部结构体。

字段 类型 描述
magic char[4] 魔数
version uint32_t 版本号
n_tensors uint64_t 张量数量
n_kv uint64_t 键值对数量

gguf_tensor_info

描述:张量信息结构体。

字段 类型 描述
name struct gguf_str 名称
n_dims uint32_t 维度数量
ne uint64_t[GGML_MAX_DIMS] 每个维度的元素数量
type enum ggml_type 类型
offset uint64_t 偏移量
data const void* 数据
size size_t 大小

gguf_context

描述:GGUF上下文结构体。

字段 类型 描述
header struct gguf_header 头部信息
kv struct gguf_kv* 键值对数组
infos struct gguf_tensor_info* 张量信息数组
alignment size_t 对齐
offset size_t 偏移量
size size_t 大小
data void* 数据

ggml_opt_adam

enum ggml_opt_result ggml_opt_adam(struct ggml_context * ctx, struct ggml_opt * opt, struct ggml_opt_params * params, struct ggml_cgraph * f, struct ggml_cgraph * gf, struct ggml_cgraph * gb, ggml_opt_callback callback, void * callback_data)

描述:实现Adam优化算法。

参数:

  • ctx:ggml_context指针。
  • opt:ggml_opt指针。
  • params:ggml_opt_params指针。
  • f:ggml_cgraph指针。
  • gf:ggml_cgraph指针。
  • gb:ggml_cgraph指针。
  • callback:ggml_opt_callback函数指针。
  • callback_data:回调数据。

返回值:ggml_opt_result枚举值。

ggml_opt_lbfgs

enum ggml_opt_result ggml_opt_lbfgs(struct ggml_context * ctx, struct ggml_opt * opt, struct ggml_opt_params * params, struct ggml_cgraph * f, struct ggml_cgraph * gf, struct ggml_cgraph * gb, ggml_opt_callback callback, void * callback_data)

描述:实现LBFGS优化算法。

参数:

  • ctx:ggml_context指针。
  • opt:ggml_opt指针。
  • params:ggml_opt_params指针。
  • f:ggml_cgraph指针。
  • gf:ggml_cgraph指针。
  • gb:ggml_cgraph指针。
  • callback:ggml_opt_callback函数指针。
  • callback_data:回调数据。

返回值:ggml_opt_result枚举值。

ggml_quantize_q4_0

size_t ggml_quantize_q4_0(const float * src, void * dst, int n, int k, int64_t * hist)

描述:将浮点数数组量化为Q4_0类型的数据。

参数:

  • src:源浮点数数组。
  • dst:目标地址。
  • n:数据量。
  • k:块大小。
  • hist:直方图。

返回值:量化后的数据大小。

ggml_quantize_q4_1

size_t ggml_quantize_q4_1(const float * src, void * dst, int n, int k, int64_t * hist)

描述:将浮点数数组量化为Q4_1类型的数据。

参数:

  • src:源浮点数数组。
  • dst:目标地址。
  • n:数据量。
  • k:块大小。
  • hist:直方图。

返回值:量化后的数据大小。

ggml_quantize_q5_0

size_t ggml_quantize_q5_0(const float * src, void * dst, int n, int k, int64_t * hist)

描述:将浮点数数组量化为Q5_0类型的数据。

参数:

  • src:源浮点数数组。
  • dst:目标地址。
  • n:数据量。
  • k:块大小。
  • hist:直方图。

返回值:量化后的数据大小。

ggml_quantize_q5_1

size_t ggml_quantize_q5_1(const float * src, void * dst, int n, int k, int64_t * hist)

描述:将浮点数数组量化为Q5_1类型的数据。

参数:

  • src:源浮点数数组。
  • dst:目标地址。
  • n:数据量。
  • k:块大小。
  • hist:直方图。

返回值:量化后的数据大小。

ggml_quantize_q8_0

size_t ggml_quantize_q8_0(const float * src, void * dst, int n, int k, int64_t * hist)

描述:将浮点数数组量化为Q8_0类型的数据。

参数:

  • src:源浮点数数组。
  • dst:目标地址。
  • n:数据量。
  • k:块大小。
  • hist:直方图。

返回值:量化后的数据大小。

ggml_quantize_chunk

size_t ggml_quantize_chunk(enum ggml_type type, const float * src, void * dst, int start, int n, int64_t * hist)

描述:对指定类型的输入数组进行量化。

参数:

  • type:量化类型。
  • src:源浮点数数组。
  • dst:目标地址。
  • start:起始位置。
  • n:数据量。
  • hist:直方图。

返回值:量化后的数据大小。

gguf_fread_el

static bool gguf_fread_el(FILE * file, void * dst, size_t size, size_t * offset)

描述:从文件中读取指定大小的数据到目标地址,并更新偏移量。

参数:

  • file:文件指针。
  • dst:目标地址。
  • size:数据大小。
  • offset:偏移量指针。

返回值:是否成功读取指定大小的数据。

gguf_fread_str

static bool gguf_fread_str(FILE * file, struct gguf_str * p, size_t * offset)

描述:从文件中读取字符串结构体gguf_str,并更新偏移量。

参数:

  • file:文件指针。
  • p:gguf_str结构体指针。
  • offset:偏移量指针。

返回值:是否成功读取字符串。

gguf_init_empty

struct gguf_context * gguf_init_empty(void)

描述:初始化一个空的gguf_context结构体。

返回值:gguf_context指针。

gguf_init_from_file

struct gguf_context * gguf_init_from_file(const char * fname, struct gguf_init_params params)

描述:从文件初始化gguf上下文。

参数:

  • fname:文件名。
  • params:初始化参数。

返回值:gguf_context指针。

gguf_find_key

int gguf_find_key(struct gguf_context * ctx, const char * key)

描述:查找指定键在gguf_context中的索引。

参数:

  • ctx:gguf_context指针。
  • key:键名。

返回值:键的索引,如果未找到则返回-1。

gguf_get_val_u32

uint32_t gguf_get_val_u32(struct gguf_context * ctx, int idx)

描述:获取gguf_context中指定索引的值,并转换为uint32_t类型。

参数:

  • ctx:gguf_context指针。
  • idx:索引。

返回值:转换后的uint32_t值。

gguf_free

void gguf_free(struct gguf_context * ctx)

描述:释放gguf_context结构体的内存。

参数:

  • ctx:gguf_context指针。

返回值:无。

GGML_PAD

类型:size_t

描述:用于计算对齐后的大小,具体实现未在给定代码段中提供。

GGML_ALIGNED_FREE

类型:void

描述:用于释放对齐内存的函数,具体实现未在给定代码段中提供。

GGUF_TYPE_NAME

类型:const char *

描述:一个数组,用于返回指定类型的名称,具体内容未在给定代码段中提供。

GGUF_TYPE_UINT8

类型:enum gguf_type

描述:表示无符号8位整数类型。

GGUF_TYPE_INT8

类型:enum gguf_type

描述:表示有符号8位整数类型。

GGUF_TYPE_UINT16

类型:enum gguf_type

描述:表示无符号16位整数类型。

GGUF_TYPE_INT16

类型:enum gguf_type

描述:表示有符号16位整数类型。

GGUF_TYPE_UINT32

类型:enum gguf_type

描述:表示无符号32位整数类型。

GGUF_TYPE_INT32

类型:enum gguf_type

描述:表示有符号32位整数类型。

GGUF_TYPE_FLOAT32

类型:enum gguf_type

描述:表示32位浮点数类型。

GGUF_TYPE_UINT64

类型:enum gguf_type

描述:表示无符号64位整数类型。

GGUF_TYPE_INT64

类型:enum gguf_type

描述:表示有符号64位整数类型。

GGUF_TYPE_FLOAT64

类型:enum gguf_type

描述:表示64位浮点数类型。

GGUF_TYPE_BOOL

类型:enum gguf_type

描述:表示布尔类型。

GGUF_TYPE_STRING

类型:enum gguf_type

描述:表示字符串类型。

GGUF_TYPE_ARRAY

类型:enum gguf_type

描述:表示数组类型。

gguf_context

描述:表示一个上下文结构体,包含版本号、对齐方式、数据偏移量、数据指针、键值对数量等信息。

字段 类型 描述
header struct gguf_header 包含版本号、张量数量、键值对数量等信息
alignment size_t 对齐方式
offset size_t 数据偏移量
data void * 数据指针
kv struct gguf_kv * 键值对数组
infos struct gguf_tensor_info * 张量信息数组

gguf_header

描述:包含版本号、张量数量、键值对数量等信息。

字段 类型 描述
version int 版本号
n_tensors uint32_t 张量数量
n_kv uint32_t 键值对数量

gguf_kv

描述:表示一个键值对结构体,包含键、值类型和值。

字段 类型 描述
key struct gguf_str
type enum gguf_type 值类型
value union gguf_value

gguf_str

描述:表示一个字符串结构体,包含字符串长度和数据。

字段 类型 描述
n size_t 字符串长度
data char * 字符串数据

gguf_value

描述:表示一个值联合体,根据不同的类型存储不同的值。

字段 类型 描述
uint8 uint8_t 无符号8位整数
int8 int8_t 有符号8位整数
uint16 uint16_t 无符号16位整数
int16 int16_t 有符号16位整数
uint32 uint32_t 无符号32位整数
int32 int32_t 有符号32位整数
float32 float 32位浮点数
uint64 uint64_t 无符号64位整数
int64 int64_t 有符号64位整数
float64 double 64位浮点数
bool_ bool 布尔值
str struct gguf_str 字符串
arr struct gguf_arr 数组

gguf_arr

描述:表示一个数组结构体,包含数组类型、元素数量和数据。

字段 类型 描述
type enum gguf_type 数组类型
n uint32_t 元素数量
data void * 数组数据

gguf_tensor_info

描述:表示一个张量信息结构体,包含张量名称、类型、偏移量等信息。

字段 类型 描述
name struct gguf_str 张量名称
type enum ggml_type 张量类型
offset size_t 张量偏移量

gguf_free

void gguf_free(struct gguf_context * ctx)

描述:释放 gguf_context 结构体所占用的内存空间。

参数:

  • ctx:指向 gguf_context 结构体的指针。

返回值:无。

gguf_type_name

const char * gguf_type_name(enum gguf_type type)

描述:返回指定类型的名称。

参数:

  • typeenum gguf_type 类型的值。

返回值:const char *,类型的名称。

gguf_get_version

int gguf_get_version(const struct gguf_context * ctx)

描述:获取 gguf_context 结构体中的版本号。

参数:

  • ctx:指向 gguf_context 结构体的指针。

返回值:版本号。

gguf_get_alignment

size_t gguf_get_alignment(const struct gguf_context * ctx)

描述:获取 gguf_context 结构体中的对齐方式。

参数:

  • ctx:指向 gguf_context 结构体的指针。

返回值:对齐方式。

gguf_get_data_offset

size_t gguf_get_data_offset(const struct gguf_context * ctx)

描述:获取 gguf_context 结构体中的数据偏移量。

参数:

  • ctx:指向 gguf_context 结构体的指针。

返回值:数据偏移量。

gguf_get_data

void * gguf_get_data(const struct gguf_context * ctx)

描述:获取 gguf_context 结构体中的数据指针。

参数:

  • ctx:指向 gguf_context 结构体的指针。

返回值:数据指针。

gguf_get_n_kv

int gguf_get_n_kv(const struct gguf_context * ctx)

描述:获取 gguf_context 结构体中的键值对数量。

参数:

  • ctx:指向 gguf_context 结构体的指针。

返回值:键值对数量。

gguf_find_key

int gguf_find_key(const struct gguf_context * ctx, const char * key)

描述:在给定的 gguf_context 中查找指定的键,如果找到则返回其索引,否则返回 -1。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key:要查找的键。

返回值:键的索引或 -1。

gguf_get_key

const char * gguf_get_key(const struct gguf_context * ctx, int key_id)

描述:获取指定索引的键。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:键的字符串值。

gguf_get_kv_type

enum gguf_type gguf_get_kv_type(const struct gguf_context * ctx, int key_id)

描述:获取指定索引的键值对的类型。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:键值对的类型。

gguf_get_arr_type

enum gguf_type gguf_get_arr_type(const struct gguf_context * ctx, int key_id)

描述:获取指定索引的数组类型的键值对的类型。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:数组类型的键值对的数据类型。

gguf_get_arr_data

const void * gguf_get_arr_data(const struct gguf_context * ctx, int key_id)

描述:获取指定索引的数组类型的键值对的数据。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:数组类型的键值对的数据。

gguf_get_arr_str

const char * gguf_get_arr_str(const struct gguf_context * ctx, int key_id, int i)

描述:获取指定索引的数组类型的键值对的字符串数据。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。
  • i:数组中字符串的索引。

返回值:字符串数据。

gguf_get_arr_n

int gguf_get_arr_n(const struct gguf_context * ctx, int key_id)

描述:获取指定索引的数组类型的键值对的元素数量。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:元素数量。

gguf_get_val_u8

uint8_t gguf_get_val_u8(const struct gguf_context * ctx, int key_id)

描述:从给定的 gguf_context 结构体中获取 uint8_t 类型的值。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:uint8_t 类型的值。

gguf_get_val_i8

int8_t gguf_get_val_i8(const struct gguf_context * ctx, int key_id)

描述:从给定的 gguf_context 结构体中获取 int8_t 类型的值。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:int8_t 类型的值。

gguf_get_val_u16

uint16_t gguf_get_val_u16(const struct gguf_context * ctx, int key_id)

描述:从给定的 gguf_context 结构体中获取 uint16_t 类型的值。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:uint16_t 类型的值。

gguf_get_val_i16

int16_t gguf_get_val_i16(const struct gguf_context * ctx, int key_id)

描述:从给定的 gguf_context 结构体中获取 int16_t 类型的值。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:int16_t 类型的值。

gguf_get_val_u32

uint32_t gguf_get_val_u32(const struct gguf_context * ctx, int key_id)

描述:从给定的 gguf_context 结构体中获取 uint32_t 类型的值。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:uint32_t 类型的值。

gguf_get_val_i32

int32_t gguf_get_val_i32(const struct gguf_context * ctx, int key_id)

描述:从给定的 gguf_context 结构体中获取 int32_t 类型的值。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:int32_t 类型的值。

gguf_get_val_f32

float gguf_get_val_f32(const struct gguf_context * ctx, int key_id)

描述:从给定的 gguf_context 结构体中获取 float 类型的值。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:float 类型的值。

gguf_get_val_u64

uint64_t gguf_get_val_u64(const struct gguf_context * ctx, int key_id)

描述:从给定的 gguf_context 结构体中获取 uint64_t 类型的值。

参数:

  • ctx:指向 gguf_context 结构体的指针。
  • key_id:键的索引。

返回值:uint64_t 类型的值。

gguf_get_val_i64

int64_t gguf_get_val_i64(const struct gguf_context * ctx, int key_id)

描述:从给定的 gguf_context 结构体中获取 int64_t 类型的值。

参数:

  • ctx:指向 gguf_context 结构体的指针。

GGUF_TYPE_INT64 类型:枚举 描述:表示有符号64位整数的类型

GGUF_TYPE_FLOAT64 类型:枚举 描述:表示浮点数的类型

GGUF_TYPE_BOOL 类型:枚举 描述:表示布尔值的类型

GGUF_TYPE_STRING 类型:枚举 描述:表示字符串的类型

GGUF_TYPE_ARRAY 类型:枚举 描述:表示数组的类型

GGML_MAX_DIMS 类型:整数 描述:表示张量的最大维度数量

GGML_PAD 类型:函数 描述:用于对齐内存的函数

GGML_ASSERT 类型:宏 描述:断言宏,用于检查条件是否为真

gguf_context 描述:表示上下文信息的结构体

字段 类型 描述
kv struct kv[] 键值对数组
infos struct gguf_tensor_info[] 张量信息数组
header struct gguf_header 头部信息
alignment int 对齐大小
infos struct gguf_tensor_info[] 张量信息数组
alignment int 对齐大小

gguf_tensor_info 描述:表示张量信息的结构体

字段 类型 描述
name struct gguf_str 张量名称
n_dims uint32_t 维度数量
ne uint32_t[GGML_MAX_DIMS] 每个维度的大小
type enum ggml_type 张量的数据类型
offset size_t 张量的偏移量
data void* 张量的数据指针
size size_t 张量的大小

gguf_buf 描述:表示缓冲区的结构体

字段 类型 描述
data void* 缓冲区的数据指针
size size_t 缓冲区的大小
offset size_t 缓冲区的偏移量

gguf_str 描述:表示字符串的结构体

字段 类型 描述
n size_t 字符串长度
data char* 字符串数据

gguf_set_val_f64

void gguf_set_val_f64(struct gguf_context * ctx, const char * key, double val) 

描述:设置或添加浮点数值类型的键值对到上下文中

参数:

  • ctx:上下文指针
  • key:键名
  • val:浮点数值

返回值:无

gguf_set_val_bool

void gguf_set_val_bool(struct gguf_context * ctx, const char * key, bool val) 

描述:设置或添加布尔类型的键值对到上下文中

参数:

  • ctx:上下文指针
  • key:键名
  • val:布尔值

返回值:无

gguf_set_val_str

void gguf_set_val_str(struct gguf_context * ctx, const char * key, const char * val) 

描述:设置或添加字符串类型的键值对到上下文中

参数:

  • ctx:上下文指针
  • key:键名
  • val:字符串值

返回值:无

gguf_set_arr_data

void gguf_set_arr_data(struct gguf_context * ctx, const char * key, enum gguf_type type, const void * data, int n) 

描述:设置或添加数组类型的键值对到上下文中

参数:

  • ctx:上下文指针
  • key:键名
  • type:数组类型
  • data:数组数据指针
  • n:数组元素数量

返回值:无

gguf_set_arr_str

void gguf_set_arr_str(struct gguf_context * ctx, const char * key, const char ** data, int n) 

描述:设置或添加字符串数组类型的键值对到上下文中

参数:

  • ctx:上下文指针
  • key:键名
  • data:字符串数组数据指针
  • n:字符串数量

返回值:无

gguf_add_tensor

void gguf_add_tensor(struct gguf_context * ctx, const struct ggml_tensor * tensor) 

描述:向上下文中添加张量

参数:

  • ctx:上下文指针
  • tensor:张量指针

返回值:无

gguf_set_tensor_type

void gguf_set_tensor_type(struct gguf_context * ctx, const char * name, enum ggml_type type) 

描述:设置张量的数据类型

参数:

  • ctx:上下文指针
  • name:张量名称
  • type:数据类型

返回值:无

gguf_set_tensor_data

void gguf_set_tensor_data(struct gguf_context * ctx, const char * name, const void * data, size_t size) 

描述:设置张量的数据

参数:

  • ctx:上下文指针
  • name:张量名称
  • data:数据指针
  • size:数据大小

返回值:无

gguf_buf_init

static struct gguf_buf gguf_buf_init(size_t size) 

描述:初始化缓冲区

参数:

  • size:缓冲区大小

返回值:初始化后的缓冲区结构体

gguf_buf_free

static void gguf_buf_free(struct gguf_buf buf) 

描述:释放缓冲区

参数:

  • buf:缓冲区结构体

返回值:无

gguf_buf_grow

static void gguf_buf_grow(struct gguf_buf * buf, size_t size) 

描述:扩展缓冲区

参数:

  • buf:缓冲区指针
  • size:需要扩展的大小

返回值:无

gguf_bwrite_str

static void gguf_bwrite_str(struct gguf_buf * buf, const struct gguf_str * val) 

描述:写入字符串到缓冲区

参数:

  • buf:缓冲区指针
  • val:字符串结构体

返回值:无

gguf_bwrite_el

static void gguf_bwrite_el(struct gguf_buf * buf, const void * val, size_t el_size) 

描述:写入元素到缓冲区

参数:

  • buf:缓冲区指针
  • val:元素指针
  • el_size:元素大小

返回值:无

gguf_write_to_buf

static void gguf_write_to_buf(const struct gguf_context * ctx, struct gguf_buf * buf, bool only_meta) 

描述:将数据写入缓冲区

参数:

  • ctx:上下文指针
  • buf:缓冲区指针
  • only_meta:是否只写入元数据

返回值:无

gguf_write_to_file

void gguf_write_to_file(const struct gguf_context * ctx, const char * fname, bool only_meta) 

描述:将数据写入文件

参数:

  • ctx:上下文指针
  • fname:文件名
  • only_meta:是否只写入元数据

返回值:无

gguf_get_meta_size

size_t gguf_get_meta_size(const struct gguf_context * ctx) 

描述:获取元数据的大小

参数:

  • ctx:上下文指针

返回值:元数据的大小

gguf_get_meta_data

void gguf_get_meta_data(const struct gguf_context * ctx, void * data) 

描述:获取元数据的数据

参数:

  • ctx:上下文指针
  • data:存储元数据的缓冲区

返回值:无

ggml_cpu_has_avx

int ggml_cpu_has_avx(void) 

描述:检查 CPU 是否支持 AVX 指令集

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_avx_vnni

int ggml_cpu_has_avx_vnni(void) 

描述:检查 CPU 是否支持 AVX VNNI 指令集

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_avx2

int ggml_cpu_has_avx2(void) 

描述:检查 CPU 是否支持 AVX2 指令集

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_avx512

int ggml_cpu_has_avx512(void) 

描述:检查 CPU 是否支持 AVX512 指令集

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_avx512_vbmi

int ggml_cpu_has_avx512_vbmi(void) 

描述:检查 CPU 是否支持 AVX512 VBMI 指令集

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_avx512_vnni

int ggml_cpu_has_avx512_vnni(void) 

描述:检查 CPU 是否支持 AVX512 VNNI 指令集

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_fma

int ggml_cpu_has_fma(void) 

描述:检查 CPU 是否支持 FMA 指令集

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_neon

int ggml_cpu_has_neon(void) 

描述:检查 CPU 是否支持 NEON 指令集

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_arm_fma

int ggml_cpu_has_arm_fma(void) 

描述:检查 CPU 是否支持 ARM FMA 指令集

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_metal

int ggml_cpu_has_metal(void) 

描述:检查 CPU 是否支持 Metal 框架

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_f16c

int ggml_cpu_has_f16c(void) 

描述:检查 CPU 是否支持 F16C 指令集

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_fp16_va

int ggml_cpu_has_fp16_va(void) 

描述:检查 CPU 是否支持 ARM FP16 向量算术指令集

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_wasm_simd

int ggml_cpu_has_wasm_simd(void) 

描述:检查 CPU 是否支持 WebAssembly SIMD 指令集

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_blas

int ggml_cpu_has_blas(void) 

描述:检查 CPU 是否支持 BLAS 库

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_cublas

int ggml_cpu_has_cublas(void) 

描述:检查 CPU 是否支持 cuBLAS 库

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_clblast

int ggml_cpu_has_clblast(void) 

描述:检查 CPU 是否支持 CLBlast 库

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_gpublas

int ggml_cpu_has_gpublas(void) 

描述:检查 CPU 是否支持 GPU BLAS 库

参数:无

返回值:1 表示支持,0 表示不支持

ggml_cpu_has_sse3

int ggml_cpu_has_sse3(void) 

描述:检查 CPU 是否支持 SSE3 指令集

参数:无

返回值:1 表示支持,0 表示不支持

无常量定义。

无结构体定义。

ggml_cpu_has_sse3

int ggml_cpu_has_sse3(void)

描述:检查CPU是否支持SSE3指令集。

参数:无。

返回值:如果支持SSE3指令集,返回1;否则返回0。

ggml_cpu_has_ssse3

int ggml_cpu_has_ssse3(void)

描述:检查CPU是否支持SSSE3指令集。

参数:无。

返回值:如果支持SSSE3指令集,返回1;否则返回0。

ggml_cpu_has_vsx

int ggml_cpu_has_vsx(void)

描述:检查CPU是否支持VSX指令集。

参数:无。

返回值:如果支持VSX指令集,返回1;否则返回0。

相关文章
|
2月前
|
数据挖掘 API Go
《Go 简易速速上手小册》第7章:包管理与模块(2024 最新版)(下)
《Go 简易速速上手小册》第7章:包管理与模块(2024 最新版)
45 1
|
2月前
|
存储 缓存 C++
GGML 非官方中文文档(1)
GGML 非官方中文文档
71 1
|
2月前
|
机器学习/深度学习 存储 API
GGML 非官方中文文档(2)
GGML 非官方中文文档
64 0
|
2月前
|
存储 算法 图计算
GGML 非官方中文文档(4)
GGML 非官方中文文档
41 0
|
2月前
|
存储 异构计算 索引
GGML 非官方中文文档(3)
GGML 非官方中文文档
36 0
|
2月前
|
缓存 NoSQL Go
《Go 简易速速上手小册》第7章:包管理与模块(2024 最新版)(上)
《Go 简易速速上手小册》第7章:包管理与模块(2024 最新版)
94 1
|
2月前
|
JavaScript 前端开发 搜索推荐
《VitePress 简易速速上手小册》第1章:VitePress 入门(2024 最新版)
《VitePress 简易速速上手小册》第1章:VitePress 入门(2024 最新版)
120 1
|
2月前
|
JSON JavaScript 前端开发
dayjs 中文文档
dayjs 中文文档
528 0
|
2月前
|
资源调度 JavaScript 搜索推荐
《VitePress 简易速速上手小册》第9章 VitePress 的扩展与插件(2024 最新版)
《VitePress 简易速速上手小册》第9章 VitePress 的扩展与插件(2024 最新版)
153 0
|
8月前
|
JavaScript 前端开发 程序员
从零开发和发布自己的wordpress插件到官方插件库完全指南
wordpress是一款很流行的开源博客程序,全世界有很多网站都在使用wordpress,程序员们也喜欢拿来做自己的技术博客,对于自己不满意的地方,那肯定也需要自己动手来修改了,下面就介绍从开发到发布一个wordpress插件的完整流程
84 0