Difference between revisions of "DJBFFT"

From CBLFS
Jump to navigationJump to search
Line 11: Line 11:
 
|}
 
|}
  
= Introduction to DJBFFT =
+
== 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.
 
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.
Line 17: Line 17:
 
<b>Homepage:</b> http://cr.yp.to/djbfft.html/
 
<b>Homepage:</b> http://cr.yp.to/djbfft.html/
  
= Non-Multilib or Multilib =
+
== 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:
 
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
+
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:
 
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
+
sed -i 's/auto/<PROCESSOR_FAMILY>/' conf-opt
  
Apply the patches:
+
Compile the package:
 +
 
 +
patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-testsuite-1.patch &&
 +
patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch &&
 +
make
 +
 
 +
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
 +
 
 +
== 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-{{DJBFFT-Version}}-testsuite-1.patch &&
 +
patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch &&
 +
make
 +
 
 +
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
 +
 
 +
=== 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
 +
 
 +
Also force the library into lib64:
 +
 
 +
sed -i 's@"lib@&32@' hier.c
 +
 
 +
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-{{DJBFFT-Version}}-testsuite-1.patch &&
 +
patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch &&
 +
make
 +
 
 +
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
 +
 
 +
=== 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
 +
 
 +
Also force the library into lib64:
 +
 
 +
sed -i 's@"lib@&64@' hier.c
 +
 
 +
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:
  
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-testsuite-1.patch &&
+
sed -i 's/auto/<PROCESSOR_FAMILY>/' conf-opt
  patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch
 
  
 
Compile the package:
 
Compile the package:
  
  make
+
sed -i "s/gcc/& ${BUILD64}/" conf-{cc,ld} &&
 +
patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-testsuite-1.patch &&
 +
patch -Np1 -i ../djbfft-{{DJBFFT-Version}}-glibc2.4-1.patch &&
 +
make
  
 
There are tests that come with djbfft, run these if desired:
 
There are tests that come with djbfft, run these if desired:
  
  ./accuracy
+
./accuracy
  ./accuracy2
+
./accuracy2
  ./speed
+
./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.
 
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.
Line 46: Line 140:
 
Install the package:
 
Install the package:
  
  make setup check
+
make setup check
  
 
= Contents =
 
= Contents =

Revision as of 13:11, 26 December 2006

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.

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

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

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

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

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

Also force the library into lib64:

sed -i 's@"lib@&32@' hier.c

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 &&
make

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

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

Also force the library into lib64:

sed -i 's@"lib@&64@' hier.c

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}/" conf-{cc,ld} &&
patch -Np1 -i ../djbfft-0.76-testsuite-1.patch &&
patch -Np1 -i ../djbfft-0.76-glibc2.4-1.patch &&
make

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

Contents

Installed Libraries: djbfft.a

Short Description

djbfft.a: The library containing FFT functions.