mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Math (https://www.mersenneforum.org/forumdisplay.php?f=8)
-   -   Van Buskirk/DJB's Tangent FFT (https://www.mersenneforum.org/showthread.php?t=9141)

akruppa 2007-08-29 11:20

Van Buskirk/DJB's Tangent FFT
 
[QUOTE]
Date: 12 Aug 2007 16:55:34 -0000
Mail-Followup-To: [email]bnis@list.cr.yp.to[/email]
Automatic-Legal-Notices: See [url]http://cr.yp.to/mailcopyright.html[/url].
From: "D. J. Bernstein" <djb@cr.yp.to>
To: [email]bnis@list.cr.yp.to[/email]
Subject: The tangent FFT
Content-Disposition: inline

If you're using the complex-floating-point split-radix FFT, you can gain
a constant factor in total floating-point operations (asymptotically
more than 5%!) by switching to the tangent FFT:

[url]http://cr.yp.to/papers.html#tangentfft[/url]

The operation count is due to Van Buskirk. The algorithm in my paper has
the virtue of being simultaneously simple, in-place, and cache-friendly.

I haven't seen a serious analysis of the impact of Van Buskirk's ideas
for cost measures more complicated than counting arithmetic operations.
The Johnson-Frigo paper on the topic claims that practical performance
of FFTs is "unpredictable"; I see no justification for this claim, and
my own FFT optimization experience tells me that the opposite is true.
Has anyone tried a serious implementation of Van Buskirk's FFT?

- ---D. J. Bernstein, Professor, Mathematics, Statistics,
and Computer Science, University of Illinois at Chicago
[/QUOTE]

Could this be of interest for Prime95? (Note: I have not read the paper yet.)

Alex

cheesehead 2007-08-29 21:24

~5.5 percent speedup in every single Lucas-Lehmering, P-1ing, ECMing, cotton-picking FFT, [I]and[/I] Bernstein's way of explaining makes me think of finally (41 years after first wondering what "Cooley-Tukey" on all those other printouts meant) plunging in to learn how FFT works!


All times are UTC. The time now is 10:57.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.