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

Langages de programmation Discussion :

Lenteur de codes de calcul


Sujet :

Langages de programmation

  1. #1
    Membre averti Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Points : 444
    Points
    444
    Par défaut Lenteur de codes de calcul
    Bonjour,

    Je développe sous différents compilateurs (borland C++, Fortran77, LCC...) des codes scientifiques de calculs.
    Quand je teste leur vitesse sur différentes machines (linux ou windows), j'obtiens invariablement que ces codes tournent plus vite sur nos pc portables DELL Intel Pentium M 1.6 GHz que sur nos stations Bi-pro DELL Intel pentium 4 3.32 GHz.
    J'ai testé sur plusieurs machines, et j'obtiens toujour ces résultats étranges.

    Mais, lorsque j'utilise un code de Benchmarking pour tester les machines, là, il m'indique bien que les stations de ~3 Ghz sont ~3 fois plus performantes que les pc portables.

    Comment expliquer ça !
    Les compilateurs sont-ils si mauvais que ça ?

  2. #2
    Membre expérimenté
    Avatar de Aramis
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 493
    Points : 1 638
    Points
    1 638
    Par défaut
    Bonsoir,

    je ne sais pas si cela peut vous aider mais lorsque j ai participe au projet de traduction de OpenOffice en Galeic Ecossais j'avais a ma disposition tout un parc de machine win2k avec P4 et etc. Je me suis dit que passer un peu de temps a optimiser la RAM et etc pouvait me faire gagner du temps a la compilation de cette suite de logiciel. Or les resultats etaient plus que decevant... sur un processus qui dure pas loin de 12 heures le gain en temps etait de 1 ou 2 minutes, j'ai depuis appris que la compilation etait une tache qui imposait plus de stress sur le disque dur et le deplacement entre la memoire tampon (sur HDD donc et la RAM) que la puissance du processeur.

    Voila...

    Ar@mi$

    PS: etes vous certain que vos codes sont bien compiler pour BI-proc car si le code n est pas recompiler pour la plateforme que vous utilisez alors il se peut que le systeme d exploitation passe du temps a traduire les instructions pour les separer sur les 2 procs. Au pire 1 seul est utiliser.... auquel cas le resultat indiquant que votre portable va "plus" vite a, quelque part, un sens.

  3. #3
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    A priori, le "meilleur" compilateur actuel pour les processeurs intel (et normalement AMD, mais il y a une sombre histoire de sabotage par intel de son compilateur pour les processeurs AMD) est le ICC, le compilateur d'Intel.
    Mais effectivement ceci n'est valable que si la compilation a bien été effectuée pour l'architecture visée.
    Par ailleurs, le fait d'avoir un Bipro n'a aucune influence sur la vitesse d'exécution d'un code monothread...

    --
    Jedaï

  4. #4
    Membre averti Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Points : 444
    Points
    444
    Par défaut
    Mon probleme comme je l'ai indiqué n'est pas du à OS puisque j'ai fait le test sur Window et Linux.
    D'autre part, effectivement, le fait d'utiliser un Bi-pro n'est pas sencé accelerer le calcul etant donné qu'il est mono thread.
    Pour finir j'ai fait le test avec une simple boucle contenant un calcul de cos() et sin(), et quelques multiplications simples, pour m'afranchir des eventuelles lenteurs de diques et de memoires.

    Et malgré tout ca mes processeur 1.6 Ghz PentumM sont toujours plus rapide que mes Pentium XEON 3.3 Ghz.

    Moi, ca me parait vraiment etonnant!

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Oui, c'est tellement étonnant que c'est même impossible, je pense, sauf si tu fais des sauts impévisibles tout le temps auquel cas le XEON, basé sur du Netburst se plante lamentablement. PArce qu'il a tout de même 3 unités de calcul entier et 3 en flottant, contre 2 et 1 pour le Pentium M, donc c'est vraiment étonnant !

  6. #6
    Membre averti Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Points : 444
    Points
    444
    Par défaut
    Non seulement c'est possible, mais, nous observons ca sur tout notre park informatique. Et meme notre dernier achat un bi-pro 64 Bits 3.3 GHz est à la ramasse devant nos pauvres portables.
    La seul explication que je vois pour le moment, c'est que nos compilateur C++ ou fortran sont nuls

Discussions similaires

  1. code colonne calculéé
    Par haymen dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 19/06/2008, 12h00
  2. Réponses: 1
    Dernier message: 15/06/2008, 20h37
  3. Code pour calcul en boucle
    Par KGUTBM dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/06/2008, 12h04
  4. comment optimiser son code en calcul ???
    Par gronaze dans le forum C
    Réponses: 5
    Dernier message: 21/03/2006, 10h41
  5. Réponses: 2
    Dernier message: 01/04/2003, 22h09

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