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 :

Probleme SEE sous gcc


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 38
    Par défaut Probleme SEE sous gcc
    Bonjour a tous

    1)Quel est l'effet des commandes:
    -msse -msse2 -msse3 avec gcc ?
    J'ai remarqué que rien ne change :
    ni la vitesse d'execution ni la taille des binaires.

    2)de plus sous Windows lorsque je compile avec mingw mes programmes sont nettement plus lent qu'avec Msvc 7, comment les optimisés pour gcc ?

  2. #2
    Membre chevronné Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Par défaut
    Citation Envoyé par flyweight Voir le message
    Bonjour a tous

    1)Quel est l'effet des commandes:
    -msse -msse2 -msse3 avec gcc ?
    J'ai remarqué que rien ne change :
    ni la vitesse d'execution ni la taille des binaires.
    Citation Envoyé par man gcc
    -msse
    -mno-sse
    -msse2
    -mno-sse2
    -msse3
    -mno-sse3
    -m3dnow
    -mno-3dnow
    These switches enable or disable the use of instructions in the MMX,
    SSE, SSE2 or 3DNow! extended instruction sets. These extensions are
    also available as built-in functions: see X86 Built-in Functions, for
    details of the functions enabled and disabled by these switches.

    To have SSE/SSE2 instructions generated automatically from floating-
    point code (as opposed to 387 instructions), see -mfpmath=sse.

    These options will enable GCC to use these extended instructions in
    generated code, even without -mfpmath=sse. Applications which perform
    runtime CPU detection must compile separate files for each supported
    architecture, using the appropriate flags. In particular, the file
    containing the CPU detection code should be compiled without these
    options.
    Citation Envoyé par flyweight
    2)de plus sous Windows lorsque je compile avec mingw mes programmes sont nettement plus lent qu'avec Msvc 7, comment les optimisés pour gcc ?
    La par contre... Je sais pas...

  3. #3
    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
    Par défaut
    Avec -march=native -O3

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Par défaut
    Il ne faut pas croire qu'une option de compilo suffise à utiliser pleinement les instructions SIMD.
    En fait les compilos en sont tout à fait incapables. Si ton programme est plus rapide une fois l'option donnée, fait le moi savoir...

    Je vois 2 raisons principales à ça:
    -le compilo ne comprends rien aux algos, alors de là à les vectorialiser...
    -les chargements ont des contraintes d'alignement mémoire. C'est au programmeur qu'incombe la charge de respecter l'alignement

    En fait pour tirer profit des instructions SIMD, il faut
    - soit programmer en assembleur, par exemple http://www.developpez.net/forums/sho...19#post2843919)
    - soit utiliser des operations "intrasics"

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 38
    Par défaut
    merci pour votre reponse
    pour Mingw lorsque j'utilise les fonction d'allocation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #include <memory>
    #include <malloc.h>
    inline void *al_malloc (size_t size, size_t align=16)
    {
            return __mingw_aligned_malloc(size,align);
    }
    inline void  al_free   (void *p)
    {
            return __mingw_aligned_free(p);
    }
    le programme devient plus rapide quand j'utilise le sse
    mais en general cela depend de la nature de l'application.

  6. #6
    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
    Par défaut
    Le gros de la recherche française en compilation se fait sur le parallélisme automatique il me semble...
    Donc si ça marche pas y'a un sérieux problème.

Discussions similaires

  1. [operator] probleme seulement sous linux gcc 4.4.6
    Par ikeas dans le forum Langage
    Réponses: 14
    Dernier message: 13/01/2015, 11h12
  2. probleme postgresql sous windows
    Par sunshine2004 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 29/03/2005, 04h21
  3. Problème réseau sous FedoraCore2
    Par PeGaZe dans le forum Réseau
    Réponses: 6
    Dernier message: 02/10/2004, 10h00
  4. pb de lien statique sous GCC
    Par manuninho dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 29/06/2004, 12h54
  5. probleme de sous requete
    Par JD_Lyon dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 09/04/2004, 22h18

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