Rework private memory on the CPU
Created by: mwarusz
This PR changes @private
memory on the CPU to return views to the underlying array with additional dimensions. The main rationale is that it makes passing private arrays to functions more straightforward. For example, currently @private
vectors in our kernels are passed
as @views f!(v[:], ...)
which is a bit confusing to the uninitiated. Moreover, this change made is easy to enable scalar @private
variables.
CC: @jkozdon