基于点云的 CPU 计算全息图(CGH)加速方法
在计算全息图(CGH)时,从点云数据计算全息图的过程可能会非常耗时。本文将介绍几种加速基于点云的 CPU 计算全息图的方法,包括使用单精度浮点类型、多线程和 SIMD 编程以及递归算法实现等。
1. 双精度浮点类型计算性能评估
首先,我们评估了使用双精度浮点类型计算 1,920 × 1,080 全息图的计算时间和内存使用情况。观察了由约 1,000 个点、40,000 个点和 1,000,000 个点组成的三种物体。计算全息图时使用一个缓冲区来存储对象点的坐标数据和计算结果。内存使用量的计算公式如下:
- 点云数据大小:float 类型大小 × 3D 坐标 × 对象点数量 = 12Nobj
- 全息图数据大小:float 类型大小 × 全息图像素数量 = 4Nhol
因此, xyz_to_psi 函数使用的内存量为 12Nobj + 4Nhol。相关性能数据如下表所示:
| Nobj | 计算时间 [s] | 使用内存 [MiB] (12Nobj + 4Nhol) |
|---|---|---|
| 710 | 28.42 | 7.92 (0.01 + 7.91) |
| 44,647 | 1,828.25 | 8.42 (0.51 + 7.91) |
超级会员免费看
订阅专栏 解锁全文
43

被折叠的 条评论
为什么被折叠?



