[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 980720: Poor performance when reading across record dimension on Cray J90



>From: address@hidden
>Subject: Poor performance when reading across record dimension on Cray J90
>Organization: CSIRO
>Keywords: 199807200748.BAA07751 netCDF 3.4
>
>
> Hi,
>
> We recently installed V3.4 on a Cray J90SE. There were no problems with the
> installation but we have found the performance to be terrible in comparison
> to version 2.4. In particular, if you try to read a variable along the record
> dimension things virtually come to a standstill.
>
> As a test I created a file with two one-dimensional variables with 10,000
> elements each. With V2.4 this took about 0.2 seconds to read whereas with
> V3.4 this took well over 10 seconds. Performance appears to get worse with
> adding more variables and longer dimensions. On real applications some reads
> which formerly took a second or so we killed after 10 minutes or more.
>
>
> Feeling that the library had been installed incorrectly this was done again
> independently but no joy.
>
> Are there any obvious things that we may have missed?
>
> Thanks
>
> Russ Fiedler

I'm assuming that this machine uses CRAY floating point rather than IEEE.
If so, you need to verify that the system was built using
ncx_cray.c rather than ncx.c. This is a manual step, not done by the
'configure' script. (See the INSTALL file around line 114.)

Also, the file libsrc/ncio.c should be include ffio.c rather than
posix.c by conditional compilation. This _is_ done automatically, but
might be worth verifying or even manually overridding. (I find copying
ffio.c to  ncio.c on CRAY machines to be less confusing to the CRAY debugger.)

If both of these things are correct, then you might try fooling around with
the ffio parameters. I believe the defaults are the same for both releases,
tho.

-glenn