Matlab 64bit on Rocks Linux cluster with AMD processors

1 vue (au cours des 30 derniers jours)
Herwig Peters
Herwig Peters le 5 Oct 2011
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 commentaire
Herwig Peters
Herwig Peters le 5 Oct 2011
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

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Parallel Computing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by