我如何知道不同型号的处理器上有哪些AVXC功能



基本上就是标题。例如,我正在尝试运行以下指令:

处理器上的_mm256_load_pd_mm256_add_pd_mm256_stream_pd和128位版本:Intel Xeon、E5630、2.53 GHz、IBM HS22。但我正在获得Illegal instruction,有没有什么想法可以让我看到这个处理器有哪些功能?

如果您所在的操作系统有/proc/cpuinfo,请检查您的CCD_5。

或者使用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

  • 指令集扩展:英特尔®;SSE4.2

所以根本没有AVX,因为它是2010年的Westmere EP微架构(在Sandybridge之前(

有关更多详细的CPU,您也可以查看http://instlatx64.atw.hu/并检查该模型(或相同微体系结构之一(的CPUID转储(如果可以找到的话(。例如,在Westmere EX上运行的Aida64 CPUID的屏幕截图,以及指令延迟/吞吐量基准输出,文本文件顶部的信息包括显示其具有哪些ISA扩展名的解码CPUID信息。还有原始CPUID转储,您可以将其与所需的CPUID功能位进行交叉引用(https://sandpile.org/x86/cpuid.htm)


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

相关内容

  • 没有找到相关文章

最新更新