Calculating kmeans on a GPU

Kind time of the day, dear inhabitants of the forum. I want to ask whether anyone can help me calculate the clustering of kmeans on a GPU it is not included in the standard function gpuArray but it can be calculated as a user-defined function But how to do that? I'm new to matlab and can not figure out how to implement it.

 Accepted Answer

Joss Knight
Joss Knight on 11 Sep 2017
Edited: Joss Knight on 11 Sep 2017
gpuArray support for kmeans was added to MATLAB in R2016a
>> help gpuArray/kmeans
kmeans K-means clustering for GPU data
IDX = kmeans(X, K)
[IDX, C] = kmeans(X, K)
[IDX, C, SUMD] = kmeans(X, K)
[IDX, C, SUMD, D] = kmeans(X, K)
[ ... ] = kmeans(..., 'PARAM1',val1, 'PARAM2',val2, ...)
Example:
N = 1e6;
X = gpuArray([randn(N,2)+ones(N,2); randn(N,2)-ones(N,2)]);
[cidx, ctrs] = kmeans(X, 2);
See also kmeans, gpuArray.

More Answers (2)

Tags

Community Treasure Hunt

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

Start Hunting!