Если у вас есть доступ к нескольким графическим процессорам, можно выполнить вычисления на нескольких графических процессорах в параллели с помощью параллельного пула.
Чтобы определить количество графических процессоров, которые доступны для использования в MATLAB, используйте gpuDeviceCount функция.
Начните параллельный пул со стольких же рабочих сколько доступные графические процессоры. Для лучшей эффективности MATLAB присваивает различный графический процессор каждому рабочему по умолчанию.
Starting parallel pool (parpool) using the 'local' profile ...
Connected to the parallel pool (number of workers: 3).
Чтобы идентифицировать, который использует графический процессор каждый рабочий, вызовите gpuDevice в spmd блок. spmd блок запускает gpuDevice на каждом рабочем.
Используйте функции языка параллельного программирования, такие как parfor или parfeval, распределить ваши расчеты рабочим в параллельном пуле. Если вы используете gpuArray активированные функции в ваших расчетах, эти функции работают на графическом процессоре рабочего. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре. Для примера смотрите функции MATLAB Запуска на Нескольких графических процессорах.
Когда вы закончите с вашими расчетами, закрытием параллельный пул. Можно использовать gcp функция, чтобы получить текущий параллельный пул.
Если вы хотите использовать различный выбор графических процессоров, то можно использовать gpuDevice выбрать конкретный графический процессор на каждом рабочем, с помощью индекса устройства графического процессора. Можно получить индекс каждого устройства графического процессора в системе с помощью gpuDeviceCount функция.
Предположим, что вы имеете три графических процессора в наличии в своей системе, но вы хотите использовать только два для расчета. Получите индексы устройств.
Задайте индексы устройств, которые вы хотите использовать.
Запустите свой параллельный пул. Используйте spmd блок и gpuDevice чтобы сопоставить каждого рабочего с помощью одного из графических процессоров, вы хотите использовать, с помощью индекса устройства. labindex функция идентифицирует индекс каждого рабочего.
Starting parallel pool (parpool) using the 'local' profile ...
Connected to the parallel pool (number of workers: 2).
Как лучшая практика, и для лучшей эффективности, присваивают различный графический процессор каждому рабочему.
Когда вы закончите с вашими расчетами, закрытием параллельный пул.