Skip to content

Derived counters are device-level metrics? #83

Open

Description

@xcorrnner

I found that derived "public" counters based on raw hardware counters.
Are derived counters are device-level metrics?
if I sample on a per-frame basis and correlate the data to a given frame, will the data be accurate?
Is there a way to record performance metrics at a specified frequency without intrumenting workloads of interest

Activity

  1. PLohrmannAMD commented on Jan 10, 2025

    @PLohrmannAMD
    Contributor

    Hi xcornner, sorry I missed your message when you submitted it.

    The derived counter results are device-level, but also specific to the application being profiled. If you start a counter sample at the beginning of the frame, do the necessary calls to continue the sample across all the command lists, then end the sample at the end of the frame, you should correctly get results that correlate with that specific frame.

    The best way to see perf metrics sampled at a specified frequency is to use Microsoft PIX to take a capture of the application, then use our integration into the PIX for Windows interface to view the Timeline Counters (aka High Frequency Counters) along the bottom of the UI. This will actually allow you to see perf counter results mid-draw call, as well as throughout the frame.
    See: https://devblogs.microsoft.com/pix/hardware-counters-in-gpu-captures/#highfrequencycounters

    PIX for Windows can support up to a 10 frame capture by default, so you can see how those metrics change through an effect rendering, etc. The settings in PIX do allow you to expand that to a greater number of frames if needed, but UI responsiveness may be affected as the number of frames increases.
     
    Please let me know if I can provide additional assistance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions