reshape is an alias for contiguous().view(), these command:
1)copy data, synchronizing physical format (i.e. one for sequential memory reading as indexes increase) with logical one (for example, changed by permute())
2)change strides, i.e. dimension split points, but still maintain contiguous nested blocks format
as you can see, logical format is not affected, i.e. no reordering is done. in contrast, cat() with dim>0 produces interleaved data, so it is different. better alternative to cat() is permute().reshape()