coder.gpuEnvConfig

Создайте объект строения, содержащий параметры, переданные в coder.checkGpuInstall для выполнения проверок окружения генерации кода GPU

Описание

The coder.gpuEnvConfig объект содержит параметры конфигурации, которые coder.checkGpuInstall используется для проверки окружения генерации кода GPU.

Создание

Описание

gpuEnvObj = coder.gpuEnvConfig создает gpuEnvConfig объект строения для компьютера разработчика хоста.

пример

gpuEnvObj = coder.gpuEnvConfig(hw) создает gpuEnvConfig Строение объект для типа оборудования, заданного в hw. hw может принять значение 'host', 'jetson', или 'drive'. Для типов Jetson и DRIVE требуется MATLAB® Coder™ поддержки для NVIDIA® Джетсон® и платформы DRIVE™ NVIDIA.

Свойства

расширить все

Это поле является набором свойств только для чтения во время создания gpuEnvConfig объект строения. Это поле может принимать значение 'host', 'jetson', или 'drive'. Для типов Jetson и DRIVE требуется пакет MATLAB Coder Support Package для платформ NVIDIA Jetson и NVIDIA DRIVE.

Пример: gpuEnvObj.Hardware

Выберите идентификатор устройства графического процессора, который должен использоваться при проверке окружения. По умолчанию GpuId установлено в 0.

Пример: gpuEnvObj.GpuId = 1;

Если для этого поля задано значение true, выполняется проверка генерации основного кода GPU. Сгенерированный код не выполняется.

Пример: gpuEnvObj.BasicCodegen = true;

Когда для этого поля задано значение true, на выбранном устройстве GPU выполняются основные проверки генерации и выполнения кода GPU.

Пример: gpuEnvObj.BasicCodeexec = true;

Когда для этого поля задано значение true, выполняется проверка генерации кода графического процессора глубокого обучения для целевого объекта библиотеки, указанного в DeepLibTarget свойство. Сгенерированный код не выполняется.

Пример: gpuEnvObj.DeepCodegen = true;

Когда это поле установлено в true, генерация кода GPU глубокого обучения и проверки выполнения выполняются для целевого объекта библиотеки, обозначенного DeepLibTarget свойство на выбранном графическом процессоре.

Пример: gpuEnvObj.DeepCodeexec = true;

В этом поле указывается целевой объект библиотеки, для которого выполняются проверки генерации кода глубокого обучения и выполнения.

Пример: gpuEnvObj.DeepLibTarget = 'cudnn';

В этом поле проверяется, соответствует ли вычислительная способность выбранного графического процессора минимальной вычислительной способности, необходимой для выбранной точности данных TensorRT.

Пример: gpuEnvObj.DataType = 'fp32';

Когда для этого поля задано значение true, в текущей рабочей папке генерируется HTML о результатах. Текущая рабочая папка должна быть включена для записи.

Пример: gpuEnvObj.GenReport = true;

Когда для этого поля задано значение true, выход, напечатанный в командной строке, подавляется.

Пример: gpuEnvObj.Quiet = true;

Проверьте правильность установки библиотеки NVTX на хост-компьютере. Эта библиотека используется для профилирования.

Пример: gpuEnvObj.Profiling = true;

Это поле содержит путь к CUDA® библиотеки на узле. Значение по умолчанию основано на текущей nvcc местоположение, найденное в ОС Linux и переменного окружения «CUDA_PATH» в ОС Windows. Можно также изменить это значение, выбрав другое местоположение.

Пример: gpuEnvObj.CudaPath = '/usr/local/cuda';

Это поле содержит путь к библиотекам cuDNN на узле. Значение по умолчанию основано на переменной окружения «NVIDIA_CUDNN», если она задана. Можно также изменить это значение, чтобы выбрать другое место.

Пример: gpuEnvObj.CudnnPath = '/usr/local/cuda/cudnn';

Это поле содержит путь к библиотекам TensorRT на узле. Значение по умолчанию основано на переменной окружения «NVIDIA_TENSORRT», если она задана. Можно также изменить это значение, чтобы выбрать другое место.

Пример: gpuEnvObj.TensorrtPath = '/usr/local/cuda/tensorrt';

Это поле содержит путь к библиотекам NVTX на узле. Значение по умолчанию основано на переменной окружения «NVTOOLSEXT_PATH» в ОС Windows, если задано. В Linux он получается из «LD_LIBRARY_PATH.» Можно также изменить это значение, чтобы выбрать другое место.

Пример: gpuEnvObj.NvtxPath = '/usr/local/cuda/';

Это поле принимает объект оборудования «jetson» или «drive». Перед выполнением проверки окружения на плате необходимо установить это поле (для jetson/drive).

Пример: gpuEnvObj.Hardware = jetsonHwObj;

Задайте время в секундах, которое программа ожидает перед валидацией тестов выполнения на целевом компьютере.

Пример: gpuEnvObj.ExecTimeout = 25;

Примеры

свернуть все

В этом примере показано, как проверить, что ваш компьютер разработчика имеет все инструменты и строение, необходимые для генерации кода GPU.

Создайте coder.gpuEnvConfig объект, который можно передать в coder.checkGpuInstall функция.

В Командном Окне 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
Введенный в R2019a