llama.cpp b11853:HIP 字节置换回退修复
原标题:b11853
AI 摘要
llama.cpp 发布 b11853 版本,主要修复 HIP 后端在缺少 __builtin_amdgcn_perm 内建函数时的字节置换回退问题。由于 amdgcnspirv 会拒绝未用 __builtin_amdgcn_is_invocable 保护的目标特定内建函数,此前 145 个 HIP 文件中有 66 个构建失败。该改动将 perm 调用封装为辅助函数,在目标支持时保留 v_perm_b32,否则回退到可移植的字节选择实现,并将辅助函数移至 vendors/hip.h。
正文节选
<details open> HIP: add byte permute fallback when __builtin_amdgcn_perm is unavailable (#30915) * HIP: add byte permute fallback when __builtin_amdgcn_perm is unavailable amdgcnspirv rejects target-specific builtins unless they are guarded by `__builtin_amdgcn_is_invocable`, so 66 of 145 HIP files failed to build Wrap the perm calls in a helper that keeps v_perm_b32 when the target has it and falls back to a portable byte select otherwise * move perm helper to vendors/hip.h </details> **