MATLAB Answers

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

25 views (last 30 days)
Rui
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.

Answers (2)

Adam Filion
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

Jan
Jan on 12 Sep 2013
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.
Rui
Rui on 12 Sep 2013
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
Walter Roberson
Walter Roberson on 12 Sep 2013
MATLAB does allow you to run multiple threads per physical core. You might have to edit a configuration file though.

Sign in to comment.


Alex Taylor
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.

Translated by