Matlab 64bit on Rocks Linux cluster with AMD processors

1 次查看(过去 30 天)
I've been trying to run Matlab (64bit) 2009b, 2010b and 2011a on Rocks Linux cluster with AMD processors (the bigger cluster). It does run, but only using a single thread which is not very effective as there are 48 cores per node available.
I'm no expert with clusters and luckily I had some help from a more computer literate person at our university. Here's what we have figured out so far:
Running Matlab on another, much smaller cluster, which has 2 x Intel X5675 (6-core) cpus per node, the code runs multithreaded with MATLAB 2009b, single threaded with MATLAB 2010b, and multithreaded with MATLAB 2011a. The best performance of all was MATLAB 2011a. But no matter what I do, it always runs single threaded on the bigger cluster with the AMD processors. (This difference might be relevant to the BLAS library used by MATLAB for vector operations. There is also logic within these libraries for determining whether or not it is worth using the multithreaded version of the operation.)
Any ideas what would cause Matlab to run singlethreaded on the bigger cluster?
  1 个评论
Herwig Peters
Herwig Peters 2011-10-5
The code that I've tried on the cluster:
% expansion point
w0 = 2*pi*s0;
KK = K - (w0^2)*M;
% LU factorization
[M1,M2,P1,Q1,R1] = lu(KK);
% initialize v for speed
v = zeros(size(M,1),n);
% compute Krylov basis
v0 = Q1*(M2\(M1\(P1*(R1\f1))));
v(:,1) = v0/norm(v0);
for j = 2:n
v(:,j) = Q1*(M2\(M1\(P1*(R1\(M*v(:,j-1))))));
for k = 1:j-1
hv = v(:,k)'*v(:,j);
v(:,j) = v(:,j) - hv*v(:,k);
end
v(:,j) = v(:,j)/norm(v(:,j));
end

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Parallel Computing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by