【发布时间】:2019-04-01 20:34:09
【问题描述】:
在哪里可以找到有关 x86 微架构“市场份额”的数据? x86 系列 CPU 的用户中有多少百分比的 CPU 支持 SSE4.2、AVX、AVX2 等?
我正在为我的程序分发预编译的二进制文件,我想知道什么是最佳优化目标,以及哪些 SIMD 扩展可以在没有运行时检查的情况下合理使用。
我可以找到英特尔与 AMD 的整体市场份额数据,但不能找到英特尔和 AMD 几代 CPU 的细分数据。理想情况下,我还希望按操作系统和国家/地区进行细分,但即使是微架构的一般全球统计数据也总比没有好。
【问题讨论】:
-
您是否考虑过运送多个二进制文件/DLL/SO 并在安装过程中找出正确的一个?这样的数据可能不太容易找到。
-
@DanielKamilKozar 我已经考虑过这个(以及多版本函数),但我希望消除这种复杂性。
-
如果没有回退或安装时检测,任何比 SSE2(x86-64 的基线)更新的东西如果没有运行时检查都是有风险的。 AVX 和 BMI1/2 距离基线还很远,因为英特尔仍在销售禁用 VEX 前缀解码的赛扬/奔腾芯片(大概是为了利用 256 位执行单元中存在缺陷的硅片),但 SSE4.2 越来越接近SSSE3 是一种可能性。请参阅 Most recent processor without support of SSSE3 instructions? 和 Mac OSX minumum support sse version。
-
Do all 64 bit intel architectures support SSSE3/SSE4.1/SSE4.2 instructions? 有一个指向 the Valve Hardware Survey for Steam 客户端的链接(目前显示 SSE3 的安装基数约为 100%,但 SSSE3 仅占 97%),所以如果您'正在发布一款应该与您的目标受众密切相关的 PC 游戏。对于服务器的东西,您可以轻松设置 SSE4.2 最小值。
-
@PeterCordes 这是很棒的信息。请将其发布为答案!
标签: x86 sse simd instruction-set baseline