diff options
author | Julian Taylor <jtaylor.debian@googlemail.com> | 2018-03-25 13:44:26 +0200 |
---|---|---|
committer | Julian Taylor <jtaylor.debian@googlemail.com> | 2018-03-25 13:53:14 +0200 |
commit | 52ff55c559b974c96a053cab9457492f04a58a12 (patch) | |
tree | 0f1e5c690a4e8c6850de1c64ed55a027c5385a53 /numpy/core/arrayprint.py | |
parent | e4d678a2f5859d29a853d617e9e5bbd4b6241898 (diff) | |
download | numpy-52ff55c559b974c96a053cab9457492f04a58a12.tar.gz |
BUG: fix wrong inplace vectorization on overlapping arguments
The input arguments to inplace operations can overlap for accumulate
operatation where out[i+1] = in[i] + out[i]
This breaks the no loop carried dependency assumptions the compiler has
due to the ivdep pragma that is required for GCC to vectorize the loop.
Currently this does not harm as accumulate operations are out of place,
but future enhancements may change that.
Fix this by verifying the arguments do not overlap within a hardware
vector size.
As we do not know the vector size of future machines use an extremely
large value of 1024 bytes (commodity hardware currently has at most 64
bytes)
Diffstat (limited to 'numpy/core/arrayprint.py')
0 files changed, 0 insertions, 0 deletions