[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
NetCDF 3.5.1 beta version on Cray T3E
- Subject: NetCDF 3.5.1 beta version on Cray T3E
- Date: Thu, 26 Sep 2002 13:27:16 -0600
Helen,
>Date: Thu, 26 Sep 2002 17:34:39 +0100
>From: Helen Fairhurst <address@hidden>
>Organization: Met Office
>To: address@hidden,
>To: address@hidden
>Subject: Re: NetCDF 3.5.1 beta version on Cray T3E
>Keywords: 200209191302.g8JD21122412
The above message contained the following:
> I recompiled with a -g on the C compiler too, i.e. 'CC='-O3 -g'
> and got the following (with line numbers) from the FPE.
>
>
> Making `test' in directory /tmp/netcdf/netcdf-3.5.1-beta/src/f90
>
> /opt/ctl/bin/f90 -o netcdf_test netcdf_test.f90 netcdf.o
> typeSizes.o ../libsrc/libnetcdf.a
> SIGNAL: Floating point exception (invalid floating point operation)
>
> Beginning of Traceback (PE 0):
> Interrupt at address 0x800068d68 in routine 'ncx_put_float_double'.
Unfortunately, the above still doesn't tell us where in
"ncx_put_float_double" the floating-point exception occurred.
I suspect, however, that the exception occurs in the line
float xx = (float) *ip;
and results from attempting to cram a too-large or too-small double value
into a float.
> Called from line 3600 (address 0x80007245c) in routine
> 'ncx_putn_float_double'.
> Called from line 975 (address 0x800057534) in routine
> 'ncx_pad_putn_Idouble'.
> Called from line 2123 (address 0x80005b70c) in routine
> 'nc_put_att_double'.
This might be the problem. The routine below (NF_PUT_ATT_REAL) is calling
the routine above (nc_put_att_double). If a Fortran REAL isn't a C
double on the T3E, then this won't work.
Look at the file "fortran/nfconfig.h". Is NF_REAL_IS_C_DOUBLE defined?
> Called from line 117 (address 0x8000b4370) in routine 'NF_PUT_ATT_REAL'.
> Called from line 244 (address 0x800006394) in routine
> 'NF90_PUT_ATT_FOURBYTEREAL_in_NETCDF'.
> Called from line 51 (address 0x800001d74) in routine 'NETCDFTEST'.
> Called from line 475 (address 0x800000c94) in routine '$START$'.
> End of Traceback.
> sh: 54577 Floating exception(coredump)
> Make: "./netcdf_test; \
To check the configure script's determination of the mapping between
Fortran and C types, would you please send me the standard output of the
configure script's execution. Please do a "make distclean" first.
...
> When I reread the Install instrs it seemed to me that "libsrc/ncx_cray.c"
> was only needed on Cray vector architectures and the T3E is scalar, IEEE.
> When I reverted back to the normal "libsrc/ncx.c" file I was able to get
> much further with 'make test', so it seemed the right thing to do.
> Please let me know if you disagree here.
You are correct. You should use the regular "ncx.c" file on non-vector
CRAY systems.
> Any further input/ideas appreciated. Shall I still try modifying
> the code in "libsrc/ncx.c" as suggested by Steve or would the
> above errors/line nos imply something else? Sorry I haven't got
> back to you sooner, but I have been taking some training this week.
> Also, I am away for the next couple of days, so this is as far as
> I have got with this problem this week. I thought I would send
> you an update and see if this sparked off any other thoughts.
> When I get back I will try building again and get back to you.
>
>
> Many thanks,
> Helen
> --
> Helen Fairhurst Supercomputer Support Analyst
> Met Office London Road Bracknell Berkshire RG12 2SZ United Kingdom
> Tel: +44 (0)1344 856097 Fax: +44 (0)1344 854412
> E-mail: address@hidden http://www.metoffice.com
Regards,
Steve Emmerson <http://www.unidata.ucar.edu>