Поддержка графического процессора релизом

Использовать ваш графический процессор с MATLAB®, необходимо установить недавний графический драйвер. Лучшая практика должна гарантировать, что у вас есть последний драйвер для вашего устройства. Установка драйвера достаточна для большей части использования графических процессоров в MATLAB, включая gpuArray и поддерживающие графический процессор функции MATLAB. Можно загрузить последние драйверы для устройства графического процессора при Загрузках Драйвера NVIDIA.

Поддерживаемые графические процессоры

Видеть поддержку NVIDIA® Архитектуры графического процессора релизом MATLAB, консультируйтесь со следующей таблицей.

cc числа показывают вычислить возможность архитектуры графического процессора. Чтобы проверять ваш графический процессор, вычислите возможность, смотрите ComputeCapability свойство в выходе gpuDeviceTable и gpuDevice функции. В качестве альтернативы см. графические процессоры CUDA (NVIDIA).

Релиз MATLABАмпер (cc8.x)Тьюринг (cc7.5)Вольта (cc7.0, cc7.2)Паскаль (cc6.x)Максвелл (cc5.x)Кеплер (cc3.5, cc3.7)Кеплер (cc3.0, cc3.2)Ферми (cc2.x)Tesla (cc1.3)CUDA® Версия инструментария
R2021a

   11.0
R2020b

  10.2
R2020a

  10.1
R2019b

  10.1
R2019a

  10.0
R2018b

  9.1
R2018a

  9.0
R2017b

 8.0
R2017a

 8.0
R2016b

 7.5
R2016a

 7.5
R2015b

 7.0
R2015a

 6.5
R2014b

 6.0
R2014a

5.5
R2013b

5.0
R2013a

5.0
R2012b

4.2
R2012a

4.0
R2011b

4.0

  • – Встроенная бинарная поддержка.

  • – Поддержка Кеплера и Максвелла архитектуры графического процессора будет удалена в будущем релизе. В то время использование графического процессора с MATLAB потребует, чтобы устройство графического процессора с вычислило возможность 6.0 или больше. MATLAB генерирует предупреждение в первый раз, когда вы используете Кеплера или Максвелла графический процессор.

  • – Поддерживаемый через прямую совместимость. Оптимизированные библиотеки устройства должны быть скомпилированы во времени выполнения от неоптимизированной версии. Поддержка может быть ограничена, и вы можете видеть ошибки и неожиданное поведение. Для получения дополнительной информации смотрите Прямую совместимость для Устройств графического процессора.

  • – По умолчанию эта архитектура не поддерживается. Можно включить поддержку путем включения прямой совместимости для устройств графического процессора. Вы можете видеть ошибки и неожиданное поведение. Для получения дополнительной информации смотрите Прямую совместимость для Устройств графического процессора.

Инструментарий CUDA

Если вы хотите сгенерировать объекты ядра CUDA из кода CU или использовать GPU Coder™, чтобы скомпилировать совместимый исходный код CUDA, библиотеки и исполняемые файлы, необходимо установить Инструментарий CUDA. Инструментарий CUDA содержит библиотеки CUDA и инструменты для компиляции. Вам не нужен инструментарий, чтобы запустить функции MATLAB на графическом процессоре, или сгенерировать CUDA включило MEX-функции.

ЗадачаТребования
  • Использование gpuArray и поддерживающие графический процессор функции MATLAB.

  • Скомпилируйте включенные MEX-функции CUDA с помощью GPU Coder или mexcuda.

Получите последний графический драйвер при Загрузках Драйвера NVIDIA.

Вам не нужен Инструментарий CUDA также.

  • Создайте объекты ядра CUDA из кода CU.*

  • Скомпилируйте совместимый исходный код CUDA, библиотеки и исполняемые файлы с помощью GPU Coder.

Установите версию Инструментария CUDA, поддержанного вашим релизом MATLAB.

