Run matlabpool and parfor with qsub on torque
조회 수: 1 (최근 30일)
이전 댓글 표시
I am not able to create a matlabpool on a cluster. I hope somebody can help me.
This is my code...
clear all
close all
clc
fid = fopen('output.txt','wt');
fprintf(fid,'output \n');
fprintf(fid,'###')
fprintf(fid,strcat(pwd,'\n'));
fprintf(fid,'###')
p = rand(1,10);
q = ones(10);
save('pqfile.mat','p','q')
W = [.41 .99 .51 .32 .15 .45 .38 .32 .36 .29 .21];
DG = sparse([6 1 2 2 3 4 4 5 5 6 1],[2 6 3 5 4 1 6 3 4 3 5],W)
[dist,path,pred] = graphshortestpath(DG,1,6)
fprintf(fid,strcat(num2str(dist),'\n'))
fprintf(fid,'###')
fprintf(fid,strcat(num2str(path),'\n'))
fprintf(fid,'###')
fprintf(fid,strcat(num2str(pred),'\n'))
fprintf(fid,'###')
tic
for i=1:10
i
eig(rand(1000));
end
a = toc
if matlabpool('size') == 0 %%%%%THIS IS LINE 35 %%%%
matlabpool open 2
end
tic
parfor i=1:10
i
eig(rand(1000));
end
b = toc
matlabpool close
fprintf(fid,strcat(num2str(a),'\n'))
fprintf(fid,'###')
fprintf(fid,strcat(num2str(b),'\n'))
fprintf(fid,'###')
fclose(fid);
I have written this code on an Ubuntu-machine in Matlab 2013b. I used the Application Compiler to create a standalone program in which all required toolboxes are present.
I use qsub to launch the next bit of code.
#!/bin/bash
#PBS -m a
#PBS -l nodes=1:ppn=2
echo "Hello world!"
for_testing/run_main01parfor.sh /tools/matlab/2013b/x86_64 > for_testing/log.txt 2>&1
The log-file contains the information below...
Error using matlabpool (line 151)
Undefined variable "com" or class "com.mathworks.toolbox.distcomp.pmode.SessionFactory.getCurrentSession".
Error in main01 (line 35)
MATLAB:undefinedVarOrClass
Is this related to a missing toolbox on the server or is it something else? Can this be solved on my side or is this problem related to the way the cluster has been designed?
댓글 수: 3
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!