2010-03-28 5 views
8

Je viens d'installer une instance EC2 Extra Large de calcul intensif pour la lancer à mon problème d'algorithmes génétiques, dans l'espoir d'accélérer les choses.Comment configurer matlabpool pour plusieurs processeurs?

Cette instance possède 8 processeurs Intel Xeon (environ 2,4 Ghz chacun) et 7 Go de RAM.

Sur ma machine, j'ai un processeur Intel Core Duo et Matlab est en mesure de travailler avec mes deux noyaux très bien par runinng:

matlabpool open 2 

Sur l'instance EC2 cependant, est Matlab seulement capable de détecter 1 sur de 8 processeurs, et si j'essayez d'exécuter:

matlabpool open 8 

je reçois une erreur disant que le ClusterSize est 1 car il n'y a que 1 core sur mon CPU. Vrai, il y a seulement 1 core sur chaque CPU, mais j'ai 8 processeurs sur l'instance EC2 donnée! Donc la différence avec ma machine et l'instance ec2 est que j'ai mes 2 coeurs sur un seul processeur localement, alors que l'instance EC2 a 8 processeurs distincts.

Ma question est, comment puis-je obtenir matlab pour travailler avec ces 8 processeurs?

J'ai trouvé this paper, mais il semble lié à la configuration de matlab avec plusieurs instances EC2 (non liées à plusieurs processeurs sur la même instance, EC2 ou non), ce qui n'est pas mon problème.

Toute aide appréciée!

Note: le point n'est pas EC2, je suis à l'intérieur et j'utilise matlab comme s'il s'agissait d'une autre machine. Le fait est que je ne peux pas obtenir matlab pour voir les 8 processeurs!

Répondre

7

MATLAB ne voit pas tous les 8 cœurs. Définissez-le manuellement. Menu parallèle -> Gérer les configurations. Faites un clic droit sur la ligne "locale". Dans l'onglet planificateur, définissez le « nombre de travailleurs disponibles à l'ordonnanceur » à 8.


réponse originale était une question d'obtenir plus de détails:

Essayez-vous d'utiliser MDCS sur EC2 (et l'utilisateur de Matlab interface sur votre PC), ou essayez-vous d'exécuter l'interface utilisateur de MATLAB et PCT sur EC2 (via ssh ou vnc ou similaire)?

+0

Je suis à distance dans l'instance EC2 - comme si c'était n'importe quelle machine - je cours tout sur cette instance: l'interface de matlab et la boîte à outils de calcul parallèle. Je n'ai pas besoin de MDCS car je veux utiliser les processeurs thei 8 sur cette même machine. Cela ne fait aucune différence que ce soit une instance ec2 ou une autre machine. Je suis capable d'utiliser les 2 cœurs sur mon portable (fonctionnant localement) mais matlab ne détecte pas les 8 processeurs sur l'instance ec2 (encore localement sur l'instance). – JohnIdol

+1

Pour une raison quelconque, MATLAB ne voit pas tous les 8 cœurs. Peut-être que vous pouvez le définir manuellement. (Je ne l'ai pas essayé sur EC2, mais cela fonctionne sur ma boîte à quatre coeurs.) Aucune promesse, mais essayez le menu Parallèle -> Gérer les configurations. Faites un clic droit sur la ligne "locale". Dans l'onglet du planificateur, définissez le "Nombre de travailleurs disponibles pour le planificateur" sur 8. Veuillez publier les résultats ici. – DaveWalend

+0

Merci - Je vais essayer cela et de rendre compte - Je pense que le problème est que ce n'est pas un seul processeur avec 8 cœurs, c'est 8 processeurs différents dont chacun a 1 noyau (dans les propriétés informatiques, il dit "8 processeurs"). Sur mon ordinateur portable, j'ai 2 cœurs sur le même processeur et ils sont détectés avec succès. – JohnIdol

0

Ce poste est d'ajouter des informations en réponse à une partie de la question

[OP] de l'affiche originale je trouve cet article, mais il semble lié à la mise en place Matlab avec plusieurs instances EC2 (non liés à plusieurs processeurs sur la même instance, EC2 ou non) ...

le document mentionné ci-dessus est plus disponible

à sa place MathWorks offre aux utilisateurs MATLAB® un moyen de mettre en place et de distribuer les calculs sur un clust exécutant MATLAB Distributed Computing Server (MDCS) sur Amazon EC2.Plus d'information est disponible ici: http://www.mathworks.com/ec2

Questions connexes