了解GPU编码器™如何使您能够在NVIDIA上加速信号和图像处理中的高计算应用程序®GPU。使用SAR处理示例,我们展示了如何按数量级降低模拟时间。
GPU的大规模平行计算能力是实现和加速各种高性能计算任务。在此视频中,我们将考虑这适用于雷达应用程序以及如何使用GPU编码器加速GPU上的此类应用程序。
我们将使用合成孔径雷达处理示例,因为SAR通常用于机载雷达,它也用于汽车雷达应用。
SAR使用雷达天线在目标区域上的运动,以提供比传统的光束扫描雷达更精细的空间分辨率。
在这里,我们有三个点目标的原始回声数据,并且绘图表示天线的运动。
您将SAR图像从用于从移动天线照射目标的脉冲的连续录制的雷达回波。
在这里,我们具有我们的算法,它使用时域反向传播来构造三个点的SAR图像,并注意该算法非常平行,由三个用于环路。
所以我们得到了三个点的预期SAR形象,但让我们注意到处理时间。算法在我的桌面CPU上花费大约3000秒用于2000x10000尺寸输入数据。
要利用该算法的并行性并在GPU上加速它,我们将利用MEX工作流程,我们从该算法生成CUDA代码,并从MATLAB运行编译的CUDA代码。
您可以看到编译的CUDA代码更快地运行大约两个数量级。
代码生成报告为生成的代码提供了其他详细信息和见解。
例如,绿色亮点,这里,指示生成的代码到GPU的映射,并且在该示例中,整个函数被映射到GPU。
您可以在关于内核的指标报告中看到其他详细信息以及线程和块分配。这里生成的代码具有单个内核,我们只使用四个块。
但我们在我们的算法中有三个循环,并且有可能调整我们的算法,使其更加数据并行。
简单地将这三行代码移动到内循环,现在两个外圈完全嵌套而不改变代码的行为。如果我们运行生成的MEX,我们会看到额外的10倍加速。您可以通过指定诸如块大小的其他参数来进一步控制并行性,例如嵌入式大小。
现在使用GPUCODER.Profile迈出一步,我们可以配置文件并获取时间信息,让您探讨处理内核与GPU的数据中的内核与时间的相对时间花费的时间。
这可以进一步帮助您确定更多方法来更新应用程序以提高性能。
这些相同的原理可用于加速其他信号处理和雷达应用以及计算机视觉和图像处理应用。
请参阅视频下方的文档链接以了解更多信息。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获得最佳网站性能。其他MathWorks国家网站未优化您所在地的访问。