exponenta event banner

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

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

Настройка MEX

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

Системы Windows

Если в системе Windows ® установлено несколько версий компиляторов Microsoft ® Visual Studio ® для языка C/C + +, MATLAB выбирает один из них в качестве компилятора по умолчанию. Если выбранный компилятор несовместим с версией, поддерживаемой кодером графического процессора, измените выбор. Для получения информации о поддерживаемых версиях 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. Корневая папка содержит вложенные папки 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 ® Compute 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 на целевом оборудовании ARM. Установите это значение на целевом оборудовании ARM.

Например:

/usr/local/arm_compute

Проверка настройки

Чтобы убедиться, что компьютер разработчика имеет все средства и конфигурацию, необходимые для создания кода графического процессора, используйте 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

См. также

Приложения

Функции

Объекты

Связанные темы