Augmenter vitesse d'exécution - Bench - Hardware
Marsh Posté le 18-01-2005 à 14:27:34
Tu disposes de quel CPU en ce moment ?
Car dans ton cas, il te faut de la puissance de calcul brute, et ça ne passe quasiment que par un gros CPU des familles.
Voire config' bi-CPU si tu optimises ton programme pour fonctionner sur deux CPU.
Pour la RAM, tout dépend de la consommation mémoire. Tu montes à combien ?
Marsh Posté le 18-01-2005 à 14:32:49
déjà en tuant les processus inutiles...
Marsh Posté le 18-01-2005 à 14:40:12
Peut-être pas, dépend des perfs des Intel vs. AMD pour les nombres ENTIERS (à moins qu'il n'y ait besoin de la FPU pour ce genre de calcul ? je ne sais pas, je ne m'y connais pas assez )
Marsh Posté le 18-01-2005 à 15:31:20
J'ai un Athlon 2200+ (1.8 GHz donc) et 512 Mo de RAM (le disque dur ne swappe pas...)
Qu'est-ce que la FPU?
Marsh Posté le 18-01-2005 à 15:35:46
(Anglais : Floating Point Unit).
Coprocesseur arithmétique. Ce module est intégré à tous les processeurs depuis le 486 d'Intel. Il s'occupe de tous les calculs à virgule flottante déchargeant ainsi le CPU de cette tâche
Marsh Posté le 18-01-2005 à 15:45:06
FPU = "Floating-Point Unit", Unité de calcul en virgule flottante.
Je ne pense pas que tu te serves de calcul en virgule flottante pour ton calcul de nombres premiers, mais je peux me tromper, je ne connais pas du tout ton algo.
Ensuite il faudrait faire des benchs entre ton processeur, les processeurs actuels voire haut de gamme actuels, et comparer tout celà.
Ou, comme je le disais, envisager une config' bi-CPU, ce n'est peut être pas inintéressant dans ton cas (2 à 4 semaines de traitement ).
Pour la RAM, si ça ne swap pas, inutile d'en rajouter je pense. De toute façon ce genre de programme ne jure que par la puissance brute, je ne crois pas que tu aies besoin de beaucoup de RAM.
Néanmoins crée une log pour tracer la mémoire utilisée, des fois que.
EDIT : Sinon je rejoins aussi la remarque de otan : tuer tous les processus inutiles...
otan > le FPU est intégré depuis les 486 DX uniquement, pas les SX.
Marsh Posté le 18-01-2005 à 16:28:42
Pour avoir une indication de la différence de puissance dans les calculs scientifiques entre le 2200+ et les cpu récent, jette un oeil dans la section SETI, tu vera les différents temps.
Marsh Posté le 23-12-2004 à 13:12:00
Bonjour,
Je "m'amuse" avec des nombres premiers de très grande taille. Le temps d'exécution de mon programme est très long. Pour aboutir, il faut souvent de 2 à 4 semaines. J'ai optimisé l'algo à fond! (avec l'aide du concepteur de la librairie que j'utilise : NTL. voir www.shoup.net/ntl/)
Je cherche donc à "recenser" les différents moyens qui pourraient me permettre de grapiller un peu de temps. Hélas, je n'y connais presque rien en hardware...
Je fais appel à vous : quelles sont les solutions pratiques pour augmenter la vitesse d'exécution d'un programme ?
J'ai pensé à la mémoire RAM... est-ce utile?
J'ai aussi pensé au cache... est-ce que ça peut faire qqchose?
Je sais qu'il faut aussi combiner au mieux le couple Carte Mère (CM) - Processeur. Ainsi un gros processeur P4 équipé d'une CM à 133 MHz n'aura que de maigres performances... mais un proc à 1 GHz doublé d'une CM à 800 MHz pourra donner toute sa puissance.
(Corrigez-moi si je me trompe.)
Il existe aussi l'overclocking. (Mais bon, ça génère des erreurs et c'est pas souhaitable dans le cas de "calculs purs"...)
Merci pour vos idées!