Для использования графического процессора с MATLAB ® необходимо установить последний графический драйвер. Рекомендуется убедиться, что у вас есть новейший драйвер для вашего устройства. Установка драйвера достаточна для большинства применений графических процессоров в MATLAB, включаяgpuArray и функции MATLAB с поддержкой GPU. Последние версии драйверов для графического процессора можно загрузить на странице загрузки драйверов NVIDIA.
Для получения информации о поддержке архитектур графического процессора NVIDIA ® в версии MATLAB см. следующую таблицу.
Номера cc показывают вычислительные возможности архитектуры GPU. Сведения о проверке вычислительных возможностей графического процессора см. в разделе ComputeCapability в выходных данных gpuDevice функция. В качестве альтернативы см. графические процессоры CUDA (NVIDIA).
| Выпуск MATLAB | Ампер (cc8.x) | Тьюринг (cc7.5) | Вольта (cc7.0, cc7.2) | Паскаль (cc6.x) | Максвелл (cc5.x) | Кеплер (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 GPU будет удалена в следующем выпуске. В то время для использования графического процессора с MATLAB потребуется устройство графического процессора с вычислительной способностью 6.0 или выше. MATLAB генерирует предупреждение при первом использовании графического процессора Kepler или Maxwell.
- Поддерживается посредством прямой совместимости. Оптимизированные библиотеки устройств должны компилироваться во время выполнения из неоптимизированной версии. Поддержка может быть ограничена, и вы можете видеть ошибки и неожиданное поведение. Дополнительные сведения см. в разделе Прямая совместимость для устройств графического процессора.
- По умолчанию эта архитектура не поддерживается. Поддержку можно включить, включив прямую совместимость для устройств графического процессора. Вы можете видеть ошибки и неожиданное поведение. Дополнительные сведения см. в разделе Прямая совместимость для устройств графического процессора.
Если требуется создать объекты ядра CUDA из кода CU или скомпилировать исходный код, библиотеки и исполняемые файлы, совместимые с CUDA, используя Coder™ GPU, необходимо установить CUDA Toolkit. Набор инструментов CUDA содержит библиотеки CUDA и инструменты для компиляции. Набор инструментов не требуется для выполнения функций MATLAB на графическом процессоре или для создания функций MEX с поддержкой CUDA.
| Задача | Требования |
|---|---|
Получите последнюю версию драйвера графической системы на сайте NVIDIA Driver Downloads. Набор инструментов CUDA также не нужен. | |
| Установите версию CUDA Toolkit, поддерживаемую вашей версией MATLAB. |
* Для создания объектов ядра CUDA в MATLAB необходимо иметь как файл CU, так и соответствующий файл PTX. Для компиляции файла PTX из файла CU требуется набор средств CUDA. Если у вас уже есть соответствующий PTX-файл, вам не нужен набор инструментов.
Дополнительные сведения о создании кода CUDA в MATLAB см. в разделах Запуск MEX-функций, содержащих код CUDA, и Запуск кода CUDA или PTX на GPU. Не все компиляторы, поддерживаемые набором инструментов CUDA, поддерживаются в MATLAB.
Необходимая версия набора инструментов зависит от используемой версии MATLAB. Проверьте, какая версия набора инструментов совместима с версией MATLAB в таблице поддерживаемых графических процессоров. Рекомендуется использовать последнюю версию поддерживаемого набора инструментов, включая обновления и исправления от NVIDIA.
Дополнительные сведения о CUDA Toolkit и о загрузке поддерживаемой версии см. в разделе Архив CUDA Toolkit (NVIDIA).
Примечание
Начиная с R2020b, прямая совместимость для устройств графического процессора по умолчанию отключена.
В R2020a и более ранних выпусках нельзя отключить прямую совместимость для устройств графического процессора.
Прямая совместимость позволяет использовать GPU-устройство с архитектурой, которая была выпущена после того, как была построена ваша версия 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 для установки переменных среды. Затем можно скопировать переменные среды из клиента в работники, чтобы работники выполняли вычисления так же, как и клиент. Дополнительные сведения см. в разделе Задать переменные среды для работников.