[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: fftw: Usage of SSE in 64bit?





On Wed, Mar 23, 2011 at 3:56 PM, Sylvestre Ledru <sylvestre@debian.org> wrote:
Le mercredi 23 mars 2011 à 15:53 +0100, Julian Taylor a écrit :
> On Wed, Mar 23, 2011 at 3:21 PM, Sylvestre Ledru
> <sylvestre@debian.org> wrote:
>         Le mercredi 23 mars 2011 à 14:52 +0100, Carsten Aulbert a
>         écrit :
>         > Hi
>         >
>         > we are just discussing FFTW in our institute and we hit this
>         bug reported to
>         > Ubuntu which also holds true for Debian:
>         >
>         > https://bugs.launchpad.net/ubuntu/+source/fftw3/+bug/602586
>         >
>         > Is there a specific reason why SSE is enabled for 32bit and
>         not enabled for
>         > 64bit as the difference in performance can easily be a
>         factor of 2 (on 64bit).
>
>         This bug is invalid. SSE is enabled by default under amd64 [1]
>
>         Sylvestre
>         [1]
>         http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html
>         `sse'
>         [...]
>         "This is the default choice for the x86-64 compiler."
>
>
>
>
> but it will not define HAVE_SSE in config.h so the fftw3 might not use
> some handcrafted functions.
Are you sure that gcc under amd64 is not defining HAVE_SSE
transparently ?

Sylvestre



I would be very suprised when gcc defines HAVE_SSL which is a flag usually set by configure.

It does not in gcc 4.4.3 64 bit (ubuntu 10.04):
fftw3-3.2.2/simd/nonportable> gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../../kernel -I../../simd -g -Wall -O2 -pthread -MT sse.lo -MD -MP -MF .deps/sse.Tpo -c -E sse.c | grep fftwf_check_alignment_of_sse_pmpm

on a 32 bit build (gcc 4.4.5 HAVE_SSE defined by package):
fftw3-3.2.2/simd/nonportable> gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../../kernel -I../../simd -g -Wall -O2 -pthread -MT sse.lo -MD -MP -MF .deps/sse.Tpo -c -E sse.c | grep fftwf_check_alignment_of_sse_pmpm void
fftwf_check_alignment_of_sse_pmpm(void)

Reply to: