필터 지우기
필터 지우기

Matlab 64bit on Rocks Linux cluster with AMD processors

조회 수: 1 (최근 30일)
Herwig Peters
Herwig Peters 2011년 10월 5일
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에서 Startup and Shutdown에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by