1752288 Members
4284 Online
108786 Solutions
New Discussion юеВ

Re: f90 optimzation

 
Rudolf_1
Occasional Advisor

f90 optimzation

I'm compiling old code (f77) with f90 and it works fine for +O0, +O1, +O2 and +O3 on pa-risc machines, but I get an error message "Unsatisfied symbol ..." when using +O3 on an itanium machine (+O0, +O1, +O2 ok). My compiler options on the itanium machine beside +O3 are: +save +noppu.

Has anybody an idea what's going wrong?
Many thanks in advance

rudy
5 REPLIES 5
Zygmunt Krawczyk
Honored Contributor

Re: f90 optimzation

Hi Rudolf,

try to use +Oinitcheck instead of +save.
Read the following:

If performance is an issue, consider using the +Oinitcheck
option. Unlike the +save option, +Oinitcheck does not ├в save├в variables├в it does not move
variables into static storage. Instead, it causes the compiler to search for all local, nonarray,
nonstatic variables that have not been defined before being used. Any that it finds are
initialized to 0 on the stack each time the procedure in which they are declared is invoked.

The +save command-line option inhibits many of the optimizations
performed by the compiler. Generally, you will get better performance with
the +Oinitcheck option, which also sets uninitialized variables to zero but
is more selective than +save.

Regards
Zygmunt Krawczyk
Honored Contributor

Re: f90 optimzation

One more suggestion. Make sure you are using the current version of f90 compiler on Itanium machine. The current version is 2.8.5 (version 2.8 from AR March 2004 Application CD and patch PHSS_31324 2.8 to 2.8.5).

Regards,
Zygmunt
Zygmunt Krawczyk
Honored Contributor

Re: f90 optimzation

To check version of the f90 compiler run:

f90 +version
Rudolf_1
Occasional Advisor

Re: f90 optimzation

Hi Zygmunt,

I changed the compile options to +Oinitcheck +noppu +O3 and got the same error message. The compiler I'm using is HP F90 v2.8.4.

One thing which might be interesting: the messages "Unsatisfied symbol ..." refer to external functions which are altogether in the same single file.

Regards
R
Zygmunt Krawczyk
Honored Contributor

Re: f90 optimzation

Rudolf,

it looks that compiler bombs during compiling or optimizing that external function. Try to add -v option to compiler and look at the output.

To make sure, that you have up to date compiler and tools, i recommend to install the following patches:

PHSS_29678 s700_800 11.23 Math Library Cumulative Patch
PHSS_30080 s700_800 11.2X FORTRAN I/O Library [libIO77]
PHSS_30230 s700_800 11.23 Integrity Linker + fdp
PHSS_30437 s700_800 11.X FORTRAN Intrinsics [libF90 B.11.23.16]
PHSS_30711 s700_800 11.[22/23] FORTRAN90 +U77 support library [libU77]
PHSS_30849 s700_800 11.23 u2comp/be/plugin library Patch
PHSS_31086 s700_800 11.23 Integrity Unwind Library
PHSS_31324 s700_800 11.23 Fortran Product Patch, v2.8 to v2.8.5

Regards,
Zygmunt