[MITgcm-support] A few new optfiles
ce107 at ocean.mit.edu
Thu Oct 12 14:01:21 EDT 2006
On Wed 11 Oct 2006 22:34, Mark Hadfield wrote:
> Flushed with my success so far, I have moved onto the Cray T3E platform.
> I have run a small serial simulation OK but have hit a problem with mnc:
> it looks like a manifestation of the old "float equivalent to double "
To clarify this for the benefit of other souls that may have their hands on a
T3E (one of the finest scaling parallel machines ever):
In Cray Fortran double precision is 128bit long and single precision is 64
bits long. This made more sense in the non-standardized (IEEE754) days of
Cray (vs. IBM or VAX or CDC etc.) arithmetic as you would get a wider
exponent but a smaller mantissa with Cray's 64bit floating point for vector
machines than what one normally expects for double precision these days
(meaning a Cray single precision number would live in the mantissa/exponent
configuration space between an IEEE754 single and an IEEE754 double). When
Cray introduced the T3D, they kept their non-standard conventions around (eg.
their 1 Word = 4 bytes) so as not to break their vector users' code even
though none of the native Alpha processor floating point formats (IEEE and
various VAX variants) mapped to theirs. Interestingly enough Cray C on the
T3 series always used the native Alpha processor IEEE formats so mixing
Fortran and C code on the T3 series requires:
a) Avoiding use of any generic REAL, INTEGER etc. declarations
b) or if they are to be found avoiding the use of any autodoubling flag on the
c) and making sure no #defines redefine things to REAL, COMPLEX etc. without a
It's a bit messy but it works. Newer Cray vector (X1 and after) and scalar
(XT3, XD1) machines have completely abandoned both Cray arithmetic and any
pretense to mimicking it by default.
Dr. Constantinos Evangelinos
Department of Earth, Atmospheric and Planetary Sciences
Massachusetts Institute of Technology
More information about the MITgcm-support