Сгенерируйте узел CUDA ROS от Simulink

Сконфигурируйте Simulink® Coder™, чтобы сгенерировать и создать узел CUDA® ROS из модели Simulink. Вы конфигурируете модель, чтобы симулировать и сгенерировать код CUDA для узла ROS. Вы затем развертываете узел CUDA ROS в цели локального или удаленного устройства.

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

  • Установите и настройте эти продукты MathWorks® и пакеты поддержки: (требуемый) Simulink Coder, (рекомендуемый) Embedded Coder®, GPU Coder™ (требуемый), и Интерфейс GPU Coder для Библиотек Глубокого обучения (требуемый для глубокого обучения).

  • Можно также установить MATLAB® Coder™ Support Package для NVIDIA® Jetson™ и NVIDIA Платформы Drive™ (требуемый для аппаратной связи NVIDIA).

  • Компьютер разработчика с CUDA-поддерживающим NVIDIA графический процессор.

  • Ваше целевое устройство может быть локальным хостом - компьютером с CUDA-поддерживающим NVIDIA графический процессор или удаленное устройство, такое как плата Джетсона NVIDIA.

  • Чтобы использовать GPU Coder для генерации кода CUDA, необходимо установить графический драйвер NVIDIA, инструментарий CUDA, cuDNN библиотека и библиотека TensorRT. Для получения дополнительной информации смотрите Устанавливающие Необходимые как условие продукты.

  • Чтобы настроить переменные окружения, смотрите Подготовку Необходимых как условие продуктов.

  • Чтобы убедиться вы имеете необходимое стороннее программное обеспечение, видите Системные требования ROS.

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

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

В командном окне MATLAB, введите:

gpuEnvObj = coder.gpuEnvConfig;
gpuEnvObj.BasicCodegen = 1;
gpuEnvObj.BasicCodeexec = 1;
gpuEnvObj.DeepLibTarget = "tensorrt";
gpuEnvObj.DeepCodeexec = 1;
gpuEnvObj.DeepCodegen = 1;
results = coder.checkGpuInstall(gpuEnvObj)

Этот выход является представительным. Ваши результаты могут отличаться.

Compatible GPU           : PASSED 
CUDA Environment         : PASSED 
	Runtime   : PASSED 
	cuFFT     : PASSED 
	cuSOLVER  : PASSED 
	cuBLAS    : PASSED 
cuDNN Environment        : PASSED 
TensorRT Environment     : PASSED 
Basic Code Generation    : PASSED 
Basic Code Execution     : PASSED 
Deep Learning (TensorRT) Code Generation: PASSED 
Deep Learning (TensorRT) Code Execution: PASSED 

results = 

  struct with fields:

                 gpu: 1
                cuda: 1
               cudnn: 1
            tensorrt: 1
        basiccodegen: 1
       basiccodeexec: 1
         deepcodegen: 1
        deepcodeexec: 1
    tensorrtdatatype: 1
           profiling: 0

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

Сконфигурируйте модель, чтобы сгенерировать Узел CUDA ROS.

  • Откройте модель Simulink, которую вы хотите сконфигурировать для генерации кода графического процессора.

  • От вкладки Simulation, в разделе Prepare, расширяют галерею и, под Configuration & Simulation, выбирают Model Settings.

  • От левой панели диалогового окна Configuration Parameters выберите узел Аппаратной реализации. Установите Аппаратный Совет на Robot Operating System (ROS) и задайте Поставщика Устройства и Тип устройства для вашего оборудования. Расширьте детали Устройства и проверьте, что Поддержка долго долго выбирается.

  • В Целевом узле Симуляции выберите ускорение GPU. Если ваша модель имеет блоки глубокого обучения, то, при Глубоком обучении, выбирают соответствующую библиотеку Target.

  • Выберите узел Генерации кода. При Целевом выборе, Языке набора к C++, и выберите код Generate GPU.

  • Если ваша модель имеет блоки глубокого обучения, расширьте узел Генерации кода и выберите Интерфейсный узел. Затем под в Глубоком обучении выбирают соответствующее значение для библиотеки Target.

  • Выберите узел графического процессора Кода и, под Библиотеками, включите cuBLAS, cuSOLVER, и cuFFT.

Генерация кода и развертывание

Чтобы сгенерировать и развернуть узел CUDA ROS в устройство ROS, выполните шаги в Том, чтобы генерировать Автономный Узел ROS из примера Simulink®.

Ограничения

  • Модель - ссылка не поддерживается.

  • Путь к папке сборки не может содержать пробелы.

Похожие темы