3 Replies Latest reply on Sep 15, 2011 11:11 AM by fswehosky

    how to find cache misses and branch miss predictions in codeanalyst

    abhishekrnath

      Hi friends,

      Can anyone tell me how we can find out the cache misses and branch missprediction in a program using codeanalyst?

       

      Thank You

      Abhishek R. Nath

        • how to find cache misses and branch miss predictions in codeanalyst

          Hello Abhishek,

          The "Assess Performance" profile configuration contains those performance events.  If you want to create a configuration that just contains the Retired mispredicted branch instructions (0xC3) and Data cache misses (0x41) that's possible too.

          If you want to use Instruction-based profiling, IBS Ops can give you branch mispredicition and data cache misses.  You can specify the data view once the profile is complete to see the data you're particularly interested in.

          I hope this helps,

            • how to find cache misses and branch miss predictions in codeanalyst
              abhishekrnath

              I can't use the Access Performance profile and Investigate Data Access. It shows a warning message as:

              "Current CodeAnalyst Kernel Module does not support event multiplexing.

              Please use profile which has less than 4 events. or.

              update the CodeAanlyst Kernel Module one event group."

               

              What is the warning and how can I solve this?

                • how to find cache misses and branch miss predictions in codeanalyst

                  It reads like you're using Linux to profile.  If you've already installed the latest CodeAnalyst, I would suggest updating the oprofile kernel module.  If you don't want to do that, you can edit the "Current event-based profile" and select between 2-4 events that you're interested in.  For example: 0x0C3 (Retired mispredicted branch), 0x041 (Data cache misses), 0x076 (CPU clocks not halted), and 0x040 (Data cache accesses).

                  You also might just try running an IBS Ops profile, which can also provide the information and does not require multiplexing events.

                  Good luck.