Are single-dimentional arrays better than multi-dimentional in the GPU? I'm making simulations like Ant colony simulation, boids, and cellular automata in Go (to learn Go), but I believe this can apply to most languages.
From what I've read (this), using 1D arrays is generally better, but the post only addresses CPU processing. I want to do my simulations with the GPU and that may have some implications I'm not aware of.
In my case, a Map object is a 2D array of Cell objects.
struct Cell {...}
struct Map {
  Cell[][] cells;
}

Is it better to use 1D arrays instead of multi-dimensionals when working with the GPU?
This is likely going to be dependent on what technology and libraries you use to program the GPU (PyTorch? TensorFlow?  CUDA? BLAS? something else?), and thus seems likely to be out of scope here.  Typically the data must be transferred/copied onto the GPU anyway, so I'd expect the structure of it in RAM only affects the time to transfer to the GPU's memory, not the time to do the GPU computation once it has been copied into GPU memory in the memory layout that the GPU wants.