2 Replies Latest reply on Aug 12, 2015 8:40 AM by chesik

    AMD CodeXL GPU counter with all zeros

    youwei

      Hi all

      I am currently developing my opencl application on R9 Fury X, and use CodeXL as the profiling tool. CodeXL functions well except for the Gloabl Memory counters, for example cache hits. They are always set to zeros. I replaced my application with sample binaries included in AMP sample folder and get the same result.

      Something that worth noting is that when I click the Global Memory options in Project Settings, a line of words came up and says "Readon requires 3 passes...". However it seems that the profiling only runs once.

      Could anyone tell me where the problem is?

        • Re: AMD CodeXL GPU counter with all zeros
          pinform

          Hi Youwei,

           

          Welcome!

           

          I have white-listed you, so you should be able to post in any forum directly.  As this question is relevant to the CodeXL forum, I'm moving it there.

           

          --Prasad

          • Re: AMD CodeXL GPU counter with all zeros
            chesik

            Hi youwei,

             

            The current driver releases have an issue when collecting perf counters on Fury GPUs.  The driver has been fixed internally -- but I'm not sure when a driver with this fix will be available publicly.  Hopefully, the next driver release will have this fix.

             

            Also, with regards to the multi-pass profiling, this is something that happens under the hood (it typically won't be visible to you unless it is not functioning properly).  For most OpenCL kernels, the profiler is able to capture a kernel's input and output buffers and save and restore their contents when replaying a kernel.  If a kernel uses SVM or takes a pipe as an argument, the profiler will not be able to replay the kernel, and it can only collect counters that can be queried in a single pass.

             

            Thanks,

            Chris

            1 of 1 people found this helpful