/[MITgcm]/MITgcm/eesupp/inc/GLOBAL_SUM.h
ViewVC logotype

Contents of /MITgcm/eesupp/inc/GLOBAL_SUM.h

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


Revision 1.7 - (show annotations) (download)
Tue Sep 4 14:41:24 2007 UTC (17 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint60, checkpoint61, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59g, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint61f, checkpoint61n, checkpoint59j, checkpoint61e, checkpoint61g, checkpoint61d, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i
Changes since 1.6: +3 -2 lines
File MIME type: text/plain
add buffer for S/R GLOBAL_SUM_TILE

1 C $Header: /u/gcmpack/MITgcm/eesupp/inc/GLOBAL_SUM.h,v 1.6 2007/09/01 22:31:46 jmc Exp $
2 C $Name: $
3 CBOP
4 C !ROUTINE: GLOBAL_SUM.h
5 C !INTERFACE:
6 C include "GLOBAL_SUM.h"
7 C !DESCRIPTION:
8 C *==========================================================*
9 C | GLOBAL\_SUM.h
10 C | o Globals used by Fortran global sum routine.
11 C *==========================================================*
12 C | The global sum shared memory scheme uses global heap data|
13 C | structures (.i.e COMMON blocks ). Each thread writes to |
14 C | an its own element of the shared memory array and then |
15 C | one thread reads all the entries and sums them. The sum |
16 C | result is then read by all threads. |
17 C | Remember - you are working with regions of memory that |
18 C | are being updated concurrently by different threads. |
19 C | What happens, when it happens and who gets to see what |
20 C | happens at what stage depends on the computer systems |
21 C | memory model. Every computer has a different memory model|
22 C | and they are never simple. In all current platforms it is|
23 C | possible for one thread to see events happening in a |
24 C | different order from the order they are written in the |
25 C | code. |
26 C | Unless you understand this it is not a good idea to |
27 C | make modifications te way these header files are setup or|
28 C | the way the global sum routines work. |
29 C *==========================================================*
30 CEOP
31
32 COMMON / GSUM_COMMON_R8 / phiGSRL, shareBufGSR8
33 c & , phiVGSRL
34 Real*8 phiGSRL (lShare8, MAX_NO_THREADS )
35 Real*8 shareBufGSR8 ( nSx, nSy )
36 c Real*8 phivGSRL(MAX_VGS, MAX_NO_THREADS )
37
38 COMMON / GSUM_COMMON_R4 / phiGSRS
39 c & , phiVGSRS
40 Real*4 phiGSRS (lShare4, MAX_NO_THREADS )
41 c Real*4 phivGSRS(MAX_VGS, MAX_NO_THREADS )
42
43 COMMON / GSUM_COMMON_I / phiGSI
44 c & , phiVGSI
45 INTEGER phiGSI (lShare4, MAX_NO_THREADS )
46 c INTEGER phivGSI (MAX_VGS, MAX_NO_THREADS )
47
48 CEH3 ;;; Local Variables: ***
49 CEH3 ;;; mode:fortran ***
50 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22