We make sure that broadcasting with GPU arrays avoids scalar indexing.
This also changes a bit the logic when broadcasting PencilArrays and other types of arrays, such that PencilArrays always broadcast in contiguous memory order. In other words, when broadcasting, the size of a PencilArray is the one given by size_local(::PencilArray, MemoryOrder()). This is only relevant when one is working with index permutations, and when one is combining PencilArrays and other kinds of arrays (such as base Arrays) in a single broadcast.
We make sure that broadcasting with GPU arrays avoids scalar indexing.
This also changes a bit the logic when broadcasting
PencilArray
s and other types of arrays, such thatPencilArray
s always broadcast in contiguous memory order. In other words, when broadcasting, the size of aPencilArray
is the one given bysize_local(::PencilArray, MemoryOrder())
. This is only relevant when one is working with index permutations, and when one is combiningPencilArray
s and other kinds of arrays (such as baseArray
s) in a single broadcast.Closes #42.