delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-announce/2006/03/21/06:50:04

Message-Id: <200603211140.k2LBekNR004916@delorie.com>
X-Authenticated: #27081556
From: Juan Manuel Guerrero <juan DOT guerrero AT gmx DOT de>
To: djgpp-announce AT delorie DOT com
Subject: ANNOUNCE: DJGPP port of FFTW 3.1.1 uploaded
Date: Tue, 21 Mar 2006 10:57:51 +0100
X-Y-GMX-Trusted: 0

This is a port of FFTW 3.1.1 to MSDOS/DJGPP.


  FFTW is a free collection of fast C routines for computing the
  Discrete Fourier Transform in one or more dimensions. It includes
  complex, real, symmetric, and parallel transforms, and can handle
  arbitrary array sizes efficiently. FFTW is typically faster than
  other publically-available FFT implementations, and is even
  competitive with vendor-tuned libraries.
  Please, read carefully the NEWS file to see the user visible changes
  and read the info or html docs to become familiar with the program.



  DJGPP specific changes.
  =======================

  - Please note that this package **needs** long filename support to compile.
    If you are using Win98 with numerical tail aliases disabled, you will have
    to reenable it again to install the package. Thus this package can not be
    compiled on plain DOS.
  - Due to the 8.3 file name length restriction the libraries file names
    have been changed from:
      libfftw3X.a  to  libfftwX.a
    where X stands for the character `f' or for nothing. This should be
    remembered when reading the info docs or man pages and when linking.
  - The package provides two versions of the library:
      libfftwf.a (float precision version)
      libfftw.a  (double precision version, default)
    The two libraries use the same header: fftw3.h. In your application
    you will have to replace function calls that starts with "fftw_" with
    "fftwf_" in the case of float. You can use both libraries at the same
    time in your appliction. This means that you can performe certain
    computation with single precision in some function and perform another
    computation with double precision in another or in the same function of
    your application. Please read the info docs to become familiar with
    this library. The original package offers a third version of the library,
    this is one with long double precision. This version can not be compiled
    with djgpp because it needs versions of trigonometric functions with
    long double precision that are not available in djgpp.
 -  To make the package good for all djgpp installations, I have configured
    and compiled with --enable-portable-binary. In this case -mtune but not
    -march is used to generate code, so the produced library will run on
    any architecture even tough it is optimized for a particular one.
    I have also configured and compiled with the fortran callable wrapper
    routines included. This makes the library a little bit bigger, but this
    amount of size should be negligable. If these wrapper routines should not
    be included then you have to reconfigure and recompile the sources using
    the:
      --disable-fortran
    option.
 -  Also the package can be configured to take advantage of processor
    specific instruction set. The options are:
      --enable-3dnow (fallback for non AMD K7 compatible processor)
      --enable-k7 (enables K7 *and* 3dnow instruction set)
      --enable-sse
      --enable-sse2
    Enabling one of the above options produces SIMD code. 3dnow and sse
    only work with --enable-float and k7 and sse2 only work with double
    precision (the default). If you want to optimize the library for your
    particular processor, you will have to reconfigure and recompile the
    sources from scratch.
    Please read the docs carefully to check if the options you may have
    choosen to recompile the package make sense. The relevant section is
    8.1 in chapter 8 of the pdf or info formated doc.
  - The only djgpp specific changes concern the texi files to reflect the
    name change of the library. The source code itself compiles out-of-the-box.
    As usual, all djgpp specific files (config.bat, diffs, readme files, etc.)
    are located in the /djgpp subdir.



  Here is an extract of the NEWS file showing the user visible changes from
  the last port (fftw-3.1) to this one:

FFTW 3.1.1

* Performance improvements for Intel EMT64.

* Performance improvements for large-size transforms with SIMD.

* Cycle counter support for Intel icc and Visual C++ on x86-64.

* In fftw-wisdom tool, replaced obsolete --impatient with --measure.

* Fixed compilation failure with AIX/xlc; thanks to Joseph Thomas.

* Windows DLL support for Fortran API (added missing __declspec(dllexport)).

* SSE/SSE2 code works properly (i.e. disables itself) on older 386 and 486
  CPUs lacking a CPUID instruction; thanks to Eric Korpela.

----------------------------------------------------------------------------


  The port consists of the usual three packages that can be downloaded from
  ftp.delorie.com and mirrors as (timestamp 2006-03-20):

    FFTW 3.1 binary, info and man format documentation:
    ftp://ftp.delorie.com/pub/djgpp/current/v2tk/fftw31b.zip

    FFTW 3.1 dvi, html, pdf and ps format documentation:
    ftp://ftp.delorie.com/pub/djgpp/current/v2tk/fftw31d.zip

    FFTW 3.1 source:
    ftp://ftp.delorie.com/pub/djgpp/current/v2tk/fftw31s.zip


  For the convenience of the WinXP users binaries compiled with djdev204
  are also distributed and can be downloaded from ftp.delorie.com and
  mirrors as (timestamp 2006-03-20):

    FFTW 3.1 binary, info and man format documentation:
    ftp://ftp.delorie.com/pub/djgpp/beta/v2tk/fftw31b.zip



  Send FFTW specific bug reports to <fftw AT fftw DOT org>.
  Send suggestions and bug reports concerning the DJGPP port
  to comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.

Enjoy.

      Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019