Поделиться через


Вид использования

В представлении "Использование" отображаются сведения о ЦП, GPU и других системных ресурсах, используемых текущим процессом (выберите " Анализ>визуализатора параллелизма", чтобы запустить визуализатор параллелизма). Он показывает среднее использование ядра в проанализированном процессе, процессе простоя, системном процессе и других процессах, выполняемых в системе с течением времени. Он не показывает, какой конкретный ядро активен в любое время. Например, если два ядра работают на 50 процентов мощности в течение определенного периода времени, то в этом представлении используется одно логическое ядро. Представление создается путем разделения времени профилирования на короткие сегменты времени. Для каждого сегмента граф отображает среднее количество потоков обработки, выполняемых на логических ядрах в течение этого интервала.

Представление использования ЦП

График показывает время (на оси x) и средние логические ядра, используемые целевым процессом, процессом простоя и системным процессом. (В процессе простоя отображаются неактивные ядра. Системный процесс — это процесс в Windows, который может выполнять работу от имени других процессов.) Остальные процессы, работающие в системе, используют оставшиеся ядра.

Число логических ядер отображается на оси y. Windows рассматривает поддержку одновременной многопоточности в оборудовании как логические ядра (например, Hyper-Threading). Таким образом, система с четырехядерным процессором, поддерживающим два аппаратных потока на ядро, отображается как восьмилогическая система. Это также относится к представлению «Ядра». Для получения дополнительной информации см. вид "Ядра".

На диаграмме действий GPU показано количество используемых ядр DirectX с течением времени. Движок используется, если он обрабатывает пакет DMA. На диаграмме не отображаются определенные подсистемы DirectX (например, трехмерный обработчик, видеодвижок и другие).

Цель

Мы рекомендуем использовать представление использования в качестве отправной точки для исследований производительности при использовании визуализатора параллелизма. Так как он содержит обзор степени параллелизма в приложении с течением времени, его можно использовать для быстрого определения областей, требующих настройки производительности или параллелизации.

Если вы заинтересованы в настройке производительности, возможно, вы пытаетесь определить поведение, которое не соответствует вашим ожиданиям. Вы также можете искать существование и причину регионов, которые имеют низкое использование логических ядер ЦП. Вы также можете искать шаблоны использования между ЦП и GPU.

Если вы заинтересованы в параллелизации приложения, вы, вероятно, ищете либо области выполнения, ограниченные использованием ЦП, либо области, где ЦП не используется.

Области, связанные с ЦП, зеленые. На графе показан один основной элемент, используемый в случае сериализации приложения.

Области, в которых вы не используете ЦП, серые. Они могут представлять точки, в которых приложение неактивно или выполняет блокировку ввода-вывода, которые предоставляют возможности параллелизма путем перекрытия других работ, связанных с ЦП.

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

Если вы используете GPU с помощью C++ AMP или DirectX, вам может потребоваться определить количество обработчиков GPU, используемых или областей, где GPU неожиданно неактивен.

Zoom / Увеличить

Чтобы увеличить масштаб графа загрузки ЦП или графа действий GPU, выберите раздел или используйте ползунок масштабирования над графом. Параметр масштабирования сохраняется при переключении на другие представления. Чтобы уменьшить масштаб еще раз, используйте ползунок масштабирования. Кроме того, можно увеличить масштаб с помощью клавиш CTRL+scroll.

График использования ЦП

График использования ЦП показывает уровень использования в приложении с течением времени. Ось X представляет длительность трассировки, а ось y представляет количество логических ядер в системе. График не показывает, какой конкретный ядро активен в любое время. Например, если два ядра работают на 50 процентов мощности в течение определенного периода времени, то в этом представлении используется одно логическое ядро.

Цвета графа использования ЦП

  • Зеленый цвет указывает использование логических ядер в системе текущим процессом.

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

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

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

Среднее использование ЦП

Показывает среднее использование системой логических ядер профилированного процесса на протяжении всего процесса. График не показывает, какой конкретный ядро активен в любое время. Например, если два ядра работают на 50% мощности в течение определённого периода времени, то в этом представлении будет отображаться одно логическое ядро.

Элемент управления масштабированием (вид использования)

Элемент управления масштабированием позволяет увеличить масштаб диаграммы использования ЦП, чтобы сосредоточиться на областях, интересующих вас. Этот элемент управления увеличивает масштаб по центру представления. Таким образом, перед увеличением масштаба следует центрировать интересующую область.

Указатель мыши можно перетащить на диаграмму использования ЦП или диаграмму действий GPU, чтобы создать выделенную область. При отпускании кнопки мыши отображение приближается к выделенному диапазону.

Граф действий GPU

График действий GPU в визуализаторе параллелизма отображает уровень активности DirectX в системе, измеряемый числом обработчиков DirectX, используемых с течением времени. График не показывает, какие конкретные механизмы использовались. Обработчик считается используемым, если он обрабатывает любую работу GPU.

Цвета графа действий GPU

Зеленый цвет указывает на использование DirectX Engine текущим процессом.

Светлый серый цвет указывает на потребление обработчиков DirectX другими процессами в системе. Чтобы уменьшить потребление обработчиков DirectX другими процессами, уменьшите количество других процессов, выполняемых в системе.

White указывает на доступность неиспользуемых обработчиков DirectX в системе. Эти механизмы доступны для вашего процесса, если вы можете найти больше возможностей для их использования. Некоторые движки можно использовать только для определенных типов задач.

Деятельность GPU (подкачка)

Сегменты действия GPU (разбиение по страницам) на вкладке Потоки представляют время, когда GPU обрабатывал запросы на разбиение страниц. Длина сегмента представляет длительность обработки пакета страничного доступа в память (DMA) графическим процессором (GPU). Как правило, пакеты разбиения на страницы связаны с передачей памяти между ЦП и GPU.

При выборе сегмента разбиения на страницы GPU отчет на вкладке Current отображает сведения о пакете DMA, который был обработан. Сюда входит время ожидания в очереди оборудования, связанной с подсистемой DirectX, процессом отправки пакета DMA и временем обработки пакета.

Действие GPU (этот процесс)

Сегменты действия GPU (этот процесс) в представлении "Потоки" в визуализаторе параллелизма представляют время обработки запросов GPU от имени текущего процесса. Эти запросы отправляются на GPU в виде пакетов прямого доступа к памяти (DMA). Длина сегмента представляет время обработки GPU пакета DMA от имени текущего процесса.

При выборе сегмента действия GPU отчет на вкладке Current отображает сведения о пакете DMA, который был обработан. Эти сведения включают время ожидания пакета в очереди оборудования, связанной с подсистемой DirectX, процессом отправки пакета и временем, необходимым для обработки пакета. Процесс, отличный от текущего процесса, может физически отправить пакет DMA в GPU. Визуализатор параллелизма может определить, когда другой процесс отправил работу в GPU от имени текущего процесса.

Действие GPU (другие процессы)

Сегменты действия GPU (другие процессы) в представлении потоков визуализатора параллелизма представляют время обработки запросов GPU от имени других процессов в системе. Эти запросы отправляются GPU в виде пакетов прямого доступа к памяти (DMA). Длина сегмента представляет длительность времени обработки пакета GPU.

При выборе такого сегмента отчет на вкладке Current отображает сведения о пакете, который был обработан. Сведения включают время ожидания пакета в очереди оборудования, связанной с подсистемой DirectX, процессом отправки пакета и временем обработки пакета.