Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

[PGO] no .dyn files

bucaioni__thomas
New Contributor I
234 Views

Hello,

The INTEL_PROF_DYN_PREFIX variable is set to /tmp, but no .dyn file appear in the directory. The flags I use are:

-prof-gen=threadsafe -mtune=haswell -extend-source -static -echo

and my program exits with the stop command, which shouldn't be considered an error. Did I miss something?

0 Kudos
10 Replies
Steve_Lionel
Black Belt Retired Employee
234 Views

My guess is that the STOP bypasses the normal image exit code. Try removing the STOP and see what it does.

 

bucaioni__thomas
New Contributor I
234 Views

The sacct command returns ExitCode 0:0 for both jobs, with and without commenting the stop instruction. The instruction immediately following stop is end.

When the INTEL_PROF_DYN_PREFIX variable is not defined, there is no .dyn file neither in the run directory. The run directory is not the same as the compilation directory, it's not allowed by the administrator

Steve_Lionel
Black Belt Retired Employee
234 Views

It's been a long time since I've played with PGO. I'll leave this to others with more experience. You might want to try some simple examples all in the same directory, and then incrementally make environment changes to closer to your real one to see what changes.

Barbara_P_Intel
Moderator
234 Views

According to the Developer Guide

NOTE The value specified in this environment variable must not contain < > : " / \ | ? * characters. The default naming scheme is used if an invalid prefix is specified.

Maybe the prof-dir compiler option will help. Details at the above link.

 

bucaioni__thomas
New Contributor I
234 Views

Barbara P (Intel) wrote:

NOTE The value specified in this environment variable must not contain < > : " / \ | ? * characters. The default naming scheme is used if an invalid prefix is specified.

So the .dyn file should be in the directory of execution?

bucaioni__thomas
New Contributor I
234 Views

Steve Lionel (Ret.) (Blackbelt) wrote:

You might want to try some simple examples all in the same directory, and then incrementally make environment changes to closer to your real one to see what changes.

With a simple hello.f, there is a .dyn file. Thank you

bucaioni__thomas
New Contributor I
234 Views

bucaioni, thomas wrote:

The run directory is not the same as the compilation directory, it's not allowed by the administrator

So, the compile and run directories must be the same... Many thanks

The execution time has improved only 2" compared to the -Ofast option. The first compilation doesn't need the flag -Ofast, only the second one. Am I right?
Maybe it takes to remove the .o files before the second compilation?

Barbara_P_Intel
Moderator
234 Views

I'm sorry that I wasn't clearer.   The environment variable INTEL_PROF_DYN_PREFIX must not contain < > : " / \ | ? * characters.  /tmp is not valid.

The compiler option -prof-dir  (-Qprof-dir on WIndows) specifies a directory for profiling information output files (*.dyn and *.dpi). The specified directory must already exist.

 

bucaioni__thomas
New Contributor I
234 Views

Barbara P (Intel) wrote:

The compiler option -prof-dir  (-Qprof-dir on WIndows) specifies a directory for profiling information output files (*.dyn and *.dpi). The specified directory must already exist.

It worked, thank you very much for your help

Barbara_P_Intel
Moderator
234 Views

That's good news!  You're welcome!

Reply