[Bug gcov-profile/95348] GCC records zero functions and modules in the profiling data file, ICC does NOT

qing.zhao at oracle dot com gcc-bugzilla@gcc.gnu.org
Wed Jun 10 20:17:06 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95348

--- Comment #31 from Qing Zhao <qing.zhao at oracle dot com> ---
> The explanation is not sufficient.
You mean the following explanation: (in comment 18)

we tried the scheme that all the processes generate profiling feedback data to
the single directory, 
but looks like a lot of profiling info got lost, resulting bad performance
effect. 
We thought this might relate to the parallel running environment of our
application, 
then we switched to this current approach. 

Per the documentation of -fprofile-dir=path at:
https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html
<https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html>

"When an executable is run in a massive parallel environment, it is recommended
to save profile to different folders.
 That can be done with variables in path that are exported during run-time:
%p
process ID.

%q{VAR}
value of environment variable VAR"


> You mentioned that merging takes 24 hours, so I would expect that directing
> merging will same you quite some time.
Yes, that will help.
But at the same time, if the profiling feedback size can be reduced, then the
time for merging will be reduced too. 

> I'm still missing information like:
> - how long does it take the training run?
I have asked the question too (I don’t have permission to run that real app, so
I need to collect such info from other engineer), but no answer so far.
> - how many parallel runs do you have?
Over 10000 processes are running at the same time. 
> - what's the average duration of a process?
I have asked the question too, no answer so far.


More information about the Gcc-bugs mailing list