Параллельные вычисления позволяют вам выполнять много вычислений одновременно. Большие проблемы могут часто разделяться в меньшие единицы, которые затем решены одновременно.
Главные причины рассмотреть параллельные вычисления к
Сэкономьте время распределительными задачами и выполняющий их одновременно
Решите большие задачи данных распределительными данными
Используйте в своих интересах свои ресурсы рабочего компьютера и масштабируйте до кластеров и облачных вычислений
С Parallel Computing Toolbox™ вы можете
Ускорьте свой код с помощью интерактивных инструментов параллельных вычислений, таких как parfor
и parfeval
Увеличьте свой расчет с помощью интерактивных инструментов обработки Больших данных, таких как distributed
высокий
datastore
, и mapreduce
Используйте gpuArray
ускорять ваше вычисление на графическом процессоре вашего компьютера
Используйте batch
разгружать ваше вычисление к средствам облачных вычислений или компьютерным кластерам
Вот некоторые полезные концепции Параллельных вычислений:
Узел: автономный компьютер, содержа один или несколько CPUs / графические процессоры. Узлы объединяются в сеть, чтобы сформировать кластер или суперкомпьютер
Поток: самый маленький набор инструкций, которые могут быть управляемыми независимо планировщиком. На графическом процессоре, многопроцессорной или многожильной системе, несколько потоков могут быть выполнены одновременно (многопоточность)
Пакет: разгрузите выполнение функционального скрипта, чтобы запуститься в фоновом режиме
Масштабируемость: увеличение параллельного ускорения со сложением большего количества ресурсов
Что предлагают инструменты MATLAB® и Parallel Computing Toolbox?
MATLAB workers: процессы MATLAB, которые запускаются в фоновом режиме без графического рабочего стола. Вы используете функции в Parallel Computing Toolbox, чтобы автоматически разделить задачи и присвоить их этим рабочим, чтобы выполнить расчеты параллельно. Можно запустить локальных рабочих, чтобы использовать в своих интересах все ядра в многожильном рабочем компьютере. Можно также масштабировать, чтобы запустить рабочих на кластере машин, с помощью MATLAB Parallel Server™. Сеанс работы с MATLAB, с которым вы взаимодействуете, известен как MATLAB client. Клиент сообщает рабочим с функциями языка параллельного программирования.
Параллельный пул: параллельный пул работников MATLAB создал использование parpool
или функции с автоматической параллельной поддержкой. По умолчанию функции языка параллельного программирования автоматически создают параллельный пул для вас при необходимости. Чтобы узнать больше, см. Код Запуска по Параллельным Пулам.
Для локального профиля по умолчанию количество по умолчанию рабочих один на физическое ядро процессора с помощью одного вычислительного потока. Это вызвано тем, что даже при том, что каждое физическое ядро может иметь несколько виртуальных ядер, виртуальные ядра совместно используют некоторые ресурсы, обычно включая разделяемый сопроцессор для операций с плавающей точкой (FPU). Большинство расчетов MATLAB использует этот модуль, потому что они - плавающая точка двойной точности. Ограничение одним рабочим на физическое ядро гарантирует, что у каждого рабочего есть эксклюзивный доступ к сопроцессору для операций с плавающей точкой, который обычно оптимизирует производительность вычислительного кода. Если ваш код не в вычислительном отношении интенсивен, например, это - ввод/вывод интенсивный (ввод-вывод), то рассмотрите использование до двух рабочих на физическое ядро. Выполнение слишком многих рабочих на очень небольшом числе ресурсов может повлиять на производительность и устойчивость вашей машины.
Убыстритесь: Ускорьте свой код путем работы нескольких работников MATLAB или графических процессоров, например, использования parfor
, parfeval
, или gpuArray
.
Увеличьте свои данные: Разделите свои большие данные через несколько работников MATLAB, с помощью длинных массивов и распределенных массивов. Чтобы узнать больше, смотрите, что Большие данные Обрабатывают.
Асинхронная обработка: Используйте parfeval
выполнить вычислительную задачу в фоновом режиме, не ожидая его, чтобы завершиться.
Масштабируйте до кластеров и облаков: Если ваша вычислительная задача является слишком большой или слишком медленной для вашего локального компьютера, можно разгрузить вычисление к локальному кластеру или в облаке с помощью MATLAB Parallel Server. Для получения дополнительной информации смотрите Кластеры и Облака.