Hello,
I can recall a couple of differences ...
IBM PPC systems are big endian, Intel is little endian,
so watch for any "memory tricks" you may have played,
also unformatted files.
Intel uses 80 bit fp registers, PPC uses 64 bit registers,
so fp results may differ in low order bits. Also, overflow
may occur at a different time (when converting back to 64 bit
format from 80 bit internal) where the PPC chip detects
the out-of-range value sooner.
For exception handling, see if your compiler supports the IEEE
intrinsic module. Some do. If so, you may still have to write
some code, but at least it can be standard conforming henceforward.
For standard compliance, try using whatever switch (most have one)
your compiler supports for checking "strict standard usage".
Some vendors even let you check _which_ standard f95/f90/f77 etc
is being compared with your code. (For completeness, f66
was so loose there wasn't much point ... :-)
If the f77 standard compliance is in question, try ftncheck
(for ftncheck, try Netlib, or Fordham).
Good luck!, and post your experiences :-)
--
Cheers!
Dan Nagle
Purple Sage Computing Solutions, Inc.
On Tue, 17 Sep 2002 13:33:23 +0100, David Byrne <[log in to unmask]>
wrote:
>I'd be curious to know if anyone is aware of problems I'm likely to have when moving
>a numerically-intensive f90 program from an IBM RS/6000 system using Power2SC
>chips to a cluster built around Intel Pentium III chips.
>
>For example, I have heard that different chips may deal with exception handling differently
>and I may have to write code to trap overflows.
>
>The code is intended to use ANSI standard fortran only, but I'm not sure I have
>succeeded at doing this.
>
>Thanks for any thoughts on the issue.
>
>David Byrne
>dmb3h at virginia dot edu
>
>(Apologies for cross-posting a question that is not strictly about f90.
>This was originally posted on comp.sys.intel and got little response.)
>(The program does not use parallel processing.)
|