我们在 2013 年末的 MacBook Pro 上编译 Lapack 时遇到问题。编译器提示使用 -march=native
编译时不支持向量指令:
no such instruction: `vmovss (%rdx), %xmm0'
使用-march=core2
一切都很好。
问题是:如何检测waf中的处理器架构?目前,waf 可以在 Darwin 操作系统的机器上运行,但问题与操作系统无关,而是与处理器有关,因此这没有帮助。
我不是问如何修复汇编器错误!我问的是如何让 waf 检测处理器架构。
最佳答案
这可以帮助识别 INTEL 处理器系列。 运行这段代码
#include "stdio.h"
int main () {
int ebx = 0, ecx = 0, edx = 0, eax = 1;
__asm__ ("cpuid": "=b" (ebx), "=c" (ecx), "=d" (edx), "=a" (eax):"a" (eax));
int model = (eax & 0x0FF) >> 4;
int extended_model = (eax & 0xF0000) >> 12;
int family_code = (eax & 0xF00) >> 8;
int extended_family_code = (eax & 0xFF00000) >> 16;
printf (" model %x\n extended_model %x\n family_code %x\n extended_family_code %x \n", eax, ebx, ecx, edx);
printf ("CPUID: %02x %x\n", extended_family_code | family_code, extended_model | model);
return 0;
}
然后查看此处给出的表格 processor arch 。 您将了解您的处理器系列。
关于python - 确定处理器架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23223765/