In 2001, Jerry Tessendorf wrote "Simulating Ocean Water" which describe wave motion in open ocean. Based on statistical model, it simulates a realistic ocean, better than Gresner waves. The inverse FFT is the most CPU-intensive part. The DirectX SDK come with an 1D inverse FFT sample "GPUSpectrogram", since CUDA mapping support in directX10 is still on beta, i tranform the sample to do a 2D inverse FFT. The other parts can be precomputed or done on GPU easily.
Source DX10 : GPU Ocean