GPU 上的图像处理
为了利用现代图形处理单元 (GPU) 提供的性能优势,某些 Image Processing Toolbox™ 函数支持在 GPU 上执行图像处理运算。这可以为复杂的图像处理工作流提供 GPU 加速。这些方法可以单独实现,也可以组合实现,以满足具体设计要求和性能目标。
要在图形处理单元 (GPU) 上运行图像处理代码,您必须拥有 Parallel Computing Toolbox™ 软件。要在 GPU 上执行支持的图像处理运算,请执行以下步骤:
将数据从 CPU 移到 GPU。使用
gpuArray
(Parallel Computing Toolbox) 函数将数组从 MATLAB® 传输到 GPU。有关详细信息,请参阅Create GPU Arrays from Existing Data (Parallel Computing Toolbox)。在 GPU 上执行图像处理运算。有关支持 GPU 的所有工具箱函数的列表,请参阅支持 GPU 计算的函数。
将数据从 GPU 移回 CPU。使用
gather
(Parallel Computing Toolbox) 函数从 GPU 中检索数组,并将该数组作为常规的 MATLAB 数组传输到 MATLAB 工作区。
如果您使用至少一个 gpuArray
(Parallel Computing Toolbox) 输入参量调用支持 GPU 的函数,则该函数会在 GPU 上自动运行,并生成结果 gpuArray
。您可以在同一个函数调用中同时使用 gpuArray
和 MATLAB 数组来混合输入。在这种情况下,该函数自动将 MATLAB 数组传输到 GPU 来执行。
使用 GPU 时,请注意以下几点:
性能的提高可能取决于 GPU 设备。
GPU 上返回的结果与 CPU 上返回的结果可能稍有差异。
要了解如何将自定义 CUDA 内核直接集成到 MATLAB 中以加速复杂算法,请参阅Run CUDA or PTX Code on GPU (Parallel Computing Toolbox)。
另请参阅
gpuArray
(Parallel Computing Toolbox) | gather
(Parallel Computing Toolbox)
相关示例
详细信息
- Run MATLAB Functions on a GPU (Parallel Computing Toolbox)
- 支持 GPU 计算的函数