Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Ziqiang_H_
Beginner
76 Views

Trigger-based event multiplexing in Vtune

Hi, 

I'm experimenting with the trigger-based event multiplexing capability in Vtune. What I want is to use one event (e.g. instruction retired) as a trigger to sample another event (e.g. cycles). I'm using the command line tool aplxe-runss that comes with the vtune_amplifier_xe package. Here is my command:

./amplxe-rnss -event-config="INST_RETIRED.ANY:sa=100000000","CPU_CLK_UNHALTED.REF_TSC" -event-mux -event-mux-alg=trigger -event-mux-trigger="INST_RETIRED.ANY" -- ./myApplication

I was hoping by specify the sample after value(e.g. 100000000) for the triggering event, I would get a sample of the other events every 100000000 instructions. But when I report the summary in the end:

Event summary
-------------
Hardware Event Type       Hardware Event Count:Self  Hardware Event Sample Count:Self  Events Per Sample
------------------------  -------------------------  --------------------------------  -----------------
INST_RETIRED.ANY                       132000000000                              1320  100000000        
CPU_CLK_UNHALTED.REF_TSC               208908313362                            104454  2000003

This shows me the sample of the two events are done independently, the trigger does not work.

So what the correct way here ?

Thanks,

Ziqiang      

 

0 Kudos
3 Replies
Jackson_M_Intel
Employee
76 Views

Hello,

Could you let me know what documentation you are reading with the command line flags  -event-mux-alg=trigger? Thanks.

Ziqiang_H_
Beginner
76 Views

I wasn't look at any documentation, but ./amplxe-runss -help gives me the following option

-event-mux            Enable timer- or trigger-based event
                              multiplexing. The timer-based event multiplexing
                              is applicable to Intel(R) Core(TM) and Intel(R)
                              Pentium(R) M processor families. Use
                              -event-mux-timeslice option for configuring the
                              time slice value, which is the duration between
                              cycles for each event group. The trigger-based
                              event multiplexing is applicable to all other
                              platforms. In this mode, specify the
                              -event-mux-trigger and -event-mux-factor options
                              to define the trigger event and factor for
                              switching the groups. BADMSG:
                              perfrun1.vtsspp::event-mux
-event-mux-alg=time | sequence | trigger
                              Specify the event multiplexing algorithm.
                              Possible values: sequence, timer, trigger.

 

Jackson_M_Intel
Employee
76 Views

I believe that the triggering event is just used to change the multiplex group that you are currently sampling. In your example, you're using 2 fixed counters, so no multiplexing is even necessary. However, if you were to use multiplexing, all that would happen on the trigger is the event grouping would switch - it would not collect all the other events. I don't believe the functionality you are looking for is available.

Reply