Используя параллельный профилировщик в Pmode

В этом примере показано, как использовать параллельный профилировщик. Это предназначается, чтобы быть руководством по быстрому началу работы к использованию параллельного графического интерфейса пользователя (GUI) профилировщика и его основных команд. Ссылки предоставляются другим параллельным примерам профилировщика. Запустите с этого примера, если вы не уже знакомы с mpiprofile.

Предпосылки:

  • Интерактивный параллельный режим в Parallel Computing Toolbox™ (см. pmode в руководстве пользователя.)

  • Сконфигурированный кластер, если вы хотите использовать больше лабораторий, чем позволенный под 'локальным' кластерным типом

  • Знакомство с типичным профилировщиком (См. документацию для profile.)

У вас должно быть, по крайней мере, несколько лабораторий при попытке параллельного профилировщика и следующих примеров. Вам нужны по крайней мере три - четыре лаборатории, чтобы видеть различие между хорошим и плохим кодом параллели в качестве примера. Также предпочтительно, если все лаборатории имеют ту же скорость и возможность.

Связанные примеры

Введение

В этом примере, который действует как пример на основах параллельного профилировщика, мы принимаем, что вы знакомы с основными характеристиками стандартного profile команда. Если вы плохо знакомы с MATLAB®, ознакомляете себя с примерами в profile помогите прежде, чем попробовать параллельную версию (mpiprofile) в этом примере.

Код MATLAB связан с mpiprofile не должен быть выполнен в регулярном сеансе работы с MATLAB, а скорее в P>> подсказка в Параллельном Командном окне. См. Пользовательское Руководство Parallel Computing Toolbox для получения дополнительной информации о pmode.

Включение параллельного профилировщика

Прежде, чем профилировать ваш параллельный код, включите сбор данных параллельного профилировщика с помощью mpiprofile. Подобно типичному профилировщику, mpiprofile on может быть использование к активированному параллельный профилировщик.

P>> mpiprofile on;

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

Текущий статус параллельного профилировщика может быть подтвержден путем выполнения:

P>> mpiprofile status;

Можно затем выполнить любую функцию, как вы делаете со стандартным profile команда. Например, можно просмотреть сырые данные профильная информация с помощью mpiprofile info.

P>> A = rand(1024, codistributor());
P>> B = A*A;
P>> mpiprofile info;

Запуск графического средства просмотра

Если вы завершили выполнение вашего кода с профилировщиком, можно просмотреть результаты с помощью графического интерфейса путем ввода:

P>> mpiprofile viewer; % This also turns off the profiler.
1    Sending  pmode lab2client  to the MATLAB client for asynchronous evaluation.

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

Если средство просмотра запускает три типа страниц, или представления доступны.

Функциональный сводный отчет

Параллельное средство просмотра профиля, открывается Функциональным Сводным отчетом сначала, таким же образом как типичный профилировщик. В этом представлении вы видите информацию о профиле из любой одной лаборатории или из нескольких лабораторий одновременно. Это первоначально показывает все функции, выполняемые на лаборатории 1. Можно затем принять решение с помощью опций поля списка видеть профильную информацию из любой лаборатории.

В этом представлении вы видите, что Совокупная информация использует поля списков Manual Comparison Selection. Когда вы выбираете Aggregate в этом представлении, профилировщик накапливает и отображает заданные данные обо всех выполняемых функциях. Например,

  • макс. Агрегат Времени перечисляет каждую функцию, вызванную в программе, и для каждой функции, данных лаборатории, которая провела большую часть времени, выполняя его.

  • Время min> 0 Агрегатов перечисляют каждую функцию, вызванную в программе, и для каждой функции, статистики из лаборатории, которая провела наименьшее количество времени, выполняя его.

Вот несколько вещей иметь в виду в этом представлении:

  • Чтобы обратиться таблица различным полем просто кликают по связанному заголовку столбцов (например, Общее Время Коммуникации).

  • Чтобы выбрать функцию и перейти к Функциональному Детализированному отчету, кликните по любому имени функции, которое появляется в столбце Имени функции.

  • Чтобы сравнить профильную информацию из различных лабораторий, используйте поля списков Comparison и кнопки (найденный в верхней части каждой страницы). Информация о сравнении всегда отображается в темно-бордовом цветном шрифте. Другие примеры (см. ссылки во главе этого примера) показывают, как использовать сравнения, чтобы точно определить проблемы.

  • Чтобы найти, из которого происходит лаборатория основные профильные данные (черный или синий текст), посмотрите на оранжевый выделенный текст наверху отображенной страницы или на главной панели инструментов.

