Настройка необходимых продуктов

Как использовать GPU Coder™ для CUDA® Генерации кода установите продукты, указанные в разделе Установка обязательных продуктов.

Setup MEX

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

Системы Windows

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

Чтобы изменить компилятор по умолчанию, используйте mex -setup C++ команда. Когда вы звоните mex -setup C++MATLAB отображает сообщение со ссылками для настройки другого компилятора. Выберите ссылку и измените компилятор по умолчанию для создания файлов MEX. Выбранный компилятор остается по умолчанию до вызова mex -setup C++ для выбора другого значения по умолчанию. Дополнительные сведения см. в разделе Изменение компилятора по умолчанию. The 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. Корневая папка содержит подпапки bin, include и lib.

Для примера:

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

NVIDIA_TENSORRT

Путь к корневой папке установки TensorRT. Корневая папка содержит вложенные папки bin, data, include и 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/

Путь к ARM® Вычислите папку Library на целевом компьютере.

Для примера:

/usr/local/arm_compute/lib/

Задайте LD_LIBRARY_PATH на целевой компьютер ARM.

NVIDIA_CUDNN

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

Для примера:

/usr/local/cuDNN/

NVIDIA_TENSORRT

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

Для примера:

/usr/local/TensorRT/

ARM_COMPUTELIB

Путь к корневой папке установки ARM Compute Library на целевом компьютере ARM. Установите это значение на целевом компьютере ARM.

Для примера:

/usr/local/arm_compute

Проверьте Setup

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

Можно также использовать эквивалентное приложение на основе GUI, которое выполняет те же проверки и может быть запущено с помощью команды, 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

См. также

Приложения

Функции

Объекты

Похожие темы