Calculating kmeans on a GPU

Mailz Daizan · Apr 30, 2022 · 2K views
Question
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.  
Expert Answer
Profile picture of John Williams
John Williams PhD Expert
Answered Aug 13, 2026

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.

 

Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!