首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何知道哪些AVX C函数可以在不同的处理器模型上使用

我如何知道哪些AVX C函数可以在不同的处理器模型上使用
EN

Stack Overflow用户
提问于 2021-05-02 11:19:22
回答 1查看 173关注 0票数 0

基本上就是标题。例如,我试图运行如下指令:

_mm256_load_pd_mm256_add_pd_mm256_stream_pd和处理器上的128位版本: Intel,E5630,2.53 GHz,IBM HS22。但是,我得到了Illegal instruction的任何想法,在一个网站,我可以看到哪些功能是可用的这个处理器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-02 11:35:43

检查您的/proc/cpuinfo,如果您是在一个操作系统有一个。

或者使用clang或gcc -march=native -他们将拒绝编译任何你的CPU不支持的本质。(与MSVC或ICC不同,后者允许您在不告诉目标机器支持它们的情况下使用本机。)

要通过CPU模型查找它,请搜索该模型,例如Xeon, E5630 -> https://ark.intel.com/content/www/us/en/ark/products/47924/intel-xeon-processor-e5630-12m-cache-2-53-ghz-5-86-gt-s-intel-qpi.html

  • 指令集扩展:Intel SSE4.2

所以根本没有AVX,因为它是2010年的韦斯特米尔-EP微体系结构(在沙桥之前)。

对于更详细的CPU,您还可以检查http://instlatx64.atw.hu/并检查该模型的CPUID转储(或相同的微体系结构之一),如果可以找到的话。例如,Aida64 CPUID的屏幕截图运行在Westmere和指令延迟/吞吐量基准输出上,文本文件顶部有信息,包括解码后的CPUID信息,显示它有哪些ISA扩展名。还有原始CPUID转储,您可以通过您感兴趣的任何扩展(比如cmpxchg16b或FSGSBASE,英特尔的ark页面不会提到)交叉引用CPUID功能比特要求(https://sandpile.org/x86/cpuid.htm)。

关联:https://software.intel.com/sites/landingpage/IntrinsicsGuide/告诉您对应的asm指令对每个内部的需要什么ISA扩展。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67355751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档