Source-linked AI summary

Fast calculation of computer-generated-hologram on AMD HD5000 series GPU and OpenCL

Tomoyoshi Shimobaba, Tomoyoshi Ito, Nobuyuki Masuda, Yasuyuki Ichihashi, Naoki Takada

arXiv:1002.0916v2physics.opticsphysics.comp-ph

TL;DR

CGH generation is computationally demanding, with complexity O(NNxNy), and practical electroholography also requires large-area, high-resolution SLMs. The paper uses AMD’s RV870 GPU and OpenCL for fast CGH calculation. It reports a 1,920 × 1,024 CGH from 1,024 points in about 30 ms, approximately two times faster than an NVIDIA GPU.

  • Problem

    CGH generation has complexity O(NNxNy), and electroholography also requires large-area, high-resolution SLMs.

    Source: §1 · pp. 1–2
  • Method

    The paper calculates CGHs using AMD’s RV870 GPU and OpenCL and compares performance with an NVIDIA GPU.

    Source: §1 · p. 3
  • Results

    About 30 ms produces a 1,920 × 1,024 CGH from 1,024 points, approximately two times faster than an NVIDIA GPU.

    Source: §1 · p. 3, §3 · p. 8
  • Takeaways & Limitations

    The paper reports the first use of the RV870 GPU and OpenCL in optics, to the authors’ knowledge.

    Source: §3 · p. 7

Abstract

from arXiv · show

In this paper, we report fast calculation of a computer-generated-hologram using a new architecture of the HD5000 series GPU (RV870) made by AMD and its new software development environment, OpenCL. Using a RV870 GPU and OpenCL, we can calculate 1,920 * 1,024 resolution of a CGH from a 3D object consisting of 1,024 points in 30 milli-seconds. The calculation speed realizes a speed approximately two times faster than that of a GPU made by NVIDIA.

1 Introduction

CGH generation is computationally demanding, alongside the need for large-area, high-resolution spatial light modulators. This paper reports fast CGH calculation using AMD’s RV870 GPU and OpenCL, comparing its performance with an NVIDIA GPU.

  • Electroholography faces both the need for large-area, high-resolution SLMs and the enormous computation time required to generate a CGH.Source: §1 · pp. 1–2
  • The CGH formula has computational complexity O(NNxNy), with N object points and Nx and Ny hologram sampling numbers.Source: §1 · p. 2
  • Recurrence and look-up-table software methods, as well as FPGA and GPU hardware, have been proposed to reduce CGH calculation time; FPGA approaches bring development cost, time, and expertise constraints.Source: §1 · p. 2
  • NVIDIA GPU and CUDA had been applied in optics, while RV870 offered over 1,000 floating-point processors versus about 200 in one NVIDIA chip, but fast RV870 CGH calculation had not been reported.Source: §1 · pp. 2–3
  • RV870 and OpenCL calculate a CGH and enable comparison with an NVIDIA GPU.Source: §1 · p. 3

2 Fast calculation of computer-generated-hologram on AMD RV870 and OpenCL

The paper maps CGH calculations onto AMD’s RV870 GPU using OpenCL, then optimizes the kernel with recurrence, shared-memory, and vectorization techniques. The reported AMD calculation is approximately twice as fast as the NVIDIA comparison.

2 Fast calculation of computer-generated-hologram on AMD RV870 and OpenCL

  • Each CGH group is assigned to a SIMD engine, where its items calculate CGH points in parallel using OpenCL.The RV870’s SIMD engine contains 16 thread processors and shared memory; OpenCL execution also involves device-memory allocation, kernel compilation, and data transfer.Source: §2 · pp. 3–4
  • With 16×16 workgroups, the unoptimized kernel took about 215 ms for a 1,920×1,024 CGH from 1,024 points.The CGH area is divided into groups, with each item computing Eq. (1) in parallel on a stream core.Source: §2 · p. 4

2.1 Optimization

  • The recurrence formulas advance the phase across coordinates, while shared memory stages 256 object points at a time, requiring N/256 iterations.The recurrence initializes Γ0, δ0, and Δ; the shared-memory capacity is limited to 256 points.Source: §2.1 · pp. 5–6
  • Loop unrolling processes four object points per iteration; float4 and float8 operations handle four object points and eight CGH points, respectively.The optimized kernel also uses a native cosine function to compute cosine in hardware.Source: §2.1 · p. 6

2.2 Results

  • On a RADEON HD5850, the described AMD optimization performs more than ten times faster than without optimization, and AMD GPU calculation is approximately two times faster than NVIDIA GPU calculation.Source: §2.2 · p. 7

3 Conclusion

The paper reports RV870/OpenCL CGH calculation as the first such use in optics, computing 1,920×1,024 holograms for 1,024-point objects in about 30 ms and approximately twice NVIDIA’s speed.

3 Conclusion

  • The method uses an AMD RV870 GPU and OpenCL for fast CGH calculation.Source: §3 · p. 7
  • To the authors’ knowledge, this is the first report of RV870 GPU and OpenCL use in optics.Source: §3 · pp. 7–8
  • About 30 ms computes a 1,920×1,024 CGH for a 1,024-point object, at approximately twice the speed of an NVIDIA GPU.Source: §3 · p. 8
Loading 1002.0916v2…