找回密码
 立即注册
查看: 138|回复: 9

Zen4的AVX512有用么

[复制链接]

0

主题

0

回帖

30

积分

新手上路

积分
30
发表于 2023-8-3 20:17:09 | 显示全部楼层 |阅读模式
llama.cpp是一种cpp写的可以在CPU上推理和微调的框架,最近非常流行。

我就分别在7840U、Z1 Extreme和13980HX上运行了下。结果有点出乎意料。

llama.cpp本身是支持AVX512的,它对三个CPU的检测如图:



左边是7840U,右边是Z1 Extreme,中间是13980HX。

首先是Z1E保留了AVX512指令集群,VNNI都保留了,阉割的貌似是FPGA那块。

最终的token生成速度,Z1E比7840U甚至要更快一点。

最慢的当然是不支持AVX512的13980HX,而且是32线程输给16线程,这。。。

生成对比可以看下面三个视频:

7840U


Z1E(请忽略背景声)


13980HX

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

0

主题

1026

回帖

0

积分

新手上路

积分
0
发表于 2023-8-3 20:18:24 | 显示全部楼层
llama.cpp是毫无疑问的memory bandwidth bound啊, 你看imc性能计数或者profiling一下就能发现的

他的实现只能bs=1, 每生成一个token就需要从内存完整访问一遍所有权重

另外llama.cpp的avx512仅用在浮点计算部分, 量化模型虽然检测了avx512vnni的flag, 但完全没有相关实现, 用的只是avxvnni(当然在memory bandwidth bound下这个其实无关紧要), 数据load/store和scale都是用avx2完成的, 这和他的量化实现是以32B块为单位有关, 不进行大幅改动的前提下没办法用avx512进行相关操作(这在单路spr上结合load队列深度限制最终造成load bandwidth无法超过大约170GB/s, 可以通过修改量化块大小回避, 但会失去模型文件兼容性)
回复 支持 反对

使用道具 举报

0

主题

941

回帖

0

积分

新手上路

积分
0
发表于 2023-8-3 20:24:08 | 显示全部楼层
memory bandwidth之前测的好像amd的还慢一些。
回复 支持 反对

使用道具 举报

0

主题

967

回帖

0

积分

新手上路

积分
0
发表于 2023-8-3 20:27:32 | 显示全部楼层
而且视频可以看到你跑的是量化模型
量化的模型目前的实现实际上是几乎不会运行任何avx512的代码的
回复 支持 反对

使用道具 举报

0

主题

970

回帖

0

积分

新手上路

积分
0
发表于 2023-8-3 20:31:02 | 显示全部楼层
模型是Q4
回复 支持 反对

使用道具 举报

0

主题

970

回帖

0

积分

新手上路

积分
0
发表于 2023-8-3 20:34:04 | 显示全部楼层
耗时95%以上的大头ggml_vec_dot_q4_0_q8_0里压根没有一丁点512宽度的代码
对于avx512vnni整个repo里甚至只是个检测有无的flag并且显示一下, 没有其他东西了
回复 支持 反对

使用道具 举报

0

主题

952

回帖

0

积分

新手上路

积分
0
发表于 2023-8-3 20:34:59 | 显示全部楼层
那我不解为什么有这种情况。刚才又测了下,intel的memory各项指标都是领先的。
回复 支持 反对

使用道具 举报

0

主题

1008

回帖

0

积分

新手上路

积分
0
发表于 2023-8-3 20:42:28 | 显示全部楼层
因为intel的main cache现在是l2, l3整个都是victim cache, 在这种victim完全无效的场景下 intel的l3等效容量就是0
回复 支持 反对

使用道具 举报

0

主题

995

回帖

0

积分

新手上路

积分
0
发表于 2023-8-3 20:47:48 | 显示全部楼层
我去跑个profiling看看。
回复 支持 反对

使用道具 举报

0

主题

1012

回帖

0

积分

新手上路

积分
0
发表于 2023-8-3 20:55:56 | 显示全部楼层
所以到底有没有用啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翻墙党

GMT+8, 2026-9-30 20:22 , Processed in 0.066257 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表