using kmeans function in parallel

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 commentaire

Marwan Radwan
Marwan Radwan le 2 Oct 2016
please i need this code and steps how to set useparallel i am new in matlab thank you alot

Connectez-vous pour commenter.

 Réponse acceptée

Shashank Prasanna
Shashank Prasanna le 15 Mai 2013

1 vote

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.

Plus de réponses (2)

Thomas
Thomas le 15 Mai 2013

0 votes

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

Community Treasure Hunt

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

Start Hunting!

Translated by