cpu: 支持使用静态链接的 GGML_CPU_ALL_VARIANTS
作者: thewh1teagle创建于 2026年8月27日更新于 2026年8月27日
`GGML_CPU_ALL_VARIANTS` 目前需要 `GGML_BACKEND_DL`, 因此运行时的 CPU 变体选择只在后端作为共享模块提供时才可用。那些分发单个静态二进制文件的项目无法使用它,而被迫在 `-march=native` 风格的构建(在旧 CPU 上会崩溃(在 AVX2 之前的机器上是 SIGILL)和一个保守的基准中)之间进行选择,后者会将 AVX2/AVX512 的性能留给所有人。静态的所有变体在不修改任何内核的情况下看起来是可行的,因为每个 CPU 变体只需要导出两个符号 - `ggml_backend_init` 和 `ggml_backend_score`,这些符号与 DL 加载器使用的接口相同:
内容来源: ggml-org/ggml