Как использовать GPU Coder™ для CUDA® Генерации кода установите продукты, указанные в разделе Установка обязательных продуктов.
При генерации CUDA MEX с GPU Coder генератор кода использует NVIDIA® компилятор и библиотеки, включенные в MATLAB®. В зависимости от операционной системы на вашем компьютере разработчика, вам нужно только настроить генератор кода MEX.
Если у вас есть несколько версий 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
.
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® Вычислите папку Library на целевом компьютере. Для примера:
Задайте | ||
NVIDIA_CUDNN | Путь к корневой папке установки библиотеки cuDNN. Для примера:
| |
NVIDIA_TENSORRT | Путь к корневой папке установки библиотеки TensorRT. Для примера:
| |
ARM_COMPUTELIB | Путь к корневой папке установки ARM Compute Library на целевом компьютере ARM. Установите это значение на целевом компьютере ARM. Для примера:
|
Чтобы убедиться, что ваш компьютер разработчика имеет все инструменты и строение, необходимые для генерации кода 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