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 comentario

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

Iniciar sesión para comentar.

 Respuesta aceptada

Shashank Prasanna
Shashank Prasanna el 15 de Mayo de 2013

1 voto

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.

Más respuestas (2)

Thomas
Thomas el 15 de Mayo de 2013

0 votos

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

Categorías

Más información sobre Statistics and Machine Learning Toolbox en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 15 de Mayo de 2013

Comentada:

el 2 de Oct. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by