2010-04-19 4 views
0

J'ai développé il y a longtemps un code mpi ouvert. Maintenant, je travaille dessus encore et voudrais faire quelques essais. Pour des raisons que je ne peux pas éviter je ne peux utiliser maintenant qu'un seul ordinateur de base (mon pc) pour la programmation et les tests.Machine virtuelle multicœur pour test mpi ouvert

Je sais qu'il y a des machines virtuelles. De la même manière, je me demande si je pourrais obtenir une machine virtuelle avec un cpu à huit coeurs, donc je pourrais tester mon code, même s'il serait 1000 fois plus lent.

Je sais que pour le processeur de cellules il existe une sorte de simulateur avec une fonction similaire.

Répondre

0

Il semble peu probable que vous trouviez un émulateur qui vous permettra d'évaluer avec précision les performances de votre code sur un système multicœur. Un tel système aurait besoin de simuler avec précision la hiérarchie de mémoire de l'ordinateur ainsi que la performance détaillée des noyaux eux-mêmes. Je ne connais aucun programme qui vous permettrait de faire cela sur un seul système de base.

OTOH, vous pouvez exécuter vos programmes en utilisant plusieurs threads sur votre machine monotore en utilisant mpirun -np N, où N est le nombre de threads. Pour tester votre code, vous devez au moins exécuter plusieurs jeux de données avec de nombreux nombres de threads différents. Vous devez également exécuter chaque jeu de données plusieurs fois, car les threads peuvent ne pas s'exécuter exactement de la même manière à chaque fois.

Tester votre code de cette manière est loin d'être optimal, mais tester votre code sur un système multicœur ne garantit pas non plus que le code est correct. Compte tenu de votre situation, l'exécuter avec plusieurs threads est probablement le meilleur que vous pouvez faire.

+0

merci pour la réponse. de toute façon il est dommage que cette machine virtuelle n'existe pas. – flow

Questions connexes