Are single-dimentional arrays better than multi-dimentional in 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.