数学研发论坛

 找回密码
 欢迎注册
查看: 4757|回复: 21

[原创] 追求极致的速度必须了解CPU指令集发展趋势

[复制链接]
发表于 2009-10-14 11:34:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x
程序需要运行在相应的平台的,
作为开发者(甚至使用者)应多少关心相关硬件的发展趋势,
这样才能充分发挥设备的优势。

为什么汇编可以那么快?正是因为它贴近于底层。

相对于硬盘、RAM等,
更应该关注CPU的指令集发展、寄存器的扩容。

今天偶尔得闲,搜索了一下先前关注的 SSE5,
才得知AMD已宣布放弃了SSE5,转而支持 Intel 的 AVX 指令集。
再查“CPU AVX”,才知道这确实是个令人期待的,尤其是引入了 256 位的 YMM 寄存器。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-10-14 11:42:27 | 显示全部楼层
HugeCalc 已有近两年未公开升级了,
一则是比较忙;
二则是我一直想把它移植到64位平台,虽然尚未付诸实际行动(因为家里的机器配置太落后)。

在32位平台下,可以有128位的XMM寄存器可用,
而在64位平台下,当下却缺少相对应翻倍字长的寄存器可用,
所以有一些美妙的算法在移植时可能不得不割舍。

当发现即将有 AVX 指令集,以及 YMM 寄存器时,
内心的激动可想而知。

可惜,这样也许又会再次推迟我对家里电脑更新换代,同时也会增加相应的预算。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-14 16:30:07 | 显示全部楼层
软件太依赖硬件不太好吧
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-10-14 20:02:27 | 显示全部楼层
普通的应用确实不需花太多的精力在硬件上,
但追求极致时就不得不去多了解了解了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-15 11:24:52 | 显示全部楼层
数学软件,从来都是最需要速度的

恨不得自己去优化CPU微代码
呵呵

数学程序要速度不要兼容
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-15 11:36:02 | 显示全部楼层
同意郭老大, 我的好几个素数程序借助
SSE4 性能能提高不少。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-10-15 11:39:27 | 显示全部楼层
我还没用过 SSE4,因为还没有那好的机器供调试。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-15 11:39:59 | 显示全部楼层
主要期待256位寄存器
另外,不知道是否增加了寄存器数量

还有,似乎是浮点指令多
有没有整数指令阿?

哪里有文档?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-10-15 11:47:34 | 显示全部楼层
好像 YMM 寄存器也是 16 个,
指令嘛,应该是全面覆盖当前的 SIMD 指令,且会新增一些FMA(Fused Multiply Accumulate) 指令。
同样的 VAX 指令,可以用 YMM 寄存器,也可用 XMM 寄存器(不可混用吧,也没那个必要)。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-15 11:57:32 | 显示全部楼层
看了英文文档
仅仅存在128位的操作
乘法也最多是32 * 32
256位不过能增加一次处理数据的次数吧

寄存器是影射的XMM
即低位128和XMM重合
高位128硬件附加的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2019-9-19 19:28 , Processed in 0.104720 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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