Last updated

January 19th, 2007

This is the rather provisional homepage for GPUwave, my implementation of the split-step Fourier algorithm for modern graphic cards. Note that GPUwave is essentially “finished” in the sense that no further updates are anticipated; I am not into marine acoustics, and I will probably pursue a different direction for my master's project. Thus, if you want to fix something, you'll have to do it yourself (which is, of course, entirely possible, given that the source is freely available).

Note that GPUwave will absolutely require a semi-modern graphics card; that is, nVidia GeForce 6200 or newer, or ATI Radeon 9500 or newer. (Technically speaking, it must be capable of floating-point fragment programs; an implementation for the GeForce FX series would be possible, but programming for those cards is rather atrocious, and they're outdated now anyhow.) It will not run -- at all -- on older cards. Note that due to driver bugs, the program will not run correctly on GeForce 8800 or the ATI R300 series (9500 through X300) -- nVidia and ATI have been notified of the problems and will hopefully release fixed drivers at some point in the future.

For the theoretical background, a PDF of my report is available, exactly as it was printed and handed in (which is the reason why the margins might look slightly odd for screen reading). Also, if you know Norwegian, you could have a look at a presentation I held about GPUwave, or notes for the same presentation.

The source code for GPUwave, licensed under the GPL v2, is available in tar.bz2 format (for *nix junkies) and Zip format (for the Windows people). Note that no precompiled binaries are available at the time of writing, but this might change.


The following people (listed in alphabetical order) kindly ran the GPUwave benchmark on their own systems, providing large parts of the benchmark data presented in the report:

Magne Mæhre and Tollef Fog Heen both provided invaluable feedback on the report text in various stages.