Back in 1976 Gonsalves  used a parameter search method for phase retrieval that took about 25 seconds on a CDC 6400 computer for 64 points in one dimension. Phase retrieval antenna metrology  in 1990 using a FPS-5100 array processor achieved 100 iterations in 210 seconds with 128 x 128 arrays. In 2009 a 2GHz CPU running MATLAB code was reported to take up to two hours to process data sets of 320 by 240. We can now perform Phase Retrieval in almost real-time and achieve phase-lock within a few seconds using a GPU.
Since the main computational burden for PR is the FFT and since these are now highly optimized in GPUs because of multimedia and gaming, then very effective iterative algorithms that run extremely fast are now a reality. With the nVidia GTX480 the maximum computational capability is around 700 GFLOP/s in single precision (well at least that is what the DirectCompute N-particle demo programs says), but we achieve about 110 GFLOP/s for 2D 512x512 FFTs and 138 GFLOP/s for 1024x1024. Since field magnitude data are imposed continually within the iteration loop, round-off errors do not accumulate. This means that PR is particularly well suited to single precision GPU calculations, gaining in terms of speed, memory and cost. Round-off errors produce very low-level phase noise that is well below the dynamic range of the measurement system. Indeed, Marchesini  suggests that a small random error allows all HIO algorithms to escape stagnation.
Follow the links at the right hand side of this page to see the speed at 1024x1024 points using the GTX480 GPU.
 Gonsalves. Phase retrieval from modulus data. J. Opt. Soc. Am., Vol. 66, No. 9, September 1976, pp 961-964.
 J.E. McCormack, G. Junkin, A.P. Anderson; Microwave metrology of reflector antennas from a single amplitude (set); IEE PROCEEDINGS, Vol. 137, Pt. H, No. 5, OCTOBER 1990
 S. Marchesini. Benchmarking Iterative Projection Algorithms for Phase Retrieval. February 2, 2008. arXiv:physics/0404091v1 [physics.optics] 19 Apr 2004.
For further information, please email: