IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[GCC] Options de compilation -m*


Sujet :

C++

  1. #1
    Membre régulier

    Inscrit en
    juin 2008
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 49
    Points : 114
    Points
    114
    Par défaut [GCC] Options de compilation -m*
    Hello !

    Je travaille actuellement sur un code de calcul scientifique et l'on ma conseillé d'ajouter les options -m64 et -mtune=core2 à GCC pour améliorer les performances de mon code. (Je travaille bien sur un processeur core2 duo 64 bits.)

    Ces options ont-elles une réelle utilité ? Je n'ai pas vu de différences notables en benchmark.
    Si oui, y a-t'il d'autres options qui peuvent être intéressantes ?

    Je vais passer prochainement sur un Intel Core i7. Quel est dans ce cas l'option équivalente à -mtune=core2 ? Je n'ai rien trouvé dans le man de GCC.

    Merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    -mtune=xxx, comme son nom l'indique, fait en sorte que le code soit plus rapide sur architecture xxx tout en continuant à tourner sur i386.
    -march=xxx est similaire, sauf qu'il n'y a aucune garantie que le code fonctionne sur une architecture antérieure à xxx.

    L'idéal, c'est de faire -march=native, qui génère le meilleur code pour le type de machine sur lequel s'exécute le compilateur.

    Quant à -m64, comme son nom l'indique, cela indique que l'on compile pour la variation 64 bits de l'architecture et non 32 bits. La valeur par défaut dépend de la manière dont a été compilé GCC.
    Boost ftw

  3. #3
    Membre régulier

    Inscrit en
    juin 2008
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 49
    Points : 114
    Points
    114
    Par défaut
    donc -march=native est la meilleure solution.

    Merci bien.

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par Nanoc Voir le message
    donc -march=native est la meilleure solution.
    A la condition EXPRESSE d'exécuter le programme et de le compiler sur la même machine !
    Sinon, il faudra spécifier les bonnes options en fonction de la machine cible...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. [GCC] Option de compilation
    Par everest31 dans le forum Langages de programmation
    Réponses: 10
    Dernier message: 02/03/2012, 11h43
  2. Options de compilation GCC
    Par oranoutan dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 14/07/2007, 04h10
  3. Gcc options de compilations
    Par moon93 dans le forum Linux
    Réponses: 1
    Dernier message: 15/05/2006, 16h43
  4. [Code::Blocks]Options de compilation de gcc
    Par Marco85 dans le forum Code::Blocks
    Réponses: 2
    Dernier message: 28/02/2006, 10h16
  5. Option de compilation gcc : sem.h
    Par Luther13 dans le forum Linux
    Réponses: 8
    Dernier message: 29/12/2004, 12h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo