Matrix operations with Parallel Computing Toolbox
12 次查看(过去 30 天)
显示 更早的评论
Hi all,
for a student project, I work with the "Parallel Computing Toolbox". To discover it's functionality I make simple matrix operations with distributed matrizes.
With an open matlapool (12 workers) I use (for example) the following code, on a computer with 16 cores:
M1 = rand (i,i);
M2 = rand (i,i);
tic
M = M1 * M2;
toc
M1 = distributed(M1);
M2 = distributed(M2);
tic
M = M1 * M2;
toc
While execution of this code I run "ksysguard" to observe the cpu-usage. During the first multiplication (with "normal" matrizes), the cpu-usage of all 16 cores is at 100%. While the second multiplication runs, the usage of 12 cores is at 100% (I think this could be correct, cause of the 12 workers). I even notice that the first multiplication is much quicker (I tested it for values of n up to 20.000), and gets quicker with bigger matrizes.
Even when I close the matlab pool and do a matrix multiplication, all 16 cores have a usage of 100%. Does this mean that matlab does parallel computation at default?
I hope you understand, what I am wondering about. Many thanks in advance for your suggestions.
0 个评论
采纳的回答
Shashank Prasanna
2013-6-18
Most math operations are inherently multithreaded. There is a list you will find on our external page:
Jill will correct me if I am wrong, but each worker in the matlab pool is always single threaded. Which means the multithreaded operations will run single threaded on a worker but you have the advantage to scale to a large number of machines.
You may also find this link helpful which explains the difference.
0 个评论
更多回答(2 个)
Jill Reese
2013-6-18
A number of MATLAB functions are multithreaded, and matrix multiplication (*) is one of them. This is what you are seeing during the first multiplication (with "normal" matrices).
Sascha
2013-6-19
1 个评论
Shashank Prasanna
2013-6-19
Sascha, make sure you go ahead and accept an answer. This makes others who have questions similar to yours get their answer quickly by looking at the accepted answer.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Parallel Computing Fundamentals 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!