[Numpy-discussion] ticket #551
Pauli Virtanen
pav at iki.fi
Sat Apr 12 21:01:23 EDT 2008
http://projects.scipy.org/scipy/numpy/ticket/551
This ticket (milestone 1.0.5 critical) seems to occur because
cblas_DGEMV in SSE2-enabled Atlas, at least the one shipped with
Debian/Ubuntu, apparently requires that doubles are aligned on 8-byte
boundaries in memory. If not, a segmentation fault ensues. When
unpickling arrays, numpy uses data directly from a Python string, which
is consistently not aligned on a 8-byte boundary => crash.
[I'm quite sure this is the reason. There is a minimal testcase in
comment 22 in the ticket is someone wants to confirm this.]
***
So should numpy try to work around this by reallocating the memory when
unpickling, and forcibly aligning it as required by SSE2-Atlas?
Or, should dotblas_matrixproduct in _dotblas.c check check the alignment?
Or, should the ticket be closed as WONTFIX, and the bug forwarded to
upstream + Debian? In principle there's the possibility that this is a
compiler bug.
--
Pauli Virtanen
More information about the NumPy-Discussion
mailing list