预发布 / 持续集成构建:这是实验性构建,不是稳定版本。
cuda: 针对大于 512 的块宽度的 FWHT 内核(#29100) CUDA FWHT 覆盖宽度 64 到 512。它每个 warp 运行一行,每个 lane 保留 N/32 个值,因此更宽的块所需的每 lane 寄存器数量超出了该布局的允许范围。 fwht_cuda_block 以 256 个线程的每个线程块运行一行,因此每个线程保留 N/256 个值。低于 warp 宽度的阶段仍然使用 shuffle,最高到块宽度的阶段 经过共享内存,其余部分保留在寄存器中。与 warp 内核相同的蝶形运算和 符号约定。 宽度 64 到 512 保持使用 warp 内核。1024 到 8192 使用新内核,适用于 F32 和 F16 两种来源。 ggml_cuda_op_mul_mat_use_fwht(#29096 中添加的 共享 supports_op/dispatch 判定函数)不检查宽度,因此此处无需更改: 它所允许的、ggml_cuda_op_fwht 无法处理的任何宽度已经会正确回退到 cuBLAS 路径。 Rebase 到当前 master 之上,#29096 的 F16 提交位于其下,因为本改动 依赖相同的 F16 模板基础设施;该提交顺利应用,唯一的冲突出现在 test-backend-ops.cpp 中,一个不相关的中间提交自己的测试新增内容 落在了此代码块附近。 A10 (lambdalabs) 上的 test-backend-ops:MUL_MAT 1297/1297,包括所有 FWHT/Hadamard 用例(18 个已有的,4 个新的 F32 宽版本,4 个新的 F16 宽版本,2 个新的 many-rows,1 个过大边界移至 16384)。网站: - https://llama.app
证明(Attestations): - https://github.com/ggml-org/llama.cpp/attestations/53784056
macOS/iOS: - macOS Apple Silicon (arm64) - macOS Apple Silicon (arm64,已启用 KleidiAI) DISABLED - macOS Intel (x64) - iOS XCFramework
Linux: - Ubuntu x64 (CPU) - Ubuntu arm64 (CPU) - Ubuntu s390x (CPU) - Ubuntu x64 (Vulkan) - Ubuntu arm64 (Vulkan) - Ubuntu x64 (CUDA 12) - CUDA 12.8 库 - Ubuntu x64 (CUDA 13) - CUDA 13.4 库 - Ubuntu arm64 (CUDA 13) - CUDA 13.4 库 - Ubuntu x64 (ROCm 10.0) - Ubuntu x64 (OpenVINO) - Ubuntu x64 (SYCL FP32) - Ubuntu x64 (SYCL FP16) - Linux arm64(骁龙:CPU、Adreno GPU、Hexagon NPU) - 设置指南
Android: - Android arm64 (CPU) - Android arm64(骁龙:CPU、Adreno GPU、Hexagon NPU) - 设置指南
Windows 版本: - Windows x64 (CPU) 版本 - Windows arm64 (CPU) 版本 - Windows arm64 (OpenCL Adreno) 版本 - Windows x64 (CUDA 12) 版本 - CUDA 12.4 DLL 文件 - Windows x64 (CUDA 13) 版本 - CUDA 13.4 DLL 文件 - Windows arm64 (CUDA 13) 版本 - CUDA 13.4 DLL 文件 - Windows x64 (Vulkan) 版本 - Windows arm64 (Vulkan) 版本 - Windows x64 (OpenVINO) 版本 - Windows x64 (SYCL) 版本 - Windows x64 (ROCm 10.0) 版本
openEuler: - 已禁用 - openEuler x86 架构(310p) - openEuler x86 架构(910b,ACL Graph) - openEuler aarch64 架构(310p) - openEuler aarch64 架构(910b,ACL Graph)
界面: - 界面