Ram Cherukuri,Mathworks
了解GPU编码器™如何使您能够加快NVIDIA在信号和图像处理的高计算应用®GPU。使用SAR处理的例子,我们演示了如何通过数量级仿真时间减少。
GPU的大规模并行计算能力和加速各种高性能计算任务。在这段视频中,我们将考虑如何适用于雷达应用,以及我们如何可以加快使用GPU编码器的GPU这样的应用程序。
我们将使用合成孔径雷达处理例如对于此图,因为SAR通常用于机载雷达和它也被用于汽车雷达应用中使用。
SAR使用雷达天线的运动在目标区域提供比常规光束扫描雷达的空间分辨率更细。
在这里,我们有我们的原始回波数据三点目标和情节表示天线的运动。
你可以从一个移动天线连续记录的用于照亮目标的脉冲的雷达回波中合成SAR图像。
这里我们有我们的算法,使用时域反向传播来构建三个点的SAR图像,注意该算法是高度并行的,由三个for循环组成。
因此,我们全取三分的预期SAR图像,但让我们注意一下的处理时间。该算法把约3000秒,我的台式机CPU的2000x10000大小的输入数据。
为了利用该算法的并行性并加速其在GPU上,我们要利用MEX工作流程,当我们从生成算法CUDA代码并运行MATLAB编译CUDA代码。
你可以看到,编译CUDA代码运行约两个数量级的速度更快。
代码生成报告,您可以生成代码的其他详细信息和见解。
例如,绿色亮点,在这里,表示所生成的代码,以GPU和在本实施例的映射,整个函数被映射到GPU。
你可以看到在指标中的其他详细信息有关内核以及线程和块分配报告。这里生成的代码有一个单一的内核,我们只使用4个街区。
但是,我们必须在我们的算法三个环路和有潜力来调整我们的算法,使其更加的数据并行。
通过简单地将这三行代码移动到内部循环,两个外部循环现在就完美地嵌套在一起,而不改变代码的行为。如果运行生成的mex,可以看到额外的10倍加速。您可以通过为内核代码指定额外的参数(如块大小)来进一步控制并行性。
现在更进一步,使用gpucoder。profile,我们可以profile和获得时间信息,让你探索相对的时间花在处理内核与时间花在移动数据从GPU来回。
这可以进一步帮助您识别更多的方式来更新你的应用程序,以提高性能。
这些相同的原理可用于加速其它信号处理和雷达应用,以及计算机视觉和图像处理应用程序。
请参照发布视频下面了解更多的文档链接。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。