Функциональный детализированный отчет

Функциональный Детализированный отчет отображает информацию об отдельных линиях, выполняемых в текущей функции для каждой лаборатории. Это включает таблицу Busy Lines, которая может использоваться, чтобы сравнить лучшие пять строк кода на различных лабораториях. Этот отчет только полностью функционален, если профилируемые файлы MATLAB доступны на клиентском пути MATLAB.

Функциональный Детализированный отчет отличается от Функционального Сводного отчета несколькими способами:

  • Отчет сгенерирован для одной функции за один раз. Имя функции отображено в верхней части страницы в зеленом или оранжевом цвете. Зеленое выделение указывает, что функция потратила очень мало (или не) время в коммуникации. Оранжевое выделение указывает, что больше чем 20% времени были потрачены в коммуникации или ожидающий коммуникации.

  • Каждая опция поля списка учитывает последнюю функцию, по которой вы кликнули. Текущая функция может быть изменена, если потребуется, путем нажатия кнопки "Домой" на главной панели инструментов, которая также забирает вас к Функциональному Сводному отчету.

  • Информация профиля Агрегируется из нескольких лабораторий, вычисляются только на на функциональное основание. Поэтому в Функциональном Детализированном отчете, выбирая макс. Агрегат Времени отображает информацию из одной лаборатории, которая взяла самое долгое выполнение текущей функции.

  • Сравнения профильной информации только доступны в лучших пяти линиях, показанных в таблице Busy Lines (первая таблица от верхней части, если нет родительская таблица).

График просматривает отчет

Представление Графика показывают каждый раз, когда вы кликаете по опции графика в поле списка Show Figures. Графики показывают коммуникацию и время выполнения из всех лабораторий для заданной функции. Существует два типа графиков (Гистограммы и Изображения PerLab). Гистограммы Времени Графика и График Все Способы коммуникации PerLab показывают трем фигурам, использующим соответствующие коммуникационные поля, возвращенные mpiprofile info команда.

  • Гистограммы Времени графика показывают гистограммы в течение Общего Времени, Общего Коммуникационного Времени и Коммуникационного Времени ожидания.

  • График, который Вся Коммуникация PerLab показывает 2D цвету, закодировал графики изображений для Полученных Данных, Получите Коммуникационное Время и Коммуникационное Время ожидания.

  • Опция CommTimePerLab Графика в поле списка Show Figures показывает только Получить Коммуникационную Временную диаграмму и поэтому быстрее, чтобы сгенерировать.

Графический вывод на функцию или на сеанс

Существует два режима для графиков:

  • Полные графики сеанса: Если вы находитесь в Функциональном Сводном отчете, и вы не выбрали функции, графики сгенерированы для всего выполненного кода (с профилировщиком на).

  • На графики функций: Если вы будете в Функциональном Детализированном отчете, то выбрав функцию, кликая по любому из доступных графиков (в поле списка, показанном ниже), возьмет вас к функционально-специализированному Представлению Графика.

Можно всегда говорить, какой режим графика вы используете путем рассмотрения заголовков каждой фигуры. Заголовки показывают имя текущей функции (или всех функций при показе данных для целого сеанса). Заголовки также включают имя профильного отображаемого поля (например, Коммуникационное Время, Общее Время). Если вы хотите видеть данные для целого профильного сеанса, выбрав определенную функцию, нажмите, Home, чтобы вернуться к Функциональному Сводному отчету затем выбирают ваш желаемый график (использующий поле списка, показанное ниже).

Для получения дополнительной информации см. Руководство пользователя Parallel Computing Toolbox. Для практического изучения подход пробуют ссылки на примеры, перечисленные под "Связанными Примерами".

Для просмотра документации необходимо авторизоваться на сайте