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

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

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


Revision 1.7 - (hide annotations) (download)
Tue Sep 4 14:41:24 2007 UTC (16 years, 9 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 jmc 1.7 C $Header: /u/gcmpack/MITgcm/eesupp/inc/GLOBAL_SUM.h,v 1.6 2007/09/01 22:31:46 jmc Exp $
2 cnh 1.3 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 jmc 1.6 C | GLOBAL\_SUM.h
10     C | o Globals used by Fortran global sum routine.
11 cnh 1.3 C *==========================================================*
12 adcroft 1.2 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 cnh 1.3 C *==========================================================*
30     CEOP
31 adcroft 1.2
32 jmc 1.7 COMMON / GSUM_COMMON_R8 / phiGSRL, shareBufGSR8
33 jmc 1.6 c & , phiVGSRL
34 edhill 1.5 Real*8 phiGSRL (lShare8, MAX_NO_THREADS )
35 jmc 1.7 Real*8 shareBufGSR8 ( nSx, nSy )
36 jmc 1.6 c Real*8 phivGSRL(MAX_VGS, MAX_NO_THREADS )
37 edhill 1.5
38 jmc 1.6 COMMON / GSUM_COMMON_R4 / phiGSRS
39     c & , phiVGSRS
40 edhill 1.5 Real*4 phiGSRS (lShare4, MAX_NO_THREADS )
41 jmc 1.6 c Real*4 phivGSRS(MAX_VGS, MAX_NO_THREADS )
42 edhill 1.5
43 jmc 1.6 COMMON / GSUM_COMMON_I / phiGSI
44     c & , phiVGSI
45 edhill 1.5 INTEGER phiGSI (lShare4, MAX_NO_THREADS )
46 jmc 1.6 c INTEGER phivGSI (MAX_VGS, MAX_NO_THREADS )
47 edhill 1.5
48     CEH3 ;;; Local Variables: ***
49     CEH3 ;;; mode:fortran ***
50     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22