Operating System - OpenVMS
1751750 Members
4725 Online
108781 Solutions
New Discussion юеВ

F90 on Itanium vs F77 on AX

 
Joseph Huber_1
Honored Contributor

Re: F90 on Itanium vs F77 on AX

Yes I see, for records/structures no individual member offsets seen, only the length.
So the structure length is the only (weak) indication of correct alignment.

For commons, all individual variable offsets are listed though.
http://www.mpp.mpg.de/~huber
Jimbo Mueller
New Member

Re: F90 on Itanium vs F77 on AX

It would seem that the work-around for this loss of flexibility is to build a progeam in debug and then list all the addresses of the variables in the appropriate record using the EVALUATE/ADDRESS function in DEBUG. What a waste.

Thanks for all of your help, though!
Jimbo Mueller
New Member

Re: F90 on Itanium vs F77 on AX

Do you think the HP engineers would consider putting /CROSS_REFERENCE back into F90???
Hoff
Honored Contributor

Re: F90 on Itanium vs F77 on AX

I'd look to use SDL data structure definitions if staying with OpenVMS, and toward using integrated data-based checksums here. Correctly done, a checksum can spot all manner of error. And it's verification at run-time, not compile time.

For a few projects, I've used SDL post-processing to determine that the offsets are maintained correctly across versions and updates. But the checksum and basic version checks at run-time catches cases where skews happen "live"...

I'd also tend to investigate RMS files with global buffers here, rather than continuing to use commons. Commons can and do work, but RMS works better in my experience; it deals with all the edge cases and cache management for you. (By the time you get done dealing with these cases, you end up re-implementing tracts of RMS.)

If you're currently running on VAX uniprocessors, then the addition of SMP has the potential here to expose all sorts of latent bugs, too. (Which is another reason to go to RMS...)

(Itanium boxes are massively faster than VAX boxes, so do try to avoid letting any of the older and classic design and performance assumptions of VAX creep in here. Not without specific verification.)