Как использовать ваш графический процессор с MATLAB®необходимо установить недавний графический драйвер. Лучшая практика состоит в том, чтобы убедиться, что у вас есть последний драйвер для вашего устройства. Установка драйвера достаточна для большинства применений графические процессоры в MATLAB, включая gpuArray
и функции MATLAB с поддержкой GPU. Загрузить последние драйверы для графического процессора можно на странице загрузки драйверов NVIDIA.
Чтобы увидеть поддержку NVIDIA® Архитектуры графического процессора по версии MATLAB смотрите в следующей таблице.
Номера cc показывают вычислительные возможности архитектуры графический процессор. Чтобы проверить вычислительные возможности графический процессор, смотрите ComputeCapability
в выходах gpuDevice
функция. Кроме того, см. графические процессоры CUDA (NVIDIA).
MATLAB- Релиза | Ампер (cc8.x) | Тьюринг (cc7.5) | Вольта (cc7.0, cc7.2) | Паскаль (cc6.x) | Максвелл (cc5.x) | Kepler (cc3.5, cc3.7) | Kepler (cc3.0, cc3.2) | Ферми (cc2.x) | Тесла (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 |
- Встроенная двоичная поддержка.
- Поддержка архитектуры графического процессора Kepler и Maxwell будет удалена в следующем релизе. В то время для использования графический процессор с MATLAB потребуется графический процессор с вычислительными возможностями 6.0 или выше. MATLAB генерирует предупреждение при первом использовании графического процессора Kepler или Maxwell.
- Поддерживается посредством прямой совместимости. Оптимизированные библиотеки устройств должны быть скомпилированы во время выполнения из неоптимизированной версии. Поддержка может быть ограничена, и вы можете увидеть ошибки и неожиданное поведение. Для получения дополнительной информации см. раздел «Прямая совместимость для устройств GPU».
- По умолчанию эта архитектура не поддерживается. Поддержку можно включить, включив прямую совместимость для устройств GPU. Вы можете увидеть ошибки и неожиданное поведение. Для получения дополнительной информации см. раздел «Прямая совместимость для устройств GPU».
Если вы хотите сгенерировать объекты ядра CUDA из кода CU или скомпилировать совместимый с CUDA исходный код, библиотеки и исполняемые файлы с помощью GPU Coder™, необходимо установить CUDA Toolkit. CUDA Toolkit содержит библиотеки CUDA и инструменты для компиляции. Вам не нужен набор инструментов для запуска функций MATLAB на графическом процессоре или для генерации MEX-функций с поддержкой CUDA.
Задача | Требования |
---|---|
Получите последнюю версию графического драйвера при загрузке драйверов NVIDIA. Вам также не нужен CUDA Toolkit. | |
| Установите версию набора инструментов CUDA, поддерживаемую вашим релизом MATLAB. |
* Чтобы создать объекты ядра CUDA в MATLAB, необходимо иметь файл CU и соответствующий файл PTX. Для компиляции файла PTX из файла CU требуется набор инструментальных средств CUDA. Если у вас уже есть соответствующий файл PTX, вам не нужен набор инструментальных средств.
Для получения дополнительной информации о генерации кода CUDA в MATLAB, смотрите Запуск MEX-функций, содержащих код CUDA, и Запуск кода CUDA или PTX на графическом процессоре. В MATLAB поддерживаются не все компиляторы, поддерживаемые CUDA Toolkit.
Необходимая вам версия тулкита зависит от используемой версии MATLAB. Проверьте, какая версия набора инструментальных средств совместима с вашей версией MATLAB в таблице Поддерживаемые графические процессоры. Рекомендуется лучшей практике использовать последнюю версию поддерживаемого набора инструментальных средств, включая любые обновления и закрашенные фигуры от NVIDIA.
Для получения дополнительной информации о наборе инструментальных средств CUDA и загрузке поддерживаемой версии смотрите архив инструментальных средств CUDA (NVIDIA).
Примечание
Начиная с R2020b, прямая совместимость для устройств GPU по умолчанию отключена.
В R2020a и более ранних релизах нельзя отключать прямую совместимость для графических процессоров.
Прямая совместимость позволяет использовать графический процессор с архитектурой, которая была выпущена после создания вашей версии MATLAB, путем перекомпиляции библиотек устройств во время выполнения.
При включении прямой совместимости драйвер CUDA повторно компилирует библиотеки GPU при первом доступе к устройству с более новой архитектурой, чем ваша версия MATLAB. Перекомпиляция может занять до часа. Увеличьте размер кэша CUDA, чтобы предотвратить повторение этой задержки. Инструкции см. в разделе Увеличение размера кэша CUDA.
Когда прямая совместимость отключена, вы не можете выполнять расчеты с помощью графического процессора с архитектурой, которая была выпущена после создания версии MATLAB, которую вы используете. Если необходимо использовать это устройство графического процессора в MATLAB, необходимо включить совместимость.
Внимание
Включение прямой совместимости может привести к неправильным ответам и неожиданному поведению во время расчетов графический процессор.
Степень успешности перекомпиляции библиотек устройств может варьироваться в зависимости от архитектуры устройства и версии CUDA, используемой MATLAB. В некоторых случаях прямая совместимость не работает должным образом, и перекомпиляция библиотек приводит к ошибкам.
Например, прямая совместимость с CUDA версии 10.0-10.2 (версии MATLAB R2019a, R2019b, R2020a и R2020b) в Ampere (вычислительные возможности 8.x) имеет только ограниченные функциональные возможности.
Можно включить прямую совместимость для графических процессоров с помощью следующих методов.
Используйте функцию parallel.gpu.enableCUDAForwardCompatibility
. Включение прямой совместимости с использованием этого метода не является постоянным между сеансами работы с MATLAB.
Установите переменную окружения MW_CUDA_FORWARD_COMPATIBILITY
на 1
. Это может сохранить прямую совместимость между сеансами работы с MATLAB. Если вы изменяете переменную окружения во время работы MATLAB, необходимо перезапустить MATLAB, чтобы увидеть эффект. На клиенте можно использовать setenv
для установки переменных окружения. Затем можно скопировать переменные окружения из клиента в рабочие, чтобы работники выполняли расчеты так же, как и клиент. Для получения дополнительной информации используйте команду Задать переменные среды для работников.
Если архитектура графического процессора не имеет встроенной двоичной поддержки в релизе MATLAB, графический драйвер должен скомпилировать и кэшировать библиотеки графического процессора. Этот процесс может занять до часа при первом доступе к графическому процессору из MATLAB. Чтобы увеличить размер кэша CUDA, чтобы предотвратить повторение этой задержки, установите переменную окружения CUDA_CACHE_MAXSIZE
до минимума 536870912
(512 МБ). На клиенте можно использовать setenv
для установки переменных окружения. Затем можно скопировать переменные окружения из клиента в рабочие, чтобы работники выполняли расчеты так же, как и клиент. Для получения дополнительной информации используйте команду Задать переменные среды для работников.