主要内容

雾校正Simulink模型的GPU代码生成万博1manbetx

这个例子演示了如何从Simulink®模型中生成CUDA®代码,以模糊图像作为输入,并产生去雾图像作为输出。万博1manbetx本实例是雾校正算法的一个典型实现。本例使用conv2im2gray,imhist(图像处理工具箱)功能。这个例子非常接近雾整改的例子。这个例子说明了以下概念:

  • GPU环境验证。

  • 利用图像处理函数建模雾校正在Simulink中的应用。万博1manbetx

  • 配置GPU代码生成的模型。

  • 为Simulink模型生成一个CUDA可执行文件。万博1manbetx

第三方的先决条件

要求

这个示例生成CUDA MEX,并具有以下第三方需求。

  • CUDA启用NVIDIA®GPU和兼容的驱动程序。

可选

对于非mex构建,如静态、动态库或可执行文件,此示例有以下额外需求。

验证GPU环境

要验证是否正确设置了运行此示例所需的编译器和库,请使用coder.checkGpuInstall函数。

envCfg = coder.gpuEnvConfig (“主机”);envCfg。BasicCodegen = 1;envCfg。安静= 1;coder.checkGpuInstall (envCfg);

雾校正Simulink模型万博1manbetx

雾流校正万博1manbetx的Simulink模型由雾整改子系统,包含MATLAB函数块,它接受一个模糊图像作为输入并返回一个去雾图像作为输出。它使用fog_rectification算法中描述雾整改的例子。当模型运行时,可视化块显示模糊的输入图像和去雾的输出图像。

mdl =“fog_rectification_model”;open_system (mdl);

配置GPU加速的型号

模型配置参数决定了仿真过程中采用的加速方法。

set_param (mdl“规划求解”“FixedStepAuto”);set_param (mdl“GPUAcceleration”“上”);set_param (mdl“SimulationMode”“正常”);

构建GPU加速模型

要建立和模拟GPU加速模型,请选择运行模拟选项卡或使用以下MATLAB命令:

= sim (mdl);

为代码生成配置模型

为代码生成设置以下参数。

set_param (mdl“TargetLang”“c++”);set_param (mdl“GenerateGPUCode”CUDA的);set_param (mdl“GPUcuBLAS”“上”);set_param (mdl“GPUcuSOLVER”“上”);set_param (mdl“GPUcuFFT”“上”);

为模型生成CUDA代码

在主机GPU上生成并构建Simulink模型万博1manbetxslbuild命令。代码生成器将文件放在建立文件夹,子文件夹名为fog_rectification_model_ert_rtw在您当前的工作文件夹下。

状态= evalc (“slbuild (fog_rectification_model)”);

清理

关闭Simulink万博1manbetx模型。

close_system (“fog_rectification_model”);

另请参阅

功能

相关的话题