2010-03-28 3 views
8

Я просто установил экземпляр EC2 Extra Large Heavy Computation, чтобы бросить его на мою проблему с генетическими алгоритмами, надеясь ускорить работу.Как настроить matlabpool для нескольких процессоров?

В этом экземпляре имеется 8 процессоров Intel Xeon (около 2,4 ГГц каждый) и 7 гигабайт оперативной памяти.

На моей машине у меня есть процессор Intel Core Duo, и MATLAB умеет работать с моими двумя ядрами просто отлично от runinng:

matlabpool open 2 

На экземпляре EC2, хотя, MATLAB только способен обнаруживать 1 из 8 процессоров, и если я пытаюсь работает:

matlabpool open 8 

Я получаю ошибку о том, что ClusterSize является 1, так как есть только 1 ядро ​​на моем CPU. Правда, на каждом процессоре есть только 1 ядро, но у меня есть 8 процессоров на данном экземпляре EC2!

Таким образом, отличие от моей машины и экземпляра ec2 состоит в том, что у меня есть два ядра на одном процессоре локально, в то время как экземпляр EC2 имеет 8 различных процессоров.

Мой вопрос: Как мне получить Matlab для работы с этими 8 процессорами?

Я нашел this paper, но, похоже, это связано с настройкой matlab с несколькими экземплярами EC2 (не связанных с несколькими процессорами в одном экземпляре, EC2 или нет), что не является моей проблемой.

Любая помощь оценена!

Примечание: точка не является EC2, я удаляю ее и запускаю на ней матлаб, как если бы это была какая-либо другая машина. Дело в том, что я не могу заставить Matlab увидеть 8 процессоров!

ответ

7

MATLAB не видит все 8 ядер. Установите его вручную. Параллельное меню -> Управление конфигурациями. Щелкните правой кнопкой мыши по «локальной» линии. На вкладке планировщика, установите «Число рабочих, доступных для планировщика» до 8.


Оригинальный ответ был вопрос получения более подробно:

Вы пытаетесь использовать ТСРМ на EC2 (и пользователь MATLAB в интерфейс на вашем ПК), или вы пытаетесь запустить пользовательский интерфейс MATLAB и PCT на EC2 (через ssh или vnc или тому подобное)?

+0

Я удаляюсь в экземпляр EC2 - как будто это была какая-то машина - я запускаю все на этом экземпляре: интерфейс Matlab и панель инструментов параллельных вычислений. Мне не нужен MDCS, поскольку я хочу использовать эти процессоры на этой же машине. На самом деле не имеет значения, что это экземпляр ec2 или любая другая машина. Я могу использовать 2 ядра на своем ноутбуке (работает локально), но Matlab не обнаруживает 8 процессоров в экземпляре ec2 (опять же локально в экземпляре). – JohnIdol

+1

По какой-то причине MATLAB не видит все 8 ядер. Возможно, вы можете установить его вручную. (Не пробовал это на EC2, но он работает на моей четырехядерной коробке.) Нет обещаний, но попробуйте меню «Параллель» -> «Управление конфигурациями». Щелкните правой кнопкой мыши по «локальной» линии. На вкладке планировщика установите «Количество рабочих, доступных для планировщика», на 8. Пожалуйста, опубликуйте результаты здесь. – DaveWalend

+0

Спасибо - я попробую это и отчитаю - я думаю, проблема в том, что это не один процессор с 8 ядрами, это 8 разных процессоров, каждый из которых имеет 1 ядро ​​(в свойствах компьютера он говорит «8 процессоров»). На моем ноутбуке у меня есть 2 ядра на одном процессоре, и они обнаружены успешно. – JohnIdol

0

Этот пост для добавления информации в ответ на часть вопроса оригинального плаката

[OP] Я нашел эту статью, но это, кажется, связаны с созданием MATLAB с несколькими экземплярами EC2 (не связано с несколькими процессорами на том же экземпляре, EC2 или нет) ...

Вышеупомянутый документ больше не доступен

на своем месте MathWorks предлагает пользователям MatLab способ установить и распределить вычисления на Clust выполняющий запуск распределенного вычислительного сервера MATLAB (MDCS) на Amazon EC2.Дополнительную информацию можно получить здесь: http://www.mathworks.com/ec2

Смежные вопросы