[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::digital_unix

Title:DIGITAL UNIX(FORMERLY KNOWN AS DEC OSF/1)
Notice:Welcome to the Digital UNIX Conference
Moderator:SMURF::DENHAM
Created:Thu Mar 16 1995
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:10068
Total number of notes:35879

8593.0. "post link optimizer ?" by HGOVC::XFMV01::ANANDV () Mon Jan 27 1997 05:42

hi,
	I want to use postlink optimizer available on digital unix.
I am working on digital unix 3.2c. I have written a small program that
sorts a list of integers (sort.c).

	The use of post link optimizer is given in digital technical
journal, volume 8 number 3 1996.

	I followed following steps as described in that journal.

first an executable is created using -non_shared and -om options producing
prog, then use pixie to create pixie.prog (executable ). Now execute pixie.prog
to produce prog.Counts. Finally build prog again with -non_shared -om -WL,
-om_ireorg_feedback option.



$ cc -o prog sort.c -non_shared -om
$ pixie prog
$ prog.pixie
$ cc -o prog sort.c -non_shared -om -WL,om_ireorg_feedback,prog 
om:value not in range of this table.

I get error om:value not in range of this table.

can any one ans following questions.

1) what does this error message mean and how to remove it.
2) whether the use of post link optimizer is correct, if not
   what is the correct method.



regds
anand







T.RTitleUserPersonal
Name
DateLines
8593.1QUARRY::nethCraig NethMon Jan 27 1997 09:5423
>first an executable is created using -non_shared and -om options producing
>prog, then use pixie to create pixie.prog (executable ). Now execute pixie.prog
>to produce prog.Counts. Finally build prog again with -non_shared -om -WL,
>-om_ireorg_feedback option.

Almost!

Here are the steps:

	1. create an executable using -non_shared BUT WITHOUT -om
	2. use pixie to create prog.pixie (creates prog.Addrs)
	3. execute prog.pixie to produce prog.Counts
	4. Build program with -non_shared -om -WL,-om_ireorg_feedback,prog opt.

In V4.0, you can use the new -prof_gen option to handle steps 1&2, and the
new -prof_use_om_feedback flag to handle step 4.

You got the error message because you used -om on your 'first executable' -
since OM reorganizes the program, the program that you collected the
feedback data was reorganized, and that fouled up the mapping of the feedback
data to the original program that was being attempted with om_ireorg_feedback.

Craig
8593.2few more ?HGOVC::XFMV01::ANANDVThu Jan 30 1997 01:5518
hi,
	thanx a lot.
	
	I have few more questions regard to that.

	When I used this flag on a program that did sorting of around
	2000 integers, the performance improved greatly.

	I have two questions
	
	1) On what all types of programs should i expect performance 
           improvements ?
	2) Are there any side effects of this flag i.e can it degrade
	   the performance in any case or effect the accuracy of data.

regds
anand

8593.3right -- No, Left -- NO, RIGHT -- NO, LEFT!!!HYDRA::NEWMANChuck Newman, 508/467-5499 (DTN 297), MRO1-3/F26Thu Jan 30 1997 09:3912
I too was intrigued by this, but unfortunately can't try it.

Several Digital -- oops, DIGITAL -- libraries aren't provided in
.a form but only in .so form, precluding linking -non_shared.

    Link call_shared to save space
no, link  non_shared because it runs faster
no, link call_shared because it runs the same speed
no, link  non_shared because you can then do post link optimizations
no, link call_shared because you don't have all the .a files you need

Sigh...
8593.4More answersSMURF::NETHCraig NethThu Jan 30 1997 11:1728
    re: .3:
    
    We're working on making -om work on -call_shared programs.
    
    re: .2:
    
    >1) On what all types of programs should i expect performance
    >   improvements ?
    
    Largish, cpu-intensive programs get the most improvements.
    
    > 2) Are there any side effects of this flag i.e can it degrade
    >    the performance in any case or effect the accuracy of data.
    
    If -om breaks your program (i.e. causes bad answers) that's usually an
    OM bug and we want to know about it.
    
    Sometimes, OM will make the program run slower, especially if you've
    already tuned the heck out of it with compiler switches and KAP.
    For example, we have some Fortran programs we're looking at that 
    OM manages to slow down, because the compilers had already gotten
    just about everything 'right', and OM's rearrangements actually hurt.
    
    About 8-10% of the TPC-C numbers we're always bragging about are
    the result of -om technology - OM really helps applications like
    database servers.
    
    Craig
8593.5more flags needed ?HGOVC::XFMV01::ANANDVMon Feb 03 1997 02:2520
hi,

	I just ran the sorting program of 2000 integers.
	with -om flag, without any flag and with O4 flag.

	I expected the fastest time would be of the one using
	-om flage, but the program with -O4 flag runs faster 
	(almost twice).
	
	Is this expected behaviour ?
	
	Should I include some more flags in the one where
	I use -om flag.


 

regds
anand