Генерация кода графического процессора для исправления вуали модель Simulink

Этот пример демонстрирует, как сгенерировать код CUDA® из модели Simulink®, которая берет туманное изображение, как введено и производит изображение defogged, как выведено. Этим примером является типичная реализация алгоритма исправления вуали. Пример использует conv2rgb2gray, и imhist (Image Processing Toolbox) функции. Этот пример сопровождает пример Исправления Вуали. Этот пример иллюстрирует следующие концепции:

  • Верификация среды графического процессора.

  • Приложение исправления вуали модели в Simulink при помощи функций обработки изображений.

  • Сконфигурируйте модель для генерации кода графического процессора.

  • Сгенерируйте исполняемый файл CUDA для модели Simulink.

Необходимые условия

Проверьте среду графического процессора

Чтобы проверить, что компиляторы и библиотеки, необходимые для выполнения этого примера, настраиваются правильно, используйте coder.checkGpuInstall функция.

envCfg = coder.gpuEnvConfig('host');
envCfg.BasicCodegen = 1;
envCfg.Quiet = 1;
coder.checkGpuInstall(envCfg);

Вуалируйте исправление модель Simulink

Модель Simulink для исправления вуали состоит из Fog Rectification подсистема, которая содержит MATLAB Function блокируйтесь, который берет туманное изображение, как введено и возвращает изображение defogged, как выведено. Это использует fog_rectification алгоритм описан в примере Исправления Вуали. Когда модель запускается, Visualization блок отображает туманное входное изображение и defogged выходное изображение.

open_system('fog_rectification_model');

Запустите модель на Цели Симуляции

Открытое диалоговое окно Configuration Parameters.

В Целевой панели Симуляции выберите ускорение GPU.

Запустите Симуляцию в Режиме normal mode.

set_param('fog_rectification_model', 'SimulationMode', 'Normal');
sim('fog_rectification_model');

Сгенерируйте и создайте модель Simulink

В панели Генерации кода выберите Language как C++ и включите, Генерируют код графического процессора.

Генерация Открытого кода> панель графического процессора Кода. В Библиотеках подкатегории включите cuBLAS, cuSOLVER и cuFFT.

Сгенерируйте и создайте модель Simulink на хосте графический процессор при помощи rtwbuild команда. Генератор кода помещает файлы в папку сборки, подпапку под названием fog_rectification_model_ert_rtw под вашей текущей рабочей папкой.

status = evalc("rtwbuild('fog_rectification_model')");

Очистка

Закройте модель Simulink.

close_system('fog_rectification_model');