Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

Fortran90 use of /Optimize on Itanium

SOLVED
Go to solution
Thomas Lyle
Occasional Visitor

Fortran90 use of /Optimize on Itanium

Our current production Fortran code is compiled using the following qualifier which is compatible with our Alpha systems:

/OPTIMIZE=(TUNE=EV67,LEVEL=5)

My question is, what should be used when compiling for the Itanium platform in place of "TUNE=EV67"?

Always err on the side of being explicit.
5 REPLIES
John Reagan
Respected Contributor

Re: Fortran90 use of /Optimize on Itanium

F90 only knows about 'ITANIUM2'. From the compiler's point of view, McKinley, Madison, and Montecito systems have similar characteristics. There is an MERCED keyword but OpenVMS I64 doesn't support such systems and I doubt you have one.

While I'm here, I'll point out that many of the Itanium compilers will accept /ARCH and /OPT=TUNE settings that mention Alpha variants. We silently map them all to ITANIUM2 to make it easier to use common command files between Alpha and I64 systems.
John Gillings
Honored Contributor
Solution

Re: Fortran90 use of /Optimize on Itanium

Thomas,

I'd recommend you look at your reasons for having TUNE=EV67, as they may no longer be valid.

By default compilers will choose a "reasonable" tuning, based on the version and the type of chip they're running on. The tuning should give reasonable performance on all chip types, rather than biasing the code to a specific generation.

The only reason you'd need TUNE=EV67 is if you were compiling on a later chip, and expected most of the users to be running on (older) EV67 systems.

So, for best performance on the system you're compiling on, do not specify any TUNE= value. It also eliminates this question.
A crucible of informative mistakes
Thomas Lyle
Occasional Visitor

Re: Fortran90 use of /Optimize on Itanium

Thank you John & John for your help!

We compile our software on one specific development cluster for distribution of the objects to multiple other production clusters both internal and external that use the EV67 compatible chipset.
As we migrate to Itanium, we will maintain a mix of Alpha and Itanium systems in these clusters for a while, thus the need to optimize based on our target production systems while our development systems may trail behind.

Always err on the side of being explicit.
John Reagan
Respected Contributor

Re: Fortran90 use of /Optimize on Itanium

I hate to correct John G, but the Alpha compilers still default to /ARCH=GENERIC and TUNE=GENERIC with GENERIC being somewhere between the original EV4 and EV5 (ie, no byte or word instructions).

You can say /ARCH=HOST and TUNE=HOST (any explicit /ARCH setting implies the same TUNE setting), but that isn't the default.

My rule of thumb is to use /ARCH to specify the oldest system you want to support and use TUNE to specify the system where you want it fastest.
Jan van den Ende
Honored Contributor

Re: Fortran90 use of /Optimize on Itanium

Thomas,

Welcome to the VMS Forum!

To say "thank you" in these forums, please see

http://forums1.itrc.hp.com/service/forums/helptips.do?#33

hth

Proost.

Have one on me.

jpe
Don't rust yours pelled jacker to fine doll missed aches.