Подготовка необходимых как условие продуктов

Чтобы использовать GPU Coder™ для генерации кода CUDA® C/C ++, установите продукты, заданные в Установке Необходимых как условие продуктов.

Setup MEX

При генерации MEX CUDA с GPU Coder генератор кода использует компилятор NVIDIA® и библиотеки, включенные с MATLAB®. В зависимости от операционной системы на вашем компьютере разработчика только необходимо настроить генератор кода MEX.

Windows Systems

Если у вас есть несколько версий компиляторов Microsoft® Visual Studio® для языка C/C++, установленного в вашей системе Windows®, MATLAB выбирает тот как компилятор по умолчанию. Если выбранный компилятор не совместим с версией, поддержанной GPU Coder, измените выбор. Для поддерживаемых версий Microsoft Visual Studio смотрите Устанавливающие Необходимые как условие продукты.

Чтобы изменить компилятор по умолчанию, используйте mex -setup C++ команда. Когда вы вызываете mex -setup C++, MATLAB отображает сообщение со ссылками, чтобы настроить различный компилятор. Выберите ссылку и измените компилятор по умолчанию для создания файлов MEX. Компилятор, который вы выбираете, остается значение по умолчанию, пока вы не вызываете mex -setup C++ выбрать различное значение по умолчанию. Для получения дополнительной информации см. Компилятор Значения по умолчанию Изменения. mex -setup C++ команда изменяет только языковой компилятор C++. Необходимо также изменить компилятор по умолчанию для C при помощи mex -setup C.

Платформа Linux

MATLAB и инструментарий CUDA поддерживают только GCC/G ++ компилятор для языка C/C++ на платформах Linux®. Для поддерживаемого GCC/G ++ версии, смотрите Устанавливающие Необходимые как условие продукты.

Переменные окружения

Автономный код (статическая библиотека, динамически подключаемая библиотека или исполняемая программа) генерация имеет дополнительный набор требования. GPU Coder использует переменные окружения, чтобы определить местоположение необходимых инструментов, компиляторов и библиотек, требуемых для генерации кода.

Примечание

На Windows пробел или специальный символ в пути к инструментам, компиляторам и библиотекам могут создать проблемы во время процесса сборки. Необходимо установить стороннее программное обеспечение в местоположениях, которое не содержит пробелы или изменяет настройки Windows, чтобы включить создание кратких названий для файлов, папок и путей. Для получения дополнительной информации смотрите Используя решение для кратких названий Windows в MATLAB Answers.

ПлатформаИмя переменнойОписание
WindowsCUDA_PATH

Путь к установке инструментария CUDA.

Например:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\

NVIDIA_CUDNN

Путь к корневой папке cuDNN установки. Корневая папка содержит интервал, включайте, и подпапки lib.

Например:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\cuDNN\

NVIDIA_TENSORRT

Путь к корневой папке установки TensorRT. Корневая папка содержит интервал, данные, включайте, и подпапки lib.

Например:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\TensorRT\

OPENCV_DIR

Путь к папке сборки OpenCV на хосте. Эта переменная требуется для создания и выполнения примеров глубокого обучения.

Например:

C:\Program Files\opencv\build

PATH

Путь к исполняемым файлам CUDA. Обычно инсталлятор инструментария CUDA устанавливает это значение автоматически.

Например:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin

Путь к cudnn.dll динамическая библиотека. Имя этой библиотеки может отличаться на вашей установке.

Например:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\cuDNN\bin

Путь к nvinfer* динамические библиотеки TensorRT. Имя этой библиотеки может отличаться на вашей установке.

Например:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\TensorRT\lib

Путь к Динамически подключаемым библиотекам (DLL) OpenCV. Эта переменная требуется для рабочих примеров глубокого обучения.

Например:

C:\Program Files\opencv\build\x64\vc15\bin

LinuxPATH

Путь к исполняемому файлу инструментария CUDA.

Например:

/usr/local/cuda-10.0/bin

Путь к библиотекам OpenCV. Эта переменная требуется для создания и выполнения примеров глубокого обучения.

Например:

/usr/local/lib/

Путь к заголовочным файлам OpenCV. Эта переменная требуется для создания примеров глубокого обучения.

Например:

/usr/local/include/opencv

LD_LIBRARY_PATH

Путь к папке библиотеки CUDA.

Например:

/usr/local/cuda-10.0/lib64

Путь к cuDNN папке библиотеки.

Например:

/usr/local/cuDNN/lib64/

Путь к папке библиотеки TensorRT™.

Например:

/usr/local/TensorRT/lib/

Путь к папке Library ARM® Compute на целевом компьютере.

Например:

/usr/local/arm_compute/lib/

Установите LD_LIBRARY_PATH на целевом компьютере ARM.

NVIDIA_CUDNN

Путь к корневой папке cuDNN установки библиотеки.

Например:

/usr/local/cuDNN/

NVIDIA_TENSORRT

Путь к корневой папке установки библиотеки TensorRT.

Например:

/usr/local/TensorRT/

ARM_COMPUTELIB

Путь к корневой папке ARM Вычисляет установку Библиотеки на целевом компьютере ARM. Установите это значение на целевом компьютере ARM.

Например:

/usr/local/arm_compute

Проверьте Setup

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

Можно также использовать эквивалентное основанное на графический интерфейсе пользователя приложение, которое выполняет те же проверки и может быть запущено с помощью команды, Check GPU Install.

В командном окне 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

Смотрите также

Приложения

Функции

Объекты

Похожие темы