MATLAB Answers

Rui
0

Does an AMD 4-core processor runs better than an Intel dual core processor for parallel computing

Asked by Rui
on 12 Sep 2013
Hi everyone,
My basic idea is that AMD A10/A8 processor gets 4 cores, while Intel i5 has only two cores. In other words, with AMD, I can have 4 workers running on my laptop, get job done faster in parallel computing. Their prices, and clock speeds are similar, and I only care about the computation performance but not things like graphic performance and so on, so it seems that I will get advantage using AMD processors. But I could be wrong. Can anyone give me an answer for that? Thanks a lot!
best, Rui

  0 Comments

Sign in to comment.

2 Answers

Answer by Adam Filion on 12 Sep 2013

Assuming your hardware meets system requirements: http://www.mathworks.com/support/sysreq/current_release/index.html
Then I would expect 4 cores with 4 workers to outperform 2 with 2 during the parallel portion of your code, assuming equivalent clock speed. However there may be some other differences in performance on AMD vs Intel due to things like different underlying libraries etc. I'm not sure, don't know much about that comparison myself. Also keep in mind that's assuming we're discussing PHYSICAL cores, not virtual, as you should avoid running more than 1 worker per physical core.

  3 Comments

Running two threads on one core can be useful e.g. when one thread waits for the harddisk. 7Zip profits from using two threads on a single core machine.
Jan and Adam, Thanks! I am confused...it seems that MATLAB only allows you to run 1 worker per physical core. For example, if type matlabpool open local 4 on my dual core pc, then I will get an error message. So how can one run two "threads" on one core? Actually, what is a thread?
Rui
MATLAB does allow you to run multiple threads per physical core. You might have to edit a configuration file though.

Sign in to comment.


Answer by Alex Taylor on 13 Sep 2013

In general, your parallel algorithm will scale in performance with number of threads.
Keep in mind though that some MATLAB functions are hardware optimized to use SSE instructions. AMD hardware will only support up to SSE2, where as the Intel i5 will be able to leverage more recent SSE instructions per core.
Profiling a specific code example is only way to accurately explore your question.

  1 Comment

Alex, what's the benefit I will get using more recent SSE? Thanks!

Sign in to comment.