*, Чтобы создать объекты ядра CUDA в MATLAB, у вас должны быть и файл CU и соответствующий файл PTX. Компиляция файла PTX из файла CU требует инструментария CUDA. Если у вас уже есть соответствующий файл PTX, вам не нужен инструментарий.

Для получения дополнительной информации о генерации кода CUDA в MATLAB, смотрите, что MEX-функции Запуска Содержат Код CUDA и Запуск CUDA или Код PTX по графическому процессору. Не все компиляторы, поддержанные Инструментарием CUDA, поддерживаются в MATLAB.

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

Для получения дополнительной информации об Инструментарии CUDA и загружать вашу поддерживаемую версию, см. Архив Инструментария CUDA (NVIDIA).

Прямая совместимость для устройств графического процессора

Примечание

Начиная в R2020b, прямая совместимость для устройств графического процессора отключена по умолчанию.

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

Прямая совместимость позволяет вам использовать устройство графического процессора с архитектурой, которая была выпущена после того, как ваша версия MATLAB была создана путем рекомпиляции библиотек устройства во времени выполнения.

Когда прямая совместимость включена, драйвер CUDA перекомпилировал библиотеки GPU в первый раз, когда вы получаете доступ к устройству с архитектурой, более новой, чем ваша версия MATLAB. Перекомпиляция может занять до часа. Увеличьте размер кэша CUDA, чтобы предотвратить повторение этой задержки. Для инструкций смотрите Увеличение Размер кэша CUDA.

Когда прямая совместимость отключена, вы не можете выполнить расчеты с помощью устройства графического процессора с архитектурой, которая была выпущена после того, как версия MATLAB, который вы используете, была создана. Необходимо включить прямую совместимость, если вы хотите использовать это устройство графического процессора в MATLAB.

Внимание

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

Уровень успеха перекомпиляции библиотек устройства может варьироваться в зависимости от архитектуры устройства и версии CUDA, используемой MATLAB. В некоторых случаях прямая совместимость не работает как ожидалось и перекомпиляция результатов библиотек по ошибкам.

Например, прямая совместимость от версии 10.0-10.2 CUDA (версии R2019a, R2019b, R2020a MATLAB и R2020b) Амперу (вычисляют возможность 8.x) имеет только ограниченную функциональность.

Можно включить прямую совместимость для устройств графического процессора с помощью следующих методов.

  • Используйте функцию parallel.gpu.enableCUDAForwardCompatibility. Включение прямой совместимости с помощью этого метода не является персистентным между сеансами работы с MATLAB.

  • Установите переменную окружения MW_CUDA_FORWARD_COMPATIBILITY к 1. Это может сохранить прямую совместимость между сеансами работы с MATLAB. Если вы изменяете переменную окружения, в то время как MATLAB запускается, необходимо перезапустить MATLAB, чтобы видеть эффект. На клиенте можно использовать setenv установить переменные окружения. Можно затем скопировать переменные окружения от клиента рабочим так, чтобы рабочие выполнили расчеты таким же образом как клиент. Для получения дополнительной информации используйте Переменные окружения Набора на Рабочих.

Увеличьте размер кэша CUDA

Если ваша архитектура графического процессора не имеет встроенной бинарной поддержки в вашем релизе MATLAB, графический драйвер должен скомпилировать и кэшировать библиотеки GPU. Этот процесс может занять до часа в первый раз, когда вы получаете доступ к графическому процессору из MATLAB. Чтобы увеличить размер кэша CUDA, чтобы предотвратить повторение этой задержки, установите переменную окружения CUDA_CACHE_MAXSIZE к минимуму 536870912 (512 Мбайт). На клиенте можно использовать setenv установить переменные окружения. Можно затем скопировать переменные окружения от клиента рабочим так, чтобы рабочие выполнили расчеты таким же образом как клиент. Для получения дополнительной информации используйте Переменные окружения Набора на Рабочих.

Похожие темы

Внешние веб-сайты