How to Find an Effective 2D FFT Subroutine in Fortran 77?

Click For Summary

Discussion Overview

The discussion revolves around finding an effective two-dimensional Fast Fourier Transform (FFT) subroutine in Fortran 77. Participants explore various libraries and resources for implementing FFTs, considering efficiency and ease of use.

Discussion Character

  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant requests an effective two-dimensional FFT subroutine in Fortran 77.
  • Another participant suggests that numerical building blocks like FFTs are typically sourced from libraries due to the complexity of implementation, recommending MKL, ACML, or FFTW for their reliability.
  • A participant emphasizes the distinction between "effective" and "efficient," correcting the terminology used in the initial request.
  • FFTW is praised for its capabilities, but an alternative suggestion is made to consider Ooura's Mathematical Software Packages for a quicker solution, noted for being efficient and user-friendly.
  • A further suggestion includes a website that hosts several Fortran 77 source codes, mentioning that FFTW, while claimed to be the fastest, is written in C.

Areas of Agreement / Disagreement

Participants generally agree on the importance of using established libraries for FFT implementations, but there are multiple competing views regarding which library is the best option, with no consensus reached on a single recommended solution.

Contextual Notes

Some limitations include the potential differences in performance between libraries, the varying definitions of "effective" versus "efficient," and the dependency on specific use cases or system compatibility.

seanshee
Messages
3
Reaction score
0
Does someone have an effective two-dimensional FFT subroutine in Fortran 77?
 
Technology news on Phys.org
Numerical building blocks like matrix algebra, linear algebra, or FFTs are not normally programmed by yourself, but taken from libraries. The reason for this is that getting those building blocks right is *very* difficult[1], and you get absolutely nothing from doing them yourself. FFT routines are, for example, provided by MKL or ACML (which are recommended because you also get the matrix stuff), but you can also take them from FFTW, which comes in packages for all linux systems (install fftw3) and can also be used from Fortran.

Note: You mean "efficient". "Effective" and "efficient" are not the same things.

[1] And in the matrix multiplication case, you simply cannot beat BLAS. It's impossible.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 59 ·
2
Replies
59
Views
12K
Replies
64
Views
11K
  • · Replies 8 ·
Replies
8
Views
4K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 22 ·
Replies
22
Views
4K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 14 ·
Replies
14
Views
3K