Чтобы использовать Coder™ графического процессора для создания кода CUDA ®, установите продукты, указанные в разделе Установка необходимых продуктов.
При генерации CUDA MEX с помощью GPU Coder генератор кода использует компилятор NVIDIA ® и библиотеки, входящие в состав MATLAB ®. В зависимости от операционной системы на компьютере разработчика необходимо настроить только генератор кода MEX.
Если в системе 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.
MATLAB и инструментарий CUDA поддерживают только компилятор GCC/G + + для языка C/C + + на платформах Linux ®. Для получения информации о поддерживаемых версиях GCC/G + + см. раздел Установка необходимых продуктов.
Создание автономного кода (статической библиотеки, динамически связанной библиотеки или исполняемой программы) требует дополнительных настроек. GPU Coder использует переменные среды для поиска необходимых инструментов, компиляторов и библиотек, необходимых для создания кода.
Примечание
В Windows пробелы или специальные символы в пути к инструментам, компиляторам и библиотекам могут создавать проблемы в процессе сборки. Необходимо установить стороннее программное обеспечение в расположениях, не содержащих пробелов, или изменить параметры Windows, чтобы разрешить создание коротких имен для файлов, папок и путей. Дополнительные сведения см. в разделе Использование решения для коротких имен Windows в MATLAB Answers.
| Платформа | Имя переменной | Описание |
|---|---|---|
| Windows | CUDA_PATH | Путь к установке набора инструментов CUDA. Например:
|
NVIDIA_CUDNN | Путь к корневой папке установки cuDNN. Корневая папка содержит вложенные папки bin, include и lib. Например:
| |
NVIDIA_TENSORRT | Путь к корневой папке установки TensorRT. Корневая папка содержит вложенные папки bin, data, include и lib. Например:
| |
OPENCV_DIR | Путь к папке сборки OpenCV на хосте. Эта переменная необходима для создания и выполнения глубоких учебных примеров. Например:
| |
PATH | Путь к исполняемым файлам CUDA. Как правило, программа установки набора инструментов CUDA устанавливает это значение автоматически. Например:
| |
Путь к Например:
| ||
Путь к Например:
| ||
Путь к динамическим библиотекам (DLL) OpenCV. Эта переменная необходима для выполнения примеров глубокого обучения. Например:
| ||
| Linux | PATH | Путь к исполняемому файлу набора инструментов CUDA. Например:
|
Путь к библиотекам OpenCV. Эта переменная необходима для создания и выполнения глубоких учебных примеров. Например:
| ||
Путь к файлам заголовка OpenCV. Эта переменная необходима для создания глубоких примеров обучения. Например:
| ||
LD_LIBRARY_PATH | Путь к папке библиотеки CUDA. Например:
| |
Путь к папке библиотеки cuDNN. Например:
| ||
Путь к папке библиотеки TensorRT™. Например:
| ||
Путь к папке ARM ® Compute Library на целевом оборудовании. Например:
Набор | ||
NVIDIA_CUDNN | Путь к корневой папке установки библиотеки cuDNN. Например:
| |
NVIDIA_TENSORRT | Путь к корневой папке установки библиотеки TensorRT. Например:
| |
ARM_COMPUTELIB | Путь к корневой папке установки вычислительной библиотеки ARM на целевом оборудовании ARM. Установите это значение на целевом оборудовании ARM. Например:
|
Чтобы убедиться, что компьютер разработчика имеет все средства и конфигурацию, необходимые для создания кода графического процессора, используйте 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