SSE指令集未使能 [英] SSE instruction set not enabled

查看:752
本文介绍了SSE指令集未使能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到此错误的问题:SSE指令集未启用



我该如何计算?
我有ACER酷睿i7的,Ubuntu 11.10,请任何一个能帮助我吗?



任何帮助将不胜感激!






感谢您的回复。



如何传递这些标志?

 <$> 

c $ c> sudo cat / proc / cpuinfo | grep标志

产生:

 标记:FPU VME德PSE TSC MSR,PAE MCE CX8 APIC MTRR PGE MCA CMOV拍拍PSE36 CLFLUSH DTS ACPI MMX FXSR SSE SSE2 SS HT TM PBE NX rdtscp流明constant_tsc arch_perfmon PEBS BTS xtopology nonstop_tsc aperfmperf PNI pclmulqdq dtes64显示器ds_cpl VMX EST TM2 SSSE3 CX16 xtpr PDCM sse4_1 sse4_2 x2apic POPCNT xsave AVX lahf_lm IDA ARAT环保局xsaveopt PLN点DTS tpr_shadow vnmi FlexPriority可EPT VPID 

其实我试图安装gazebo-1.0.0-RC2-x86_64,并得到这个错误。

  /usr/lib/gcc/i686-linux-gnu/4.6.1/include/emmintrin.h:32:3:错误:#errorSSE2指令集未启用

在文件从/home/bkhelifa/Downloads/software/gazebo-1.0.0-RC2-x86_64/deps/opende/src/quickstep.cpp包括:39:0:
/usr/lib/gcc/i686-linux-gnu/4.6.1/include/xmmintrin.h:32:3:错误:#ERROR设置不启用SSE指令
/home/bkhelifa/Downloads/software/gazebo-1.0.0-RC2-x86_64/deps/opende/src/quickstep.cpp:在函数'dReal dot6(dRealPtr,dRealPtr)':
/家用/ bkhelifa /Downloads/software/gazebo-1.0.0-RC2-x86_64/deps/opende/src/quickstep.cpp:537:3:错误:__m128d没有在此范围内
声明。



提前谢谢,






我已经有这个选项在我cmakefile

 如果(SSE3_FOUND)
组(CMAKE_C_FLAGS_ALL$ {CMAKE_C_FLAGS_ALL} - msse3)
endif()
if(SSE4_1_FOUND)
endif()
if(SSSE3_FOUND)
set(CMAKE_C_FLAGS_ALL$ {CMAKE_C_FLAGS_ALL} -mssse3 b $ b set(CMAKE_C_FLAGS_ALL$ {CMAKE_C_FLAGS_ALL} -msse4.1)
endif()
if(SSE4_2_FOUND)
set(CMAKE_C_FLAGS_ALL$ {CMAKE_C_FLAGS_ALL} -msse4.2)
endif()


解决方案

文件检查以确保启用SSE。似乎您的if语句不起作用。



如果添加 -march = native 最好的CPU拱形和标志来编译基于你的处理器,或者你可以明确使用 -march = corei7 -mavx -mpclmul ,这对于 distcc 。此外, -mfpmath = sse / -mfpmath = 387 将告诉编译器为浮点数学生成SSE / x87指令。根据您的处理器,可能会更快,但我认为英特尔处理器通常在SSE更好。



如果你想检查gcc是否启用使用本机标志运行 gcc -march = native -Q --help = target -v


I am getting trouble with this error: "SSE instruction set not enabled"

how I can figure this out? I have ACER i7, Ubuntu 11.10, please any one can help me?

any help will be appreciated!


Thank you for your reply.

How I can pass these flags? which command line I have to use, an example plz?

Also running:

 sudo cat /proc/cpuinfo | grep flags

Gives:

    flags       : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 x2apic popcnt xsave avx lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid

Actually i was trying to install gazebo-1.0.0-RC2-x86_64, and getting this error.

/usr/lib/gcc/i686-linux-gnu/4.6.1/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"

In file included from /home/bkhelifa/Downloads/software/gazebo-1.0.0-RC2-x86_64/deps/opende/src/quickstep.cpp:39:0: /usr/lib/gcc/i686-linux-gnu/4.6.1/include/xmmintrin.h:32:3: error: #error "SSE instruction set not enabled" /home/bkhelifa/Downloads/software/gazebo-1.0.0-RC2-x86_64/deps/opende/src/quickstep.cpp: In function ‘dReal dot6(dRealPtr, dRealPtr)’: /home/bkhelifa/Downloads/software/gazebo-1.0.0-RC2-x86_64/deps/opende/src/quickstep.cpp:537:3: error: ‘__m128d’ was not declared in this scope . . .

Thank you in advance,


I already have this option in my cmakefile

if (SSE3_FOUND)
  set (CMAKE_C_FLAGS_ALL "${CMAKE_C_FLAGS_ALL} -msse3")
endif()
if (SSSE3_FOUND)
  set (CMAKE_C_FLAGS_ALL "${CMAKE_C_FLAGS_ALL} -mssse3")
endif()
if (SSE4_1_FOUND)
  set (CMAKE_C_FLAGS_ALL "${CMAKE_C_FLAGS_ALL} -msse4.1")
endif()
if (SSE4_2_FOUND)
  set (CMAKE_C_FLAGS_ALL "${CMAKE_C_FLAGS_ALL} -msse4.2")
endif()

解决方案

One of your header files checks to ensure that SSE is enabled. It appears that your if statements aren't working.

If you add -march=native it should pick the best CPU arch and flags to compile for based on your processor, or you can explicitly use -march=corei7 -mavx -mpclmul, which is useful for distcc. Also, -mfpmath=sse/-mfpmath=387 will tell the compiler to generate SSE/x87 instructions for floating point math. Depending on your processor, either could be faster, but I think Intel processors are usually better at SSE.

If you want to check what gcc is enabling using the native flag run gcc -march=native -Q --help=target -v.

这篇关于SSE指令集未使能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