11
votes

SET INSTRUCTION SSE Non activé

J'ai des problèmes avec cette erreur: "SSE Instruction Set non activé" em>. Comment je peux comprendre cela?

J'ai Acer I7, Ubuntu 11.10, s'il vous plaît chacun peut m'aider? P>

Toute aide sera appréciée! P>


également en cours d'exécution : p> xxx pré>

donne: p> xxx pré>

effectivement j'essayais d'installer Gazebo-1.0.0-RC2-X86_64, et Obtenir cette erreur. p>

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()


5 commentaires

Vous avez oublié de mentionner ce que vous essayiez de faire lorsque vous avez reçu le message d'erreur.


Essayez de passer -msi à gcc. -MSSE2 , -MSSE3 ou tout ce dont vous avez besoin.


Avez-vous essayé des drapeaux GCC -March = natif ou -msi2 / -MSSE3 / -MSSSE3 / -MSSE4.1?


AVX EXCLUSIVE À SSE?


SSE2 est activé par défaut dans GCC pour le code X86_64 64 bits. Est-ce que vous compilez avec un système d'exploitation 64 bits (Cmake doit être par défaut à 64 bits sur un système d'exploitation 64 bits). En outre, les balises telles que sse4_2_found ne sont pas une partie standard de cmake. Vous êtes-vous défini vous-même vous-même ? Si vous compilez du code 32 bits, vous devez ajouter au moins -MSSE2 .


3 Réponses :


6
votes

Un de vos fichiers d'en-tête vérifie pour vous assurer que SSE est activé. Il semble que vos déclarations si ne fonctionnent pas.

Si vous ajoutez -march = natif Il faut choisir la meilleure arche de CPU et les drapeaux à compiler pour la base de votre processeur, ou vous pouvez utiliser explicitement -march = -mavx -mpclmul , qui est utile pour distcc . En outre, -mfpmath = sse / -mfpmath = 387 indiquera au compilateur de générer des instructions SSE / X87 pour les mathématiques de point flottant. Selon votre processeur, vous pouvez être plus rapide, mais je pense que les processeurs Intel sont généralement meilleurs à SSE.

Si vous souhaitez vérifier ce que GCC permet d'activer l'utilisation de l'exécution de drapeau natif gcc -march = natif -q -q -q -q-thelp = cible -v . .


0 commentaires

1
votes

Je viens de construire cela sur FreeBSD en ajoutant ceci au "Makefile" dans / USR / Ports / Audio / SoundTouch : XXX

J'espère que le reste de Les plugins "phonon-gstreamer" compilent avec ceci.


0 commentaires

2
votes

J'ai la même erreur et je pense avoir trouvé la solution appropriée!

Le problème est que vous êtes inclus dans l'emmintrin.h. J'ai fait la même chose. Quoi de plus si j'ai défini SSE2 , sse et mmx avant y compris ce fichier, j'ai reçu le message suivant: AVERTISSEMENT: " SSE2 < / strong> "redéfini [activé par défaut]

J'ai donc essayé d'enquêter où SSE2 est défini et / ou utilisé, j'ai trouvé que ce fichier est inclus par X86Intrin.h. Indiquez donc ce fichier et selon les drapeaux -MSE * Les fichiers INTRIN.H appropriés seront inclus automatiquement!

Cela fonctionne bien pour moi (g ++ 4.7.2-5).

J'espère que je pourrais aider!


0 commentaires