We propose a novel out-of-core GPU algorithm for 2D-Shift-FFT (i.e., 2D-FFT with FFT-shift) to generate ultra-high-resolution holograms. Generating an ultra-high-resolution hologram requires a large complex matrix (e.g., 100K 2 ) with a size that typically exceeds GPU memory. To handle such a large-scale hologram plane with limited GPU memory, we employ a 1D-FFT based 2D-FFT computation method. We transpose the column data to have a continuous memory layout to improve the column-wise 1D-FFT stage performance in both the data communication and GPU computation. We also combine the FFT-shift and transposition steps to reduce and hide the workload. To maximize the GPU utilization efficiency, we exploit the concurrent execution ability of recent heterogeneous computing systems. We also further optimize our method’s performance with our cache-friendly chunk generation algorithm and pinned-memory buffer approach. We tested our method on three computing systems having different GPUs and various sizes of complex matrices. Compared to the conventional implementation based on the state-of-the-art GPU FFT library (i.e., cuFFT), our method achieved up to 3.24 and 3.06 times higher performance for a large-scale complex matrix in single- and double-precision cases, respectively. To assess the benefits offered by the proposed approach in an actual application, we applied our method to the layer-based CGH process. As a result, it reduced the time required to generate an ultra-high-resolution hologram (e.g., 100 K 2 ) up to 28% compared to the use of the conventional algorithm. These results demonstrate the efficiency and usefulness of our method.
CITATION STYLE
Lee, J., Kang, H., Yeom, H., Cheon, S., Park, J., & Kim, D. (2021). Out-of-core GPU 2D-shift-FFT algorithm for ultra-high-resolution hologram generation. Optics Express, 29(12), 19094. https://doi.org/10.1364/oe.422266
Mendeley helps you to discover research relevant for your work.