From: martin Müllinger on 29 Jun 2010 05:15 Hello, i have problems using parfor with the sim-command and using non local workers. With local workers the scripts works fine, without any problems. (A couple (numSimulations) of different parameter sets are stored in the cell Simulation. I am using rapid Acceleration target and tuneable parameters therfore) mdl=’test_simulation’; matlabpool open local out = cell(1, numSimulations); parfor(i = 1:numSimulations) out{i} = sim(mdl, Simulationen{i}); end matlapool close But when i use non local workers (the config with the parallel Configuration Manager seems to be ok, the Jobmanager is running, the workers on the remote machine are connected). I can connect to the labs (matlabpool open jobmanagerconfig1) But the simulation does not start with the following error : code: mdl=’test_simulation’; matlabpool open jobmanagerconfig1 out = cell(1, numSimulations); parfor(i = 1:numSimulations) out{i} = sim(mdl, Simulationen{i}); end matlapool close error: ??? Error using ==> parallel_function at 598 Error in ==> parallel_function>make_general_channel/channel_general at 879 Unable to open file for reading: "test_simulation.mdl". Something is not right with paths. Any ideas how to fix this? Just do be sure the jobmanager and Host config works i tried : matlabpool open jobmanagerconfig1 parfor(i = 1:numSimulations) eig(rand(1000)) end matlapool close It does what it should do :) Hopefully someone can help me, nice wishes Martin
From: Edric M Ellis on 29 Jun 2010 05:41 "martin Müllinger" <zmaier(a)gmx.de> writes: > i have problems using parfor with the sim-command and using non local > workers. [...] > But when i use non local workers (the config with the parallel > Configuration Manager seems to be ok, the Jobmanager is running, the > workers on the remote machine are connected). I can connect to the > labs (matlabpool open jobmanagerconfig1) > But the simulation does not start with the following error : > code: > mdl=’test_simulation’; > matlabpool open jobmanagerconfig1 > out = cell(1, numSimulations); > parfor(i = 1:numSimulations) > out{i} = sim(mdl, Simulationen{i}); > end > matlapool close > > error: > > ??? Error using ==> parallel_function at 598 > Error in ==> parallel_function>make_general_channel/channel_general at 879 > Unable to open file for reading: "test_simulation.mdl". You need to make "test_simulation.mdl" available on the MATLAB path of the workers. MATLABPOOL tries to keep the MATLAB path in sync between the client and the workers, providing the path is accessible on both machines, so it should work to put test_simulation.mdl into a shared location on the filesystem (i.e. some sort of network drive or similar). Cheers, Edric.
From: martin Müllinger on 29 Jun 2010 06:47 thx for the fast answer. I stored the whole folder on a net-drive. It is accessable from both computers. The folder (and all subfolders) are included in the Matlab-Path (also on both computers). Now this error-message comes : ??? Error using ==> parallel_function at 598 Error in ==> parallel_function>make_general_channel/channel_general at 879 Executable not found. I am using the rapid-accelerator target. It was necessary because i want to simulation different parameter-sets. And with the rapid-accelerator mode i can easily define tunable parameters. Those are stored in the cell called Simulation. Any further ideas?
From: Rajesh Pavan on 6 Jul 2010 12:20 "martin Müllinger" <zettinger(a)gmx.de> wrote in message <i0civ8$9ld$1(a)fred.mathworks.com>... > thx for the fast answer. > > I stored the whole folder on a net-drive. It is accessable from both computers. The folder (and all subfolders) are included in the Matlab-Path (also on both computers). > Now this error-message comes : > > ??? Error using ==> parallel_function at 598 > Error in ==> parallel_function>make_general_channel/channel_general at 879 > Executable not found. > > I am using the rapid-accelerator target. It was necessary because i want to simulation different parameter-sets. And with the rapid-accelerator mode i can easily define tunable parameters. Those are stored in the cell called Simulation. > > Any further ideas? Hi, From your earlier post, it appears that you have shared file system, in that case one thing to try is to cd to the same directory inside the parfor loop where the rapid accelerator target was originally built. If you don't have shared file system, you need to add the directory where the rapid accelerator target was built to filedependencies and then cd to the directory where these filedependencies are unpacked. Let me know if you still have problems. Thanks, Rajesh
From: martin Müllinger on 7 Jul 2010 01:38 Hi, On my PC, the workingdir is c:\working. Inside this folder the m-script and the mdl.file is stored. After compiling a new directory c:\working\slprj with a couple of subdirs is generated. I added the c:\working folder with all subdirectories to the Matlab path. In the configuration manager of the the jobmanager is added c:\working to the Filedependencies. Now after starting the matlabpool, the content of c:\working is copied to the remote Computer, where the matlabworkers are running (The folder is a bit strange c:\Windows\Temp\MDCE\checkpoint\RemotePC_RemotePC_worker01_mlworker_log\matlabDependencyDir) Still the same error message (Executable not found). The m-script looks like (very reduced) : initialisation of the variables compiling the model creating the different Raipd Acceleration ParamterSets (Simulationen) open matalbpool jobmanager1 parfor(i = 1:length(numsims)) out{i} = sim(mdl, Simulationen{i}); disp([num2str(i)]; end THX again, Martin
|
Pages: 1 Prev: index out of bounds still exists in SP3 Next: Differential equation use (ODE) |