mpiprofile

Профилируйте параллельную передачу и времена выполнения

Синтаксис

mpiprofile
mpiprofile on <options>
mpiprofile off
mpiprofile resume
mpiprofile clear
mpiprofile status
mpiprofile reset
mpiprofile info
mpiprofile viewer
mpiprofile('viewer',<profinfoarray>)

Описание

mpiprofile включает или отключает параллельный сбор данных профилировщика на рабочем MATLAB®, запускающем связывающееся задание. mpiprofile агрегировал статистику по коммуникационным временам и времени выполнения. Статистические данные собраны способом, подобным выполнению команды profile на каждом работнике MATLAB. По умолчанию параллельные профильные расширения включают поля массивов, которые собирают информацию относительно связи с каждым из других рабочих. Эта команда в целом должна быть выполнена в pmode или как часть задачи в связывающемся задании.

mpiprofile on <options> запускает параллельный профилировщик и очищает ранее зарегистрированную статистику профиля.

mpiprofile выбирает следующие варианты.

ОпцияОписание

-detail mmex

-detail builtin

Эта опция задает набор функций, для которых собраны профильные статистические данные. -detail mmex (значение по умолчанию) записывает информацию о функциях, локальных функциях и MEX-функциях. -detail builtin дополнительно записывает информацию о встроенных функциях, таких как eig или labReceive.

-messagedetail default

-messagedetail simplified

Эта опция задает деталь, в которой хранится информация о коммуникации.

-messagedetail default собирает информацию относительно экземпляра на лабораторию.

-messagedetail simplified выключает набор для полей данных *PerLab, который уменьшает профилирование наверху. Если у вас есть очень большой кластер, вы можете хотеть использовать эту опцию; однако, вы не получите все подробные коммуникационные графики межлаборатории в средстве просмотра.

Для получения информации о структуре возвращенных данных смотрите mpiprofile info ниже.

-history

-nohistory

-historysize <size>

mpiprofile поддерживает эти опции таким же образом как стандартный profile.

Никакие другие опции profile не поддерживаются mpiprofile. Эти три опции не имеют никакого эффекта на данные, отображенные mpiprofile viewer.

mpiprofile off останавливает параллельный профилировщик. Чтобы сбросить состояние профилировщика и отключить коммуникационную информацию сбора, необходимо также вызвать mpiprofile reset.

mpiprofile resume перезапускает профилировщик, не очищая ранее зарегистрированную функциональную статистику. Это работает только в pmode или на том же сеансе работника MATLAB.

mpiprofile clear очищает информацию о профиле.

mpiprofile status возвращает допустимое состояние, когда оно работает на рабочем.

mpiprofile reset выключает параллельный профилировщик и сбрасывает сбор данных назад типичному профилировщику. Если вы не вызовете reset, последующие команды профиля соберут информацию MPI.

mpiprofile info возвращает профильную структуру данных с дополнительными полями к тому, обеспеченному стандартным profile info в записи FunctionTable. Все эти поля зарегистрированы на на функцию и на строку основании, за исключением полей *PerLab.

Поле Описание
BytesSentЗаписывает количество отправленных данных
BytesReceivedЗаписывает количество полученных данных
TimeWastedКоммуникационное время ожидания записей
CommTimeЗаписывает коммуникационное время
CommTimePerLabВектор коммуникации получает время для каждой лаборатории
TimeWastedPerLabВектор коммуникационного времени ожидания каждой лаборатории
BytesReceivedPerLabВектор данных получен от каждой лаборатории

Три поля *PerLab собраны только на основе на функцию и могут быть выключены путем ввода следующей команды в pmode:

mpiprofile on -messagedetail simplified

mpiprofile viewer используется в pmode после под управлением пользовательского кода с mpiprofile on. Вызов средства просмотра останавливает профилировщик и открывает графический браузер профиля с параллельными опциями. Вывод является отчетом HTML, отображенным в окне профилировщика. Список файлов в нижней части функциональной страницы профиля показывает несколько столбцов слева от каждой строки кода. На итоговой странице:

  • Столбец 1 указывает на количество вызовов той строки.

  • Столбец 2 указывает общее время, проведенное на строке в секундах.

  • Столбцы 3-6 содержат информацию о коммуникации, характерную для параллельного профилировщика

mpiprofile('viewer',<profinfoarray>) в функциональной форме может использоваться от клиента. <profinfoarray> структуры должен быть переданным в в качестве второго аргумента, который является массивом структур mpiprofile info. Смотрите pInfoVector в разделе Examples ниже.

mpiprofile не принимает опции -timer clock, потому что коммуникационные часы таймера должны быть действительными.

Для получения дополнительной информации и примеры при использовании параллельного профилировщика, см. Профильный Параллельный Код.

Примеры

В pmode включите параллельный профилировщик, запустите свою функцию параллельно и вызовите средство просмотра:

mpiprofile on;
% call your function;
mpiprofile viewer;

Если вы хотите получить информацию о профилировщике из связывающегося задания за пределами pmode (т.е. в клиенте MATLAB), необходимо возвратить выходные аргументы mpiprofile info при помощи функциональной формы команды. Задайте свой функциональный foo() и сделайте его функцией задачи в связывающемся задании:

function [pInfo,yourResults] = foo
mpiprofile on
initData = (rand(100, codistributor()) ...
                   * rand(100,codistributor()));
pInfo = mpiprofile('info');
yourResults = gather(initData,1)

После выполнений задания и foo() оценен на вашем кластере, получите данные по клиенту:

A = fetchOutputs(yourJob);

Затем просмотрите параллельную информацию о профиле:

pInfoVector = [A{:,1}];
mpiprofile('viewer',pInfoVector);

Смотрите также

| |

Представленный в R2007b