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

Collection stops without warnings/errors on memory-access profiling

Kostis_K_
Beginner
862 Views

Hi,

I am using VTune 2016 update 4 for collecting a memory-access profile of my application. My application runs for about 5 seconds. I start VTune in paused mode, the I resume it at some point and finally I stop it manually after the work that I need to profile is completed.

When opening the results, I see that memory access information is collected only for the first second of execution. I changed the sampling rate to 1,5, and 10 ms and I notice that the collected information is 700 MB, 150 MB, 60 MB respectively. I understand that the 700MB collection is more than the 500MB default limit so I understand why memory access information is not available for the complete run in this case (a warning also informs me that collection stop in this case due to the large amount of collected data).

However, I have the same problem when using a sampling rate of 5 and 10 ms that produce log directories well below 500MB.

I also tried adding the -data-limit=0 option but nothing changed.

There are no warning/errors during the collection phase. 

Any thoughts?

Thanks,
Kostis

amplxe: Using target: <MY TARGET>
amplxe: Collection started. To stop the collection, either press CTRL-C or enter from another console window: amplxe-cl -r <SOME DIR> -command stop.
amplxe: Per-node peak bandwidth measurement is enabled for this collection. Collection time may increase.
amplxe: Using target: <MY TARGET>
amplxe: Collection detached.
Collection has stopped.
amplxe: Collection stopped.
amplxe: Copying result directory from the device
amplxe: Copying collection logs from the device.
amplxe: Using result path `<SOME PATH>'

amplxe: Executing actions  0 %                                                 
amplxe: Executing actions  0 % Finalizing results                              
amplxe: Executing actions  0 % Finalizing the result                           
amplxe: Executing actions  0 % Clearing the database                           
amplxe: Executing actions  8 % Clearing the database                           
amplxe: Executing actions  8 % Loading raw data to the database                
amplxe: Executing actions  8 % Loading '<SOME FILE>.sc' file
amplxe: Executing actions 14 % Loading '<SOME FILE>.sc' file
amplxe: Executing actions 14 % Loading 'sep2<SOME NUMBERS>.
amplxe: Executing actions 14 % Updating precomputed scalar metrics             
amplxe: Executing actions 16 % Updating precomputed scalar metrics             
amplxe: Executing actions 16 % Processing profile metrics and debug information
amplxe: Executing actions 22 % Processing profile metrics and debug information
amplxe: Executing actions 22 % Setting data model parameters                   
amplxe: Executing actions 22 % Resolving module symbols                        
amplxe: Executing actions 22 % Resolving information for dangling locations    
amplxe: Executing actions 23 % Resolving information for dangling locations    
amplxe: Executing actions 23 % Resolving information for `<SOME FILE>'       
amplxe: Warning: Cannot locate debugging symbols for file `<SOME FILE>'.
[repeated for some more libraries]
amplxe: Executing actions 26 % Resolving bottom user stack information         
amplxe: Executing actions 27 % Resolving bottom user stack information         
amplxe: Executing actions 27 % Resolving thread name information               
amplxe: Executing actions 28 % Resolving thread name information               
amplxe: Executing actions 28 % Resolving call target names for dynamic code    
amplxe: Executing actions 29 % Resolving call target names for dynamic code    
amplxe: Executing actions 30 % Resolving call target names for dynamic code    
amplxe: Executing actions 30 % Processing profile metrics and debug information
amplxe: Executing actions 31 % Processing profile metrics and debug information
amplxe: Executing actions 32 % Processing profile metrics and debug information
amplxe: Executing actions 33 % Processing profile metrics and debug information
amplxe: Executing actions 34 % Processing profile metrics and debug information
amplxe: Executing actions 35 % Processing profile metrics and debug information
amplxe: Executing actions 36 % Processing profile metrics and debug information
amplxe: Executing actions 37 % Processing profile metrics and debug information
amplxe: Executing actions 37 % Preparing output tree                           
amplxe: Executing actions 37 % Parsing columns in input tree                   
amplxe: Executing actions 37 % Creating top-level columns                      
amplxe: Executing actions 38 % Creating top-level columns                      
amplxe: Executing actions 38 % Creating top-level rows                         
amplxe: Executing actions 39 % Creating top-level rows                         
amplxe: Executing actions 39 % Preparing output tree                           
amplxe: Executing actions 39 % Parsing columns in input tree                   
amplxe: Executing actions 39 % Creating top-level columns                      
amplxe: Executing actions 40 % Creating top-level columns                      
amplxe: Executing actions 40 % Creating top-level rows                         
amplxe: Executing actions 41 % Creating top-level rows                         
amplxe: Executing actions 41 % Preparing output tree                           
amplxe: Executing actions 41 % Parsing columns in input tree                   
amplxe: Executing actions 41 % Creating top-level columns                      
amplxe: Executing actions 42 % Creating top-level columns                      
amplxe: Executing actions 42 % Creating top-level rows                         
amplxe: Executing actions 43 % Creating top-level rows                         
amplxe: Executing actions 43 % Preparing output tree                           
amplxe: Executing actions 43 % Parsing columns in input tree                   
amplxe: Executing actions 43 % Creating top-level columns                      
amplxe: Executing actions 44 % Creating top-level columns                      
amplxe: Executing actions 44 % Creating top-level rows                         
amplxe: Executing actions 45 % Creating top-level rows                         
amplxe: Executing actions 45 % Setting data model parameters                   
amplxe: Executing actions 45 % Precomputing frequently used data               
amplxe: Executing actions 45 % Precomputing frequently used data               
amplxe: Executing actions 46 % Precomputing frequently used data               
amplxe: Executing actions 47 % Precomputing frequently used data               
amplxe: Executing actions 48 % Precomputing frequently used data               
amplxe: Executing actions 49 % Precomputing frequently used data               
amplxe: Executing actions 50 % Precomputing frequently used data               
amplxe: Executing actions 50 % Updating precomputed scalar metrics             
amplxe: Executing actions 50 % Discarding redundant overtime data              
amplxe: Executing actions 50 % Saving the result                               
amplxe: Executing actions 50 % Generating a report                             
amplxe: Executing actions 50 % Setting data model parameters                   
amplxe: Executing actions 75 % Setting data model parameters                   
amplxe: Executing actions 75 % Generating a report                             
General Exploration Metrics
---------------------------
[RESULTS FOLLOW] 
0 Kudos
5 Replies
Vitaly_S_Intel
Employee
862 Views

Hi Kostis,

Can you please clarify - so the total time of your application is just 5 seconds, you're launching VTune profiling in paused mode and then resume it - do you resume it manually or using itt_resume? when do you resume it? Do you have all the 5 seconds in result if you launch application under VTune not in paused mode?

0 Kudos
Kostis_K_
Beginner
862 Views

Hi Vitaly,

I have a client-server application and essentially I want to profile the server during a specific interaction with the client. So I do the following steps:

  1. Launch my application (server)
  2. From command line, launch VTune in paused mode and attach it to the server process
  3. Resume Vtune from command line
  4. A client interacts with the server
  5. Stop VTune from command line
  6. Shutdown the server

The five seconds I was referring to, was the elapsed time between steps 3 and 5. So, Vtune reports that it collected data for 5 seconds, but the plots show data for the first 1 or 2 seconds (depending on the run). For the rest seconds, memory utilization is reported to be constantly at ~0% and CPU utilization is ~100%.

This happens only when doing a memory-access profiling. If I do an advanced-hotspots or general-exploration profiling, everything works as expected.

My platform has two Intel E5-2699 v3, and I am using VTune 2016 update 4.

0 Kudos
Kostis_K_
Beginner
862 Views

Any help on this issue?

0 Kudos
Dmitry_R_Intel1
Employee
862 Views

Hi Kostis,

Can you please try to turn off the data limit by passing -data-limit=0 option to the amplxe-cl command line?

Also - please submit a ticket on Intel Premier and attach the result directory with the unexpected only 1 or 2 seconds of data.

0 Kudos
shihao_c_
Beginner
862 Views

Hi Kostis,

I am also using VTune 2016 update 4 for collecting a memory-access profile of my application.The command like this :

amplxe-cl -collect memory-access  -target-duration-type medium -target-pid 9546
 
But  either press CTRL-C or enter from another console window: amplxe-cl -r /root/r000macc -command stop  can not stop the command. When I kill the process 9546, the command  also can not stop.
 
Any thoughts?
 
Thanks
shihao
0 Kudos
Reply