Poor Matlab performance on AMD-based computer
Show older comments
Recently, we purchased a new computation server for our department with 4x Opteron 6128 processors and 64 GB RAM, running Windows 2008 Server R2. We wanted to maximise number of physical cores in order to ensure that several users will be able to use the computer at a time without influencing performance of other users' computing tasks.
However, there is one serious problem. Users complain that Matlab is really slow compared to our previous (dated) server.
I've run the Matlab built-in benchmark utility with alarming results:

The individual benchmark scores in Matlab R2011b are (64bit, though 32bit scores are almost the same):
LU: 1.2580
FFT: 0.3110
ODE: 0.3148
Sparse: 35.3353
2-D: 3.1159
3-D: 1.3190
Is it really so, that Matlab on 4 8-core Opterons is worse than on Atom processor?
Is there anything that can be done in order to improve the performance? Since Matlab obviously uses Intel MKL BLAS even for AMD processors, I tried to find alternative BLAS libraries such as ACML, but I wasn't successful in getting them to work with Matlab.
I would be grateful for any suggestions.
5 Comments
Friedrich
on 30 Mar 2012
Can you run the benchmark again and restricting MATLAB on one CPU (can be done in the taskmanager under the processes tab)? Also make sure that no other user us currently using that CPU. I would guess you will see a normal perfomance than.
I have seen that when you use more than 1 CPU the MATLAB perfomance goes down.
For using another BLAS/LAPACK Library you have to set environment variables which point to the DLL you like to use:
http://www.mathworks.com/help/techdoc/rn/f7-998197.html#f7-1010436
There is one for blas: BLAS_VERSION and one for lapack: LAPACK_VERSION. But I guess this wont give much speedup.
Ondrej
on 30 Mar 2012
Friedrich
on 30 Mar 2012
The bench function can change from release to release and it definetly changed from 7b to 11b. See matrices which are used for testing are much smaller in 7b than in 11b. Thats probably why you get better results in 7b.
I found an intersting benchmark for the Opteron 6174:
http://www.anandtech.com/show/2978/amd-s-12-core-magny-cours-opteron-6174-vs-intel-s-6-core-xeon
The Opteron performance vary from pretty good to totally bad.
I doubt that there is much one can do here.
Ondrej
on 30 Mar 2012
Jose Luis
on 20 Jun 2013
I had same problem yesterday and I found that the problem is the operating system:
And the patchs:
But I think that is better to use other operating system.
Answers (1)
Anders Munk-Nielsen
on 9 Oct 2012
1 vote
I have the exact same problem :( I think AMD ought to take this very seriously! I would certianly recommend ANYONE to avoid buying an AMD based server if they're going to do Matlab computation stuff on it.
2 Comments
Alan Mackay
on 30 Oct 2012
Anders - what type of AMD processors did you buy? I am now reconsidering whether an AMD Opteron 6200 based server is a good idea! However, there will only be a single user running parallel computations using all available cores rather than lots of users at once.
Anders Munk-Nielsen
on 20 Mar 2013
It's an AMD Opteron 6176, 2.30 GHz (4 processors; 48 virtual cores). I would STRONGLY recommend against getting an AMD processor unless you can somehow test that it will work first.
However, Stata runs perfectly, even when many many users are using it simultaneously.
Sorry that I didn't see your reply until now, apparently there's no email follow-up on these forums.
Categories
Find more on Performance and Memory in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!