Back to home page

darwin3

 
 

    


File indexing completed on 2024-12-17 18:30:56 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
7d725ac84b Jean*0001 CBOP
                0002 C     !ROUTINE: EEBUFF_SCPU.h
                0003 C     !INTERFACE:
                0004 C     include "EEBUFF_SCPU.h"
                0005 C
                0006 C     !DESCRIPTION:
                0007 C     *==========================================================*
                0008 C     | EEBUFF_SCPU.h
                0009 C     | o Buffers used by S/R gather_2d and scatter_2d,
                0010 C     |   in mapping 2-D local array from all processes to/from
                0011 C     |   2-D Global (X,Y) array from Master-Proc (SingleCPU)
                0012 C     | o Contain both 2-D Global (X,Y) buffers and
                0013 C     |   Shared Local Buffer (for multi-threaded).
                0014 C     *==========================================================*
                0015 C     | presently used with:
                0016 C     | - SingleCpu IO
                0017 C     | - global-sum SingleCpu
                0018 C     *==========================================================*
                0019 CEOP
                0020 
                0021       INTEGER xyBuffer_size
                0022 #ifdef ALLOW_EXCH2
                0023       PARAMETER ( xyBuffer_size = W2_ioBufferSize )
                0024 #else  /* ALLOW_EXCH2 */
                0025       PARAMETER ( xyBuffer_size = Nx*Ny )
                0026 #endif /* ALLOW_EXCH2 */
                0027 
                0028 C--   COMMON /EE_BUFFERS_GLOBAL/  2-D Global Buffers
                0029 C     Those buffers are in common block to save some memory
                0030 C     xy_buffer_r8 :: 2-D global Real*8 buffer.
                0031 C     xy_buffer_r4 :: 2-D global Real*4 buffer.
                0032       COMMON /EE_BUFFERS_GLOBAL/ xy_buffer_r8, xy_buffer_r4
                0033       Real*8 xy_buffer_r8(xyBuffer_size)
                0034       Real*4 xy_buffer_r4(xyBuffer_size)
                0035 
                0036 C--   COMMON /EE_BUFFERS_LOCAL/  2-D Shared Local Buffers
                0037 C     Those buffers have be in common block to be shared by all threads
                0038 C sharedLocBuf_rx :: Heap storage buffer to which master thread copies
                0039 C                    data (during read) as part of a scatter/gather and
                0040 C                    from which all threads read data (during read).
                0041       COMMON /EE_BUFFERS_LOCAL/ sharedLocBuf_r8, sharedLocBuf_r4
                0042       Real*8 sharedLocBuf_r8(1:sNx,1:sNy,nSx,nSy)
                0043       Real*4 sharedLocBuf_r4(1:sNx,1:sNy,nSx,nSy)
                0044 
                0045 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|