Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: A question about driving many Ansoft Maxwell programs on many machines?
Replies: 0  

Advanced Search

Back to Topic List Back to Topic List  
laoya

Posts: 11
Registered: 10/23/11
A question about driving many Ansoft Maxwell programs on many machines?
Posted: Oct 27, 2011 9:30 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

Dear all,

I am trying to simulate thousands of projects by Ansoft Maxwell. I wish to drive the Ansoft Maxwell on many machines (distributed machines) at the same time. Since every machine has multiple cores, I also wish that on every machine many Ansoft Maxwell programs are launched at the same time. I tried to drive it by the matlab parallel program. The command line to drive the Ansoft Maxwell is:

?"C:\Program Files (x86)\Ansoft\Maxwell14.0\maxwell.exe" -runscriptandexit "D:\project\test_1.vbs"'

The matlab code test.m to create the command line is:

% test.m
function out=test(i)
comm=[?"C:\Program Files (x86)\Ansoft\Maxwell14.0\maxwell.exe" -runscriptandexit "D:\project\test_' num2str(i) '.vbs"'
eval(comm);
% out=read result outputted by Ansoft Maxwell
...

I have three methods to drive many Ansoft Maxwell programs:
1) by parfor:

% the matlab code to drive Ansoft Maxwell by parfor
matlabpool 8;
parfor i=1:N
out{i}=test(i);
end

This method can drive many Ansoft Maxwell programs on local machine with multiple cores. However, I haven't found any method to let the parfor work on distributed machines. Can I let it work on distributed machines?

2) launch many matlab programs by workers created by 'createTask' on distributed machines (for example, 4 machines with 8 workers per machine), then:

% the matlab code to drive Ansoft Maxwell by createTask
k=0;
for i=1:Ncomputer
for j=1:computer(i).Nworker
k=k+1;
createTask(job{i},@test,1,{[k]});
end
end
...

However, this method can only launch one Ansoft Maxwell program correctly on every machine, and other Ansoft Maxwell programs are killed after about 1 second launched.

3) create on worker per machine and launch many Ansoft Maxwell on every machine by parfor as described by method 1).

However, this method has the same results as method 2).

So could anyone help me to drive many Ansoft Maxwell programs on distributed machines by Matlab? Is it possible to establish matlabpool on distributed machines? How to establish it?

Waiting for your help!


Thanks,
Zhanghong Tang




Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.