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