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

961118: netCDF 2.4.3 prefill on Cray



Hi John,

> To: address@hidden
> From: address@hidden (John Sheldon)
> Subject: netCDF 2.4.3 prefill on Cray
> Organization: Princeton/GFDL
> Keywords: 199611160003.AA04557

In the above message you wrote:

> I finally got around to testing out 2.4.3 on our Cray IEEE T90.
> Unfortunately, I did not see any improvement in the speed of pre-fill.
> 
> I'll paste my short test code at the end of this mail, but the bottom
> line is that I can write the test file in 0.7 CP sec without prefill,
> but it takes ~150 CP sec with prefill.  There was no significant
> difference between 2.4.2 and 2.4.3.  (all this is with
> NETCDF_FFIOSPEC=cachea:512:2 )
> 
> Am I missing something??
> 
> Thanks once again-
> John P. Sheldon
> address@hidden
> 
> ===============================================
>       PROGRAM TIME_PREFILL
>       
> C Test program to time netCDF "pre-filling" on Cray....
> C
> C Modified 4/26/96 to demonstrate Cray problem with inconsistent
> C  precision in writing FLOAT's to attributes vs. data...
>       
> #include "netcdf.inc"
> 
>       PARAMETER (NI=360, NJ=180, NK=40, NL=3)
>       DIMENSION ARR(NI,NJ,NK), ID_DIM(4), ISTART(4), ICOUNT(4)
> 
> 
>       SPVAL=1.E35
> 
>       DO K=1,NK
>          DO J=1,NJ
>           DO I=1,NI
>              ARR(I,J,K) = SPVAL
>           ENDDO
>        ENDDO
>       ENDDO
> 
>       CALL NCPOPT(NCVERBOS+NCFATAL) 
> 
>       NCID = NCCRE('time_prefill.nc', NCCLOB, IRET)
> 
>       ID_DIM(1) = NCDDEF(NCID, 'lon',  NI, IRET)
>       ID_DIM(2) = NCDDEF(NCID, 'lat',   NJ, IRET)
>       ID_DIM(3) = NCDDEF(NCID, 'sigma', NK, IRET)
>       ID_DIM(4) = NCDDEF(NCID, 'time',   0, IRET)
> 
>       IDV = NCVDEF(NCID, 'TEMP', NCFLOAT, 4, ID_DIM, IRET)
>       
>       CALL NCAPT(NCID, IDV, 'missing_value', NCFLOAT, 1, SPVAL,IRET)
> 
> c      IFMODE = NCSFIL (NCID, NCNOFILL, IRET)
>       IFMODE = NCSFIL (NCID, NCFILL, IRET)
> 
>       CALL NCENDF(NCID, IRET)
> 
>       ISTART(1)=1
>       ISTART(2)=1
>       ISTART(3)=1
>       ICOUNT(1)=NI
>       ICOUNT(2)=NJ
>       ICOUNT(3)=NK
>       ICOUNT(4)=1
> 
>       DO L=1,NL
>          PRINT *,'Writing out time level ',L
>          ISTART(4)=L
>        CALL NCVPT(NCID, 1, ISTART, ICOUNT, ARR, IRET)
>       ENDDO
>       
>       CALL NCCLOS(NCID)
> 
>       END

If I understand correctly, you're wondering why it takes only 0.7 CP
seconds to "manually" write the entire netCDF dataset, but 150 CP
seconds when pre-fill is enabled.

At the moment, I don't know.  I'll discuss it with Glenn Davis, however,
and get back to you.

--------
Steve Emmerson   <address@hidden>