/[MITgcm]/MITgcm/eesupp/src/memsync.F
ViewVC logotype

Diff of /MITgcm/eesupp/src/memsync.F

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

revision 1.4 by cnh, Sun Feb 4 14:38:44 2001 UTC revision 1.5 by cnh, Fri Sep 21 03:54:35 2001 UTC
# Line 2  C $Header$ Line 2  C $Header$
2  C $Name$  C $Name$
3    
4  #include "CPP_EEOPTIONS.h"  #include "CPP_EEOPTIONS.h"
5    CBOP
6    
7        SUBROUTINE MEMSYNC  C     !ROUTINE: MEMSYNC
8    
9  C     /==========================================================\  C     !INTERFACE:
10  C     | SUBROUTINE MEMSYNC                                       |        SUBROUTINE MEMSYNC
 C     | o Place holder for memory sync routine                   |  
 C     |==========================================================|  
 C     | This routine is called wherever the code requires        |  
 C     | that writes performed by one thread or process must      |  
 C     | be guaranteed visible to other processes and or threads. |  
 C     |  On SPARC this routine would implement a                 |  
 C     |  asm("membar #LoadStore|#StoreStore");                   |  
 C     |  On ALPHA                                                |  
 C     |  asm("mb");                                              |  
 C     |  Note: I have yet to show this is necessary although     |  
 C     |        the Memory Channel writes must need something like|  
 C     |        this.                                             |  
 C     \==========================================================/  
11        IMPLICIT NONE        IMPLICIT NONE
12    
13    C     !DESCRIPTION:
14    C     *==========================================================*
15    C     | SUBROUTINE MEMSYNC                                        
16    C     | o Place holder for memory sync routine                    
17    C     *==========================================================*
18    C     | This routine is called wherever the code requires        
19    C     | that writes performed by one thread or process must      
20    C     | be guaranteed visible to other processes and or threads.  
21    C     |  On SPARC this routine would implement a                  
22    C     |  asm("membar #LoadStore|#StoreStore");                    
23    C     |  On ALPHA                                                
24    C     |  asm("mb");                                              
25    C     |  Note: I have yet to show this is necessary although      
26    C     |        the Memory Channel writes must need something like
27    C     |        this.                                              
28    C     *==========================================================*
29    CEOP
30    
31        END        END

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22