[SciPy-dev] fft segfault, 64 Bit Opteron

Arnd Baecker arnd.baecker at web.de
Fri Dec 9 13:03:11 CST 2005


On Fri, 9 Dec 2005, Travis Oliphant wrote:

[...]

> I've made a fix which should work better on 64-bit.

With  scipy.__core_version__ = '0.8.1.1617'
we got it working - both on the Opteron and Itanium!!
In both cases gcc was used.

> More 64-bit testing needed.
>
> One trick to test the buffered section of code using smaller arrays is
> to set the buffer size to something very small (but a multiple of 16 ---
> 16 is the smallest).   For arrays smaller than the buffer size, array's
> are just copied when a cast is needed.  But, for larger arrays, the
> buffered code is exercised.
>
> For example:
>
> scipy.setbufsize(16)
> scipy.test(1,1)

Works fine for both machines!

Travis, there is something which is bothering me for a while,
and which clearly shows in Jan's build:
The fftw3 performance is very poor/weird
for one-dimensional complex arrays (this is on the Itanium2 with gcc):


                  Fast Fourier Transform
=================================================
      |    real input     |   complex input
-------------------------------------------------
 size |  scipy  | Numeric |  scipy  | Numeric
-------------------------------------------------
  100 |    1.28 |  1.59   |   10.06 |  1.57    (secs for 7000 calls)
 1000 |    1.08 |  3.06   |    9.36 |  3.00    (secs for 2000 calls)
  256 |    2.39 |  3.74   |   19.29 |  3.68    (secs for 10000 calls)
  512 |    3.54 |  8.27   |   26.81 |  8.10    (secs for 10000 calls)
 1024 |    0.57 |  1.44   |    4.29 |  1.41    (secs for 1000 calls)
 2048 |    0.99 |  3.18   |    7.40 |  3.12    (secs for 1000 calls)
 4096 |    0.96 |  3.04   |    6.93 |  2.99    (secs for 500 calls)
 8192 |    2.04 |  7.91   |   14.40 |  7.85    (secs for 500 calls)

    Multi-dimensional Fast Fourier Transform
===================================================
          |    real input     |   complex input
---------------------------------------------------
   size   |  scipy  | Numeric |  scipy  |  Numeric
---------------------------------------------------
  100x100 |    0.83 |  2.33   |    0.82 |   2.24   (secs for 100 calls)
 1000x100 |    0.57 |  2.04   |    0.58 |   2.13   (secs for 7 calls)
  256x256 |    0.68 |  1.62   |    0.67 |   1.63   (secs for 10 calls)
  512x512 |    1.85 |  3.28   |    1.71 |   3.41   (secs for 3 calls)

Do you have any idea, what could be causing this?

Best, Arnd





More information about the Scipy-dev mailing list