Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

PGO - no *.dyn to merge, pgopti.dpi missing

Mohammed_I_
Beginner
1,452 Views

 

Hi,

I'm Running ICC with PGO, when ICC created the *.dyn files, I changed the (-prof_gen) flag to (-prof_use -ipo) and recompiled.

Compilation failed and I got:

remark #30056: no .dyn files to merge.

remark #30056: no .dyn files to merge.
remark #30056: no .dyn files to merge.
remark #30056: no .dyn files to merge.
remark #30056: no .dyn files to merge.
error #11500: Feedback file ./pgopti.dpi missing

 

Should I move the created *.dyn files to another directory ?

Please advice,

Thanks In Advance,

Mohammed

0 Kudos
10 Replies
Mohammed_I_
Beginner
1,452 Views

 

BTW, I can found /src/pgopti.dpi, I mean compiler generate this file, but somehow it claimed that the file is missing, it's a bit strange !!!

0 Kudos
Sukruth_H_Intel
Employee
1,452 Views

Hi Mohammed,

                           Usually when you use -prof-use option, compiler would search for *.dyn files in the present working dir. But you can redirect the output files to specific dir using the compiler option "-prof-dir <dir>", But the "dir" should already exist.

 BTW, I can found /src/pgopti.dpi, I mean compiler generate this file, but somehow it claimed that the file is missing, it's a bit strange !!!

Could you please check the time stamp of this .dpi file?

Do you also see the *.dyn files in the /src dir?

Are you compiling from /src dir itself?

What are your compiler options?

Regards,

Sukruth H V

0 Kudos
Mohammed_I_
Beginner
1,452 Views

Thanks Sukruth-v for the fast response.

1.Time stamp is today when 1st compiled.   (2014-07-07 09:47)

2. Yes I'm seeing the *.dyn.

Let's assume I'm compiling from dir:A, the *.dyn can be seen /A/B/*.dyn files.

3.  I'm not compiling from the /src dir, I had tried to do that and got the same error.

4.  About the compiler options, as said I'm using -prof_use -ipo, there are private information regarding these flags which belongs to the company, if you direct me to specific things your are searching for, I will be supply the answer.

Don't hesitate to ask for anything could assist us to solve this issue.

Thanks again,

Mohammed 

 

0 Kudos
Sukruth_H_Intel
Employee
1,452 Views

Hi Mohammed,

                           I was able to reproduce your issue only when i compile my program using "-prof-use" in a different dir, where there are no *.dyn files.

Let's assume I'm compiling from dir:A, the *.dyn can be seen /A/B/*.dyn files.

In the above case, you may need to cd to dir:B and then compile the source files. But you mentioned that you were able to see *.dyn and *.dpi files in /src and if you compile from the /src dir, you still get the same error. Could you please check the permission of this *.dyn and *.dpi files?

Regards,

Sukruth H V

0 Kudos
Mohammed_I_
Beginner
1,452 Views

Thanks Sukruth H V

I had changed the permissions for *.dyn files, and dpi_file and dpi.lock to FULL, but still getting the same !!

 

0 Kudos
Mohammed_I_
Beginner
1,452 Views

I had copied the *.dyn and dpi_file to different places in the src.. with full permissions .. in one case suddenly I got many errors: "undefined reference to" !!!

(All I did is to copy these files into another directory)

Any suggestions ?

Thanks a lot Sukruth H V.

Mohammed

0 Kudos
Sukruth_H_Intel
Employee
1,452 Views

Hi Mohammed,

                           Let's try one more workaround. Place your *.dyn and *.dpi files back to the dir from where you are compiling/linking and can you remove the "-ipo" option and check if it works fine? This is just a check.

Regards,
Sukruth H V

0 Kudos
HonagOdd
Beginner
1,403 Views

Hi Mohammed

Did you run into a problem with feedback phase?. if you move the source code to another place. the feedback phase will be not effective, the performance will be not improved

Thanks.

0 Kudos
Viet_H_Intel
Moderator
1,386 Views

Hi HonagOdd,

Seems like you have a different issue here. 

If you moved your source code to another location, then the directory stored in pgopti.dpi won't be the same anymore. As the result, compiler can't find your source code and profiled data will be ignored.

What you need to do is to modify the directory in pgopti.pdi file.

Assume  that /project1/my_dir1 was the top of tree for your project stored in pgopti.dpi file.

Now, you moved your source code to /project2/my_dir2, what you need to do is to invoke profmerge to relocate the source for you.

$profmerge -src_old /project1/my_dir1 -src_new  /project2/my_dir2 pgopti.dpi 

Now, you are good to go, the profiled data won't be ignored  and you will see the perf gain as seen with /project1/my_dir1 with -prof-use build.

Thanks,

HonagOdd
Beginner
1,369 Views

Hi Viet_H_Intel

Thank you very much for your answer. I performed follow your steps and it worked.

Thanks,

Hoang

0 Kudos
Reply