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.
John Williams answered .
2025-11-20
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.