[Numpy-discussion] Cython numerical syntax revisited
Dag Sverre Seljebotn
Thu Mar 5 07:09:26 CST 2009
Francesc Alted wrote:
> A Thursday 05 March 2009, Dag Sverre Seljebotn escrigué:
>> No, one could do the same thing that NumPy does (I think, never
>> looked into it in detail), i.e:
>> decide on dimension to do innermost dynamically from strides and
>> sizes save the stride in that dimension for each array
>> for loop using n-dimensional iterator with larger per-loop overhead:
>> save offsets
>> for loop on the innermost dimension with lower per-loop overhead:
>> component-wise operation using offsets and innermost strides
> I see. Yes, it seems definitely doable. However, I don't understand
> very well when you say that you have to "decide on dimension to do
> innermost dynamically". For me, this dimension should always be the
> trailing dimension, in order to maximize the locality of data. Or I'm
> missing something?
For a transposed array (or Fortran-ordered one) it will be the leading.
Not sure whether it is possible with other kinds of views (where e.g. a
middle dimension varies fastest), but the NumPy model doesn't preclude
it and I suppose it would be possible with stride_tricks.
More information about the Numpy-discussion