You could try using UPC++, which sets up a globally accessible address space distributed across your nodes. A more standard approach would be to learn how to use MPI.


Really the only way to run simulations on a multi-node cluster is to use MPI. And you don't distribute data because that would mean it would start out in one place. With MPI everything is distributed all the time, including being created distributed. It also means you don't create one global array: in your case you have 120 processes that each can store a ...


If the number of clusters is known (like here) You may use Lloyd's clustering [1] The idea is as follows: it optimizes a set of cluster centers $p_i$: Initialize the p_i's with an initial guess, or randomly For each iteration: Compute the cluster associated with each p_i, (the cluster is the set of points nearer to p_i than to the other p_j's) ...

Only top voted, non community-wiki answers of a minimum length are eligible