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
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–2Method
The paper calculates CGHs using AMD’s RV870 GPU and OpenCL and compares performance with an NVIDIA GPU.
Source: §1 · p. 3Results
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 · showhide
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