using kmeans function in parallel

1 view (last 30 days)
Hi, I want to use kmeans function in parallel, with a matlabpool of workers. When I open a matlabpool and then execute kmeans with Useparallel = true, only 1 core is working. The default numbers of workers is 4. What is wrong? Should I put the execution of the kmeans function inside a spmd block? Thanks in advance,
Jordi
  1 Comment
Marwan Radwan
Marwan Radwan on 2 Oct 2016
please i need this code and steps how to set useparallel i am new in matlab thank you alot

Sign in to comment.

Accepted Answer

Shashank Prasanna
Shashank Prasanna on 15 May 2013
Hi Jordi, when the 'useparallel' flag set to true, KMEANS only computes the replicates in parallel.
If you have your replicates set to 1 you are unlikely to see a performance difference.
Try setting a larger 'replicates' to compare the performance difference.
Replicates are used to run kmeans several times with different start point so as to have a better chance of finding a global minimum and better centroids.

More Answers (2)

Thomas
Thomas on 15 May 2013
Don't know if this would help but you can find an implementation of k-means in MATLAB using MATLABmpi (message passing interface) http://www.cs.toronto.edu/~dross/code/parallel.shtml

Jordi
Jordi on 16 May 2013
Thanks a lot !
Jordi

Community Treasure Hunt

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

Start Hunting!