/[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.5 - (show annotations) (download)
Wed Sep 28 01:58:25 2005 UTC (18 years, 7 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint58b_post, checkpoint57y_post, checkpoint59, checkpoint58, checkpoint58f_post, checkpoint58d_post, checkpoint58a_post, checkpoint57z_post, checkpoint58y_post, checkpoint58t_post, checkpoint58m_post, checkpoint57t_post, checkpoint57v_post, checkpoint58w_post, checkpoint57y_pre, checkpoint58o_post, checkpoint58p_post, checkpoint58q_post, checkpoint58e_post, mitgcm_mapl_00, checkpoint58r_post, checkpoint58n_post, checkpoint59e, checkpoint59d, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpint57u_post, checkpoint58k_post, checkpoint58v_post, checkpoint58l_post, checkpoint58g_post, checkpoint58x_post, checkpoint58h_post, checkpoint58j_post, checkpoint57w_post, checkpoint58i_post, checkpoint57x_post, checkpoint58c_post, checkpoint58u_post, checkpoint58s_post
Changes since 1.4: +16 -7 lines
File MIME type: text/plain
 o two changes to eesupp:
   - split EEPARAMS.h and add new sizes to EESIZE.h
   - add a vector global sum routine (eventually, for zonal averages)

1 C $Header: /u/gcmpack/MITgcm/eesupp/inc/GLOBAL_SUM.h,v 1.4 2004/03/27 03:51:50 edhill 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, phiVGSRL
33 Real*8 phiGSRL (lShare8, MAX_NO_THREADS )
34 Real*8 phivGSRL(MAX_VGS, MAX_NO_THREADS )
35
36 COMMON / GSUM_COMMON_R4 / phiGSRS, phiVGSRS
37 Real*4 phiGSRS (lShare4, MAX_NO_THREADS )
38 Real*4 phivGSRS(MAX_VGS, MAX_NO_THREADS )
39
40 COMMON / GSUM_COMMON_I / phiGSI, phiVGSI
41 INTEGER phiGSI (lShare4, MAX_NO_THREADS )
42 INTEGER phivGSI (MAX_VGS, MAX_NO_THREADS )
43
44 CEH3 ;;; Local Variables: ***
45 CEH3 ;;; mode:fortran ***
46 CEH3 ;;; End: ***
47

  ViewVC Help
Powered by ViewVC 1.1.22