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

Diff of /MITgcm/eesupp/inc/GLOBAL_MAX.h

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

revision 1.2 by adcroft, Tue May 29 14:01:35 2001 UTC revision 1.3 by cnh, Fri Sep 21 03:54:35 2001 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3  C  CBOP
4  C     /==========================================================\  C     !ROUTINE: GLOBAL_MAX.h
5  C     | GLOBAL_MAX.h                                             |  C     !INTERFACE:
6  C     | o Globals used by Fortran global max routine.            |  C     include "GLOBAL_MAX.h"
7  C     |==========================================================|  C     !DESCRIPTION:
8  C     | The global max shared memory scheme uses global heap data|  C     *==========================================================*
9  C     | structures (.i.e COMMON blocks ). Each thread writes to  |  C     | GLOBAL_MAX.h                                              
10  C     | an its own element of the shared memory array and then   |  C     | o Globals used by Fortran global max routine.            
11  C     | one thread reads all the entries and maxs them. The max  |  C     *==========================================================*
12  C     | result is then read by all threads.                      |  C     | The global max shared memory scheme uses global heap data
13  C     | Remember - you are working with regions of memory that   |  C     | structures (.i.e COMMON blocks ). Each thread writes to  
14  C     | are being updated concurrently by different threads.     |  C     | an its own element of the shared memory array and then    
15  C     | What happens, when it happens and who gets to see what   |  C     | one thread reads all the entries and maxs them. The max  
16  C     | happens at what stage depends on the computer systems    |  C     | result is then read by all threads.                      
17  C     | memory model. Every computer has a different memory model|  C     | Remember - you are working with regions of memory that    
18  C     | and they are never simple. In all current platforms it is|  C     | are being updated concurrently by different threads.      
19  C     | possible for one thread to see events happening in a     |  C     | What happens, when it happens and who gets to see what    
20  C     | different order from the order they are written in the   |  C     | happens at what stage depends on the computer systems    
21  C     | code.                                                    |  C     | memory model. Every computer has a different memory model
22  C     | Unless you understand this it is not a good idea to      |  C     | and they are never simple. In all current platforms it is
23  C     | make modifications te way these header files are setup or|  C     | possible for one thread to see events happening in a      
24  C     | the way the global sum routines work.                    |  C     | different order from the order they are written in the    
25  C     \==========================================================/  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        COMMON / GMAX_COMMON_R8 / phiGMRL        COMMON / GMAX_COMMON_R8 / phiGMRL
32        Real*8  phiGMRL(lShare8, MAX_NO_THREADS )        Real*8  phiGMRL(lShare8, MAX_NO_THREADS )
33    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22