I am using Application Performance Snapshot(APS) of Parallel Studio XE 2017 cluster edition with an MPI application using OpenMP and Hypre Library. My application spends most of the time ( almost 80% ) in Hypre Library. Actual run of the program takes 134 min. but the APS was showing Elaspsed time of 1393.0s.
Why is this difference between Actual Time taken and Elapsed Time?
What does the shown elapsed time include?
Do we need to compile Hypre library with special compiler options to include its execution time in elapsed time?
Does the process pinning to hosts affect the timing of APS compared to normal mpirun command with machinefile?
I apologize for the delay in responding to this question. It doesn't look like APS is figuring the Hypre routines in its calculations - it is meant to be a simple single-node profiler. At this point I am not sure what will enable APS to analyze the Hypre portions of the code if they're running on different hosts. There is a separate snapshot tool for MPI applications you can look into here: https://software.intel.com/performance-snapshot.
I will take your questions to the engineering team if they haven't seen them already.
Thank you for your feedback,
I would recommend to try the application with APS 2018 Beta that is posted here: https://software.intel.com/sites/products/snapshots/application-snapshot/
We added MPI support there and it has a bit different collection method so I expect it should show you Elapsed time closer to what you see for actual run.
I can guess that the elapsed time cut might have been connected with default data limit that is set for APS tech preview to 500Mb per result.
Thanks & Regards, Dmitry