libm

Rudi Chiarito nutello at sweetness.com
Thu Apr 27 16:42:47 UTC 2006


Hello,
I have a couple of questions that maybe someone can help with. Exhibit A
is an x86_64 FC3 system:

# objdump -p /usr/lib64/libfftw.so | grep -A20 Version
Version References:
  required from libm.so.6:
    0x09691a75 0x00 03 GLIBC_2.2.5
  required from libc.so.6:
    0x0d696913 0x00 04 GLIBC_2.3
    0x09691a75 0x00 02 GLIBC_2.2.5
# rpm -qi fftw | grep ^[VRI]
Version     : 2.1.5                             Vendor: (none)
Release     : 5                             Build Date: Tue 14 Dec 2004
06:56:25 PM CST
Install Date: Wed 23 Mar 2005 04:14:50 PM CST      Build Host:
extras64.linux.duke.edu

Exhibit B is an x86_64 FC5 system:

# objdump -p /usr/lib64/libfftw.so | grep -A20 Version
Version References:
  required from libc.so.6:
    0x0d696913 0x00 05 GLIBC_2.3
    0x0d696914 0x00 04 GLIBC_2.4
    0x09691a75 0x00 03 GLIBC_2.2.5
    0x09691974 0x00 02 GLIBC_2.3.4

# rpm -qi fftw2 | grep ^[VRI]
Version     : 2.1.5                             Vendor: (none)
Release     : 12.fc5                        Build Date: Sat 18 Feb 2006
04:08:15 AM CST
Install Date: Wed 26 Apr 2006 05:00:30 PM CDT      Build Host:
hammer2.fedora.redhat.com

The FC3 fftw references libm, the FC5 one doesn't. Is one of the two
behaviours considered more proper? Scons' autoconf-like test fails with
the FC5 libfftw because it can't resolve sin() and cos(). The FC3
libfftw seems to reference those, too, but the reference to libm takes
care of that.

More in general, though, isn't a call to sin() and cos() expensive and
shouldn't the compiler just use inline native FP code? In the case of
FFTW those two are only used in the setup stages, with the actual FFTs
implemented with multiplications and additions (gcc uses SSE as
expected on x86_64), but not all code is going to be like that. Are
there reasons for them not to be inlined?

Thanks.

-- 
Rudi




More information about the fedora-devel-list mailing list