Время параллельной связи и выполнения профиля
mpiprofile
mpiprofile on <options>
mpiprofile off
mpiprofile reset
mpiprofile viewer
mpiprofile resume
mpiprofile clear
mpiprofile status
stats = mpiprofile('info')
mpiprofile('viewer',stats)
mpiprofile включает или отключает сбор данных параллельного профилировщика на работнике MATLAB ®, работающем в параллельном пуле. Вы можете использоватьmpiprofile либо от клиента MATLAB, либо непосредственно от работника из spmd блок. При выполнении mpiprofile от клиента MATLAB, mpiprofile выполняет действие над работниками MATLAB.
mpiprofile агрегирует статистику времени выполнения и времени связи. mpiprofile собирает статистику аналогично выполнению profile на каждом работнике MATLAB. По умолчанию расширения параллельного профилирования включают поля массива, которые собирают информацию о взаимодействии с каждым из других работников.
mpiprofile on <options> запускает параллельный профилировщик и очищает ранее записанную статистику профиля.
mpiprofile использует следующие опции.
| Выбор | Описание |
|---|---|
| Эта опция определяет сведения, в которых хранится коммуникационная информация.
Обратите внимание, что изменение Сведения о структуре возвращаемых данных см. в разделе |
|
Других нет |
mpiprofile off останавливает параллельный профилировщик. Чтобы сбросить состояние профилировщика и отключить сбор информации о связи, используйте mpiprofile reset.
mpiprofile reset отключает параллельный профилировщик и сбрасывает сбор данных обратно в стандартный профилировщик. Если вы не звоните reset, последующие profile команды будут собирать информацию MPI.
mpiprofile viewer останавливает профилировщик и открывает графический браузер профилей с параллельными опциями. Выходные данные представляют собой HTML-отчет, отображаемый в окне профилировщика. Список файлов в нижней части страницы профиля функции показывает несколько столбцов слева от каждой строки кода. На странице сводки:
Столбец 1 указывает количество вызовов этой линии.
В столбце 2 указано общее время, затраченное на линию в секундах.
Столбцы 3-6 содержат информацию связи, относящуюся к параллельному профилировщику.
mpiprofile resume перезапускает профилировщик без очистки ранее записанной статистики функций.
mpiprofile clear очищает информацию о профиле.
mpiprofile status возвращает статус параллельного профилировщика.
stats = mpiprofile('info') останавливает параллельный профилировщик и возвращает структуру, содержащую статистику профилировщика. stats содержит те же поля, что и возвращенные profile('info'), со следующими дополнительными полями в FunctionTable вход. Все эти поля записываются на основе функции и строки, за исключением *PerLab поля.
| Область | Описание |
|---|---|
BytesSent | Записывает количество отправленных данных |
BytesReceived | Записывает количество полученных данных |
TimeWasted | Записывает время ожидания связи |
CommTime | Регистрирует время связи |
CommTimePerLab | Вектор времени приема сообщений для каждого работника |
TimeWastedPerLab | Вектор времени ожидания связи для каждого работника |
BytesReceivedPerLab | Вектор данных, полученных от каждого работника |
Три *PerLab поля собираются только для каждой функции, и их можно отключить, введя следующую команду:
mpiprofile on -messagedetail simplified
При запуске из клиента MATLAB stats = mpiprofile('info') возвращает информацию от всех работников. Когда вы запускаете его на работнике, mpiprofile('info') возвращает сведения о профиле, относящиеся к этому работнику.
mpiprofile('viewer',stats) открывает графический браузер профилей, показывающий информацию о профилировании, содержащуюся в stats. Вы можете использовать stats = mpiprofile('info') на клиенте для создания массива структуры.
mpiprofile не принимает -timer clock опции, поскольку часы таймера связи должны быть реальными.
Дополнительные сведения и примеры использования параллельного профилировщика см. в разделе Профилирование параллельного кода.