Чтобы ускорить код, сначала попробуйте профилировать и векторизировать его. Для получения дополнительной информации смотрите Производительность и Память. После профилирования и векторизации можно также попробовать использовать графический процессор компьютера, чтобы ускорить вычисления. Если все функции, которые вы хотите использовать, поддерживаются на графическом процессоре, можно просто использовать gpuArray
для передачи входных данных в графический процессор и вызова gather
для извлечения данных выходов из графического процессора. Для начала работы с вычислениями на графическом процессоре смотрите Запуск функций MATLAB на графическом процессоре.
Для глубокого обучения, MATLAB® обеспечивает автоматическую параллельную поддержку нескольких графических процессоров. Смотрите Глубокое Обучение с MATLAB на нескольких графических процессорах (Deep Learning Toolbox).
Запуск функций MATLAB на графическом процессоре
Сотни функций в MATLAB и других тулбоксах запускаются автоматически на графическом процессоре, если вы поставляете gpuArray
аргумент.
Идентифицируйте и выберите устройство GPU
В этом примере показано, как использовать gpuDevice
чтобы идентифицировать и выбрать устройство, которое вы хотите использовать.
Поддержка графический процессор по релизу
Поддержка NVIDIA® Графический процессор, архитектуры MATLAB релиза.
Создание массивов на графическом процессоре
A gpuArray
в MATLAB представляет массив, который хранится на графическом процессоре.
Использование FFT2 на графическом процессоре для моделирования дифракционных шаблонов
Этот пример использует Parallel Computing Toolbox™, чтобы выполнить двумерное Быстрое Преобразование Фурье (FFT) на графическом процессоре.
Запуск функций MATLAB на нескольких графических процессорах
В этом примере показано, как запустить код MATLAB на нескольких графических процессорах параллельно, сначала на локальной машине, затем масштабировать до кластера.
Обучите сеть с помощью автоматической поддержки мультиграфических процессоров
В этом примере показано, как использовать несколько графических процессоров на локальной машине для глубокого обучения с помощью автоматической параллельной поддержки.
Повышение эффективности поэлементных функций MATLAB ® на графическом процессоре с помощью ARRAYFUN
Этот пример показывает, как arrayfun
может использоваться для запуска функции MATLAB ® на графическом процессоре .
Повышение эффективности малых матричных задач на графическом процессоре с помощью PAGEFUN
В этом примере показано, как использовать pagefun
улучшить эффективность применения большого количества независимых вращений и перемещений к объектам в 3-D окружении.
Измерение и повышение эффективности графического процессора
Используйте тесты бенчмарка в MATLAB, чтобы измерить эффективность вашего графического процессора.
Сравнение A\b на графическом процессоре
В этом примере рассматривается, как мы можем сравнить решение линейной системы на графическом процессоре.
Профилируйте свой код, чтобы улучшить эффективность
Используйте профилировщик, чтобы измерить время, необходимое для запуска кода и определить, какие строки кода потребляют больше всего времени или какие линии не выполняются.
Пересмотрите код, основанный на цикле, скалярно-ориентированный, чтобы использовать матрицу MATLAB и векторные операции.
Потоки случайных чисел на графическом процессоре
Управляйте потоками случайных чисел на графическом процессоре, чтобы сгенерировать те же последовательности случайных чисел, что и на центральном процессоре.
Генерация случайных чисел на графическом процессоре
В этом примере показано, как переключаться между различными генераторами случайных чисел, которые поддерживаются на графическом процессоре.
Операции трафарета на графическом процессоре
Этот пример использует «Игру жизни» Конвея, чтобы продемонстрировать, как операции трафарета могут выполняться с помощью графический процессор.