Augmenter vitesse d'exécution

Augmenter vitesse d'exécution - C++ - Programmation

Marsh Posté le 23-12-2004 à 13:09:47    

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!

Reply

Marsh Posté le 23-12-2004 à 13:09:47   

Reply

Marsh Posté le 23-12-2004 à 13:20:57    

 Bonjour,
  Je ne suis par sûr que ton topic soit dans la bonne catégorie (quel rapport avec le c++ ?)
  Par contre je suis intéressé par tes optimisations de la librairie NTL. Tu peux donner des détails ?
  Pour booster un programme de calcul numérique tu peux aussi utiliser plusieurs ordinateurs reliés à un serveur (je crois qu'on appelle ça un 'cluster') afin de répartir la charge du travail.

Reply

Marsh Posté le 23-12-2004 à 13:36:41    

L'idée du cluster me déplait et, surtout, ça n'est pas facile à mettre en place : il faut centraliser le système à travers un serveur, donc créer des programmes-clients et le programme-serveur, puis trouver des gens pour télécharger et faire tourner le client, etc.  
 
Je n'ai pas optimiser la librairie NTL elle-même mais l'algo qui l'utilise dans mon programme. Mais pour "booster" un peu NTL je crois qu'il faut l'utiliser avec GMP (une autre librairie : http://www.swox.com/gmp/).
 
J'ai posté ce topic ici parce que mon programme est écrit en C et parce que je crois que beaucoup de développeurs sont intéressés par l'idée d'accélérer l'exécution de leur programme...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed