Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
4995 Discussions

Sampling Collector failed to collect data.

amitoj
Beginner
475 Views
VTune version 2.0
OS: RedHat 7.3.1
Kernel: 2.4.20 (SMP)
Pentium4 2.8 GHz
Hyperthreading enabled.

The suspect command :

$> vtl activity SSETest -d 0 -c sampling -o "-cal yes -ec en='Packed Double-precision Floating-point Streaming SIMD Extension Instructions Retired'" -app ./cProg run

yields this output:

VTune Performance Analyzer 2.0 for Linux*
Copyright (C) 2000-2003 Intel Corporation. All rights reserved.

The Activity is running.
Thu Nov 11 11:01:16 2004 node3 (Run 0) The Sampling Collector is calibrating its collection parameters for the following event(s): Packed Double-precision Floating-point Streaming SIMD Extension Instructions Retired.
Thu Nov 11 11:01:20 2004 node3 (Run 0) The Sampling Collector is collecting samples based on the following event(s): Packed Double-precision Floating-point Streaming SIMD Extension Instructions Retired.
Thu Nov 11 11:01:21 2004 node3 (Run 0) The Sampling Collector failed to collect data because the selected event(s) did not occur.
The Activity has finished running.

I am sampling the following assembly routine:

global sse2PDouble
sse2PDouble:
push ebp
mov ebp, esp
push eax
push ebx
push ecx
mov eax, [ebp+8] ; a
mov ebx, [ebp+12] ; b
mov ecx, [ebp+16] ; c

movupd xmm0,[ebx] ; packed double-precision flop (mov)
movupd xmm1,[ecx] ; packed double-precision flop (mov)

mulpd xmm1,xmm0 ; packed double-precision flop (mul)

movupd [eax],xmm1 ; packed double-precision flop (mov)

here: pop ecx
pop ebx
pop eax
mov esp,ebp
pop ebp
ret

I call the above code through a C program. I am trying to verify whether VTune samples the "correct" events for SSE floating point ops. Surprisingly,
after several attempts and re-executing the suspect vtune command, i did get the correct result as appended below.

VTune Performance Analyzer 2.0 for Linux*
Copyright (C) 2000-2003 Intel Corporation. All rights reserved.

The Activity is running.
Thu Nov 11 11:09:37 2004 node3 (Run 0) The Sampling Collector is calibrating its collection parameters for the following event(s): Packed Double-precision Floating-point Streaming SIMD Extension Instructions Retired.
Thu Nov 11 11:09:41 2004 node3 (Run 0) The Sampling Collector is collecting samples based on the following event(s): Packed Double-precision Floating-point Streaming SIMD Extension Instructions Retired.
Thu Nov 11 11:09:42 2004 node3 (Run 0) Sampling data was successfully collected.
The Activity has finished running.

$> vtl view
VTune Performance Analyzer 2.0 for Linux*
Copyright (C) 2000-2003 Intel Corporation. All rights reserved.

Event Summary
Packed Double-precision Floating-point Streaming SIMD Extension Instructions Retired
1 = Samples collected due to this event
1 = Sample after value used during collection
1 = Total events (samples*SAV)

Module View (all values in decimal)

Module Process
Event Events% Samples Events Module Path
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
cProg cProg
Packed Double-precision Floating-point Streaming SIMD Extension Instructions Retired 100.00% 1 1 /cProg

My question : Why is vtune not "consistent" in sampling events ? Thank you for your reply in advance.

- Amitoj
0 Kudos
2 Replies
David_A_Intel1
Employee
475 Views
Hi Amitoj:
It appears from the output that your entire data collection run is only 1 second! This is not long enough to collect any statisically accurate data. Try calling the routine 100,000 times in a loop and collecting data for at least 20 seconds.
Regarding whether or not the VTune analyzer is "sampling the correct events", I can assure you that the processor validation team verifies every event of a processor and the VTune analyzer only exposes those events that pass validation.
0 Kudos
amitoj
Beginner
475 Views
Thank you DaveA for your prompt reply. I am trying to verify the precision to which VTune can record events. I did loop my code 100,000 times as you advised and i am appending my output. As before i had to execute vtl several times before it was successfully able to collect data but never the "precise" number of events. For all unsuccessful attempts i got the error "The Sampling Collector failed to collect data because the selected event(s) did not occur."


$> vtl activity SSETest -d 60 -c sampling -o "-cal yes -ec en='Packed Double -precision Floating-point Streaming SIMD Extension Instructions Retired'" -app ./cProg,"100000" run

VTune Performance Analyzer 2.0 for Liznux*
Copyright (C) 2000-2003 Intel Corporation. All rights reserved.

The Activity is running.
Fri Nov 12 14:32:01 2004 node3 (Run 0) The Sampling Collector is calibrating its collection para meters for the following event(s): Packed Double-precision Floating-point Streaming SIMD Extensio n Instructions Retired.
Fri Nov 12 14:32:05 2004 node3 (Run 0) The Sampling Collector is collecting samples based on the following event(s): Packed Double-precision Floating-point Streaming SIMD Extension Instructions Retired.
Fri Nov 12 14:32:06 2004 node3 (Run 0) Sampling data was successfully collected.
The Activity has finished running.


$> vtl view
VTune Performance Analyzer 2.0 for Linux*
Copyright (C) 2000-2003 Intel Corporation. All rights reserved.

Event Summary
Packed Double-precision Floating-point Streaming SIMD Extension Instructions Retired
50820 = Samples collected due to this event
1 = Sample after value used during collection
50820 = Total events (samples*SAV)

Module View (all values in decimal)

Module Process
Event Events% Samples Events Module Path
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
cProg cProg
Packed Double-precision Floating-point Streaming SIMD Extension Instructions Retired 100.00% 50820 50820 /cProg
0 Kudos
Reply