Профиль параллельной связи и времен выполнения
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 опции, поскольку часы таймера связи должны быть реальными.
Для получения дополнительной информации и примеров использования параллельного профилировщика см. Профилирование параллельного кода.