Этот пример демонстрирует, как сгенерировать код CUDA® из модели Simulink®, которая берет туманное изображение, как введено и производит изображение defogged, как выведено. Этим примером является типичная реализация алгоритма исправления вуали. Пример использует conv2
rgb2gray
, и imhist
(Image Processing Toolbox) функции. Этот пример сопровождает пример Исправления Вуали. Этот пример иллюстрирует следующие концепции:
Верификация среды графического процессора.
Приложение исправления вуали модели в Simulink при помощи функций обработки изображений.
Сконфигурируйте модель для генерации кода графического процессора.
Сгенерируйте исполняемый файл CUDA для модели Simulink.
CUDA включил NVIDIA®, графический процессор с вычисляет возможность 3.2 или выше.
NVIDIA инструментарий CUDA и драйвер.
Image Processing Toolbox™.
Переменные окружения для компиляторов и библиотек. Для получения дополнительной информации смотрите Стороннее Оборудование и Подготовку Необходимых как условие продуктов.
Чтобы проверить, что компиляторы и библиотеки, необходимые для выполнения этого примера, настраиваются правильно, используйте coder.checkGpuInstall
функция.
envCfg = coder.gpuEnvConfig('host');
envCfg.BasicCodegen = 1;
envCfg.Quiet = 1;
coder.checkGpuInstall(envCfg);
Модель 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');
В панели Генерации кода выберите Language как C++ и включите, Генерируют код графического процессора.
Генерация Открытого кода> панель графического процессора Кода. В Библиотеках подкатегории включите cuBLAS, cuSOLVER и cuFFT.
Сгенерируйте и создайте модель Simulink на хосте графический процессор при помощи rtwbuild
команда. Генератор кода помещает файлы в папку сборки, подпапку под названием fog_rectification_model_ert_rtw
под вашей текущей рабочей папкой.
status = evalc("rtwbuild('fog_rectification_model')");
Закройте модель Simulink.
close_system('fog_rectification_model');