/[MITgcm]/MITgcm/pkg/mdsio/MDSIO_BUFF_3D.h
ViewVC logotype

Annotation of /MITgcm/pkg/mdsio/MDSIO_BUFF_3D.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Mon Jun 8 03:32:33 2009 UTC (15 years ago) by jmc
Branch: MAIN
File MIME type: text/plain
 - do tiled IO in 1 piece (all levels at a time)
 - multi-threaded: allow to read/write local (non-shared) array
   (was already working with singleCpuIO ; now works also without);
 - move barrier calls outside gather/scatter_2d to mds_read/write field

1 jmc 1.1 C $Header: /u/gcmpack/MITgcm/eesupp/inc/EEBUFF_SCPU.h,v 1.1 2009/05/16 13:33:33 jmc Exp $
2     C $Name: $
3    
4     CBOP
5     C !ROUTINE: MDSIO_BUFF_3D.h
6     C !INTERFACE:
7     C include "MDSIO_BUFF_3D.h"
8     C
9     C !DESCRIPTION:
10     C *==========================================================*
11     C | MDSIO_BUFF_3D.h
12     C | o Shared 3-D Buffers used for I/O
13     C *==========================================================*
14     CEOP
15    
16     C size3dBuf :: buffer 3rd dimension, corresponds to the maximum number
17     C of levels that can be read/written at a time.
18     C Note: minimum value = Nr, but in few cases (vertical interpolation,
19     C NrPhys from Fizhi, ...) needs to be larger. Here we pick 2*Nr
20     C which should be enough for most applications.
21     INTEGER size3dBuf
22     PARAMETER ( size3dBuf = 2*Nr )
23    
24     C-- COMMON /MDS_3D_BUFFERS/ 3-D Shared Local Buffers
25     C Those buffers have be in common block to be shared by all threads
26     C shared3dBuf_rx :: Heap storage buffer to which master thread
27     C read-in/write-from data which all threads copy from
28     C (during read) or copy to (during write).
29     COMMON /MDS_3D_BUFFERS/ shared3dBuf_r8, shared3dBuf_r4
30     Real*8 shared3dBuf_r8( sNx*sNy*size3dBuf*nSx*nSy )
31     Real*4 shared3dBuf_r4( sNx*sNy*size3dBuf*nSx*nSy )
32    
33     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

  ViewVC Help
Powered by ViewVC 1.1.22