Difference between revisions of "DJBFFT"

From CBLFS
Jump to navigationJump to search
(Updated contents.)
(Shared library instructions)
 
(4 intermediate revisions by the same user not shown)
Line 11: Line 11:
 
|}
 
|}
  
== Introduction to DJBFFT ==
+
----
  
djbfft is an extremely fast library for floating-point convolution. djbfft provides power-of-2 complex FFTs, real FFTs at twice the speed, and fast multiplication of complex arrays. Single precision and double precision are equally supported.  The djbfft algorithms may be up to twice as fast as the [[FFTW]] algorithms.
+
{{Package-Introduction|djbfft is an extremely fast library for floating-point convolution. djbfft provides power-of-2 complex FFTs, real FFTs at twice the speed, and fast multiplication of complex arrays. Single precision and double precision are equally supported.  The djbfft algorithms may be up to twice as fast as the [[FFTW]] algorithms.|http://cr.yp.to/djbfft.html}}
 
 
<b>Homepage:</b> http://cr.yp.to/djbfft.html/
 
  
 
== Non-Multilib ==
 
== Non-Multilib ==
Line 31: Line 29:
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-testsuite-1.patch &&
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-testsuite-1.patch &&
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch &&
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch &&
  make
+
  make LIBDJBFFT="libdjbfft.so.0.76" LIBPERMS="0755"
  
 
There are tests that come with djbfft, run these if desired:
 
There are tests that come with djbfft, run these if desired:
Line 43: Line 41:
 
Install the package:
 
Install the package:
  
  make setup check
+
  make setup check &&
 +
ln -svf libdjbfft.so.0.76 /usr/lib/libdjbfft.so.0 &&
 +
ln -svf libdjbfft.so.0.76 /usr/lib/libdjbfft.so
  
 
== Multilib ==
 
== Multilib ==
Line 62: Line 62:
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-testsuite-1.patch &&
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-testsuite-1.patch &&
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch &&
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch &&
  make
+
  make LIBDJBFFT="libdjbfft.so.0.76" LIBPERMS="0755"
  
 
There are tests that come with djbfft, run these if desired:
 
There are tests that come with djbfft, run these if desired:
Line 74: Line 74:
 
Install the package:
 
Install the package:
  
  make setup check
+
  make setup check &&
 +
ln -svf libdjbfft.so.0.76 /usr/lib/libdjbfft.so.0 &&
 +
ln -svf libdjbfft.so.0.76 /usr/lib/libdjbfft.so
  
 
=== N32 ===
 
=== N32 ===
Line 92: Line 94:
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch &&
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch &&
 
  sed -i 's@"lib@&32@' hier.c &&
 
  sed -i 's@"lib@&32@' hier.c &&
  make
+
  make LIBDJBFFT="libdjbfft.so.0.76" LIBPERMS="0755"
  
 
There are tests that come with djbfft, run these if desired:
 
There are tests that come with djbfft, run these if desired:
Line 104: Line 106:
 
Install the package:
 
Install the package:
  
  make setup check
+
  make setup check &&
 +
ln -svf libdjbfft.so.0.76 /usr/lib32/libdjbfft.so.0 &&
 +
ln -svf libdjbfft.so.0.76 /usr/lib32/libdjbfft.so
  
 
=== 64Bit ===
 
=== 64Bit ===
Line 118: Line 122:
 
Compile the package:
 
Compile the package:
  
  sed -i "s/gcc/& ${BUILD64}/" conf-{cc,ld} &&
+
  sed -i "s/gcc/& ${BUILD64} -fPIC/" conf-{cc,ld} &&
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-testsuite-1.patch &&
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-testsuite-1.patch &&
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch &&
 
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch &&
 
  sed -i 's@"lib@&64@' hier.c &&
 
  sed -i 's@"lib@&64@' hier.c &&
  make
+
  make LIBDJBFFT="libdjbfft.so.0.76" LIBPERMS="0755"
  
 
There are tests that come with djbfft, run these if desired:
 
There are tests that come with djbfft, run these if desired:
Line 134: Line 138:
 
Install the package:
 
Install the package:
  
  make setup check
+
  make setup check &&
 +
ln -svf libdjbfft.so.0.76 /usr/lib64/libdjbfft.so.0 &&
 +
ln -svf libdjbfft.so.0.76 /usr/lib64/libdjbfft.so
  
 
= Contents =
 
= Contents =
  
{|style="text-align"
+
{|style="text-align: left"
 
|-valign="top"
 
|-valign="top"
 
!Installed Directories:
 
!Installed Directories:
|
+
|None
 
|-valign="top"
 
|-valign="top"
 
!Installed Programs:
 
!Installed Programs:
|
+
|None
 
|-valign="top"
 
|-valign="top"
 
!Installed Libraries:
 
!Installed Libraries:
|djbfft.a
+
|djbfft.a, libdjbfft.so.0.76
|-valign="top"
 
!Symlinks:
 
|
 
 
|}
 
|}
  
Line 160: Line 163:
 
|The library containing FFT functions.
 
|The library containing FFT functions.
 
|}
 
|}
 +
 +
[[Category:Science_Engineering]]

Latest revision as of 18:48, 13 September 2008

Download Source: http://cr.yp.to/djbfft/djbfft-0.76.tar.gz
Download Patch: http://svn.cross-lfs.org/svn/repos/patches/djbfft/djbfft-0.76-glibc2.4-1.patch
Download Patch: http://svn.cross-lfs.org/svn/repos/patches/djbfft/djbfft-0.76-testsuite-1.patch

Introduction to DJBFFT

djbfft is an extremely fast library for floating-point convolution. djbfft provides power-of-2 complex FFTs, real FFTs at twice the speed, and fast multiplication of complex arrays. Single precision and double precision are equally supported. The djbfft algorithms may be up to twice as fast as the FFTW algorithms.

Project Homepage: http://cr.yp.to/djbfft.html

Non-Multilib

The installation prefix for djbfft is provided by the file conf-home. The default location is /usr/local/djbfft. The following sed will put djbfft into /usr:

sed -i 's@/usr/local/djbfft@/usr@' conf-home

Compilation of the djbfft can be optimized for a particular processor class. By default your processor is auto detected from Pentium, SPARC, or PowerPC. When this package was installed on an AMD Athlon64 system, it detected the processor as SPARC. To set the processor type explicitly, issue the following sed replacing <PROCESSOR_FAMILY> with pentium, sparc, ppro, or idea for machine-independent code:

sed -i 's/auto/<PROCESSOR_FAMILY>/' conf-opt

Compile the package:

patch -Np1 -i ../djbfft-0.76-testsuite-1.patch &&
patch -Np1 -i ../djbfft-0.76-glibc2.4-1.patch &&
make LIBDJBFFT="libdjbfft.so.0.76" LIBPERMS="0755"

There are tests that come with djbfft, run these if desired:

./accuracy
./accuracy2
./speed

Single-precision (r4 and c4) errors should be on the scale of 10E-8. Double-precision (r8 and c8) errors should be on the scale of 10E-16.

Install the package:

make setup check &&
ln -svf libdjbfft.so.0.76 /usr/lib/libdjbfft.so.0 &&
ln -svf libdjbfft.so.0.76 /usr/lib/libdjbfft.so

Multilib

32Bit

The installation prefix for djbfft is provided by the file conf-home. The default location is /usr/local/djbfft. The following sed will put djbfft into /usr:

sed -i 's@/usr/local/djbfft@/usr@' conf-home

Compilation of the djbfft can be optimized for a particular processor class. By default your processor is auto detected from Pentium, SPARC, or PowerPC. When this package was installed on an AMD Athlon64 system, it detected the processor as SPARC. To set the processor type explicitly, issue the following sed replacing <PROCESSOR_FAMILY> with pentium, sparc, ppro, or idea for machine-independent code:

sed -i 's/auto/<PROCESSOR_FAMILY>/' conf-opt

Compile the package:

sed -i "s/gcc/& ${BUILD32}/" conf-{cc,ld} &&
patch -Np1 -i ../djbfft-0.76-testsuite-1.patch &&
patch -Np1 -i ../djbfft-0.76-glibc2.4-1.patch &&
make LIBDJBFFT="libdjbfft.so.0.76" LIBPERMS="0755"

There are tests that come with djbfft, run these if desired:

./accuracy
./accuracy2
./speed

Single-precision (r4 and c4) errors should be on the scale of 10E-8. Double-precision (r8 and c8) errors should be on the scale of 10E-16.

Install the package:

make setup check &&
ln -svf libdjbfft.so.0.76 /usr/lib/libdjbfft.so.0 &&
ln -svf libdjbfft.so.0.76 /usr/lib/libdjbfft.so

N32

The installation prefix for djbfft is provided by the file conf-home. The default location is /usr/local/djbfft. The following sed will put djbfft into /usr:

sed -i 's@/usr/local/djbfft@/usr@' conf-home

Compilation of the djbfft can be optimized for a particular processor class. By default your processor is auto detected from Pentium, SPARC, or PowerPC. When this package was installed on an AMD Athlon64 system, it detected the processor as SPARC. To set the processor type explicitly, issue the following sed replacing <PROCESSOR_FAMILY> with pentium, sparc, ppro, or idea for machine-independent code:

sed -i 's/auto/<PROCESSOR_FAMILY>/' conf-opt

Compile the package:

sed -i "s/gcc/& ${BUILDN32}/" conf-{cc,ld} &&
patch -Np1 -i ../djbfft-0.76-testsuite-1.patch &&
patch -Np1 -i ../djbfft-0.76-glibc2.4-1.patch &&
sed -i 's@"lib@&32@' hier.c &&
make LIBDJBFFT="libdjbfft.so.0.76" LIBPERMS="0755"

There are tests that come with djbfft, run these if desired:

./accuracy
./accuracy2
./speed

Single-precision (r4 and c4) errors should be on the scale of 10E-8. Double-precision (r8 and c8) errors should be on the scale of 10E-16.

Install the package:

make setup check &&
ln -svf libdjbfft.so.0.76 /usr/lib32/libdjbfft.so.0 &&
ln -svf libdjbfft.so.0.76 /usr/lib32/libdjbfft.so

64Bit

The installation prefix for djbfft is provided by the file conf-home. The default location is /usr/local/djbfft. The following sed will put djbfft into /usr:

sed -i 's@/usr/local/djbfft@/usr@' conf-home

Compilation of the djbfft can be optimized for a particular processor class. By default your processor is auto detected from Pentium, SPARC, or PowerPC. When this package was installed on an AMD Athlon64 system, it detected the processor as SPARC. To set the processor type explicitly, issue the following sed replacing <PROCESSOR_FAMILY> with pentium, sparc, ppro, or idea for machine-independent code:

sed -i 's/auto/<PROCESSOR_FAMILY>/' conf-opt

Compile the package:

sed -i "s/gcc/& ${BUILD64} -fPIC/" conf-{cc,ld} &&
patch -Np1 -i ../djbfft-0.76-testsuite-1.patch &&
patch -Np1 -i ../djbfft-0.76-glibc2.4-1.patch &&
sed -i 's@"lib@&64@' hier.c &&
make LIBDJBFFT="libdjbfft.so.0.76" LIBPERMS="0755"

There are tests that come with djbfft, run these if desired:

./accuracy
./accuracy2
./speed

Single-precision (r4 and c4) errors should be on the scale of 10E-8. Double-precision (r8 and c8) errors should be on the scale of 10E-16.

Install the package:

make setup check &&
ln -svf libdjbfft.so.0.76 /usr/lib64/libdjbfft.so.0 &&
ln -svf libdjbfft.so.0.76 /usr/lib64/libdjbfft.so

Contents

Installed Directories: None
Installed Programs: None
Installed Libraries: djbfft.a, libdjbfft.so.0.76

Short Description

djbfft.a: The library containing FFT functions.