1 |
C $Header: /u/u0/gcmpack/MITgcm/eesupp/inc/MAIN_PDIRECTIVES1.h,v 1.6 2004/03/27 03:51:50 edhill Exp $ |
2 |
C $Name: $ |
3 |
CBOP |
4 |
C !ROUTINE: MAIN_PDIRECTIVES1.h |
5 |
C !INTERFACE: |
6 |
C include "MAIN_PDIRECTIVES1.h" |
7 |
C !DESCRIPTION: |
8 |
C *==========================================================* |
9 |
C | MAIN\_PDIRECTIVES1.h |
10 |
C *==========================================================* |
11 |
C | Parallel directives to generate multithreaded code for |
12 |
C | various different compilers. The master preprocessor |
13 |
C | file CPP\_OPTIONS is used to select which of these |
14 |
C | options is included in the code. |
15 |
C *==========================================================* |
16 |
CEOP |
17 |
|
18 |
#ifdef USE_SOLARIS_THREADING |
19 |
C-- |
20 |
C-- Parallel directives for SUN/Pro compiler. |
21 |
C-- |
22 |
C Parallel compiler directives for Solaris |
23 |
C$PAR DOALL |
24 |
C$PAR& SHARED(nThreads) |
25 |
C$PAR& ,PRIVATE(myThid) |
26 |
C$PAR& ,SCHEDTYPE(SELF(1)) |
27 |
C |
28 |
#endif |
29 |
|
30 |
#define USE_KAP_THREADING |
31 |
#ifdef USE_KAP_THREADING |
32 |
C-- |
33 |
C-- Parallel directives for Kuck and Associates compiler. |
34 |
C-- This is used to generate multi-threaded code on Digital |
35 |
C-- systems. It can also be used under NT. |
36 |
C-- |
37 |
C Parallel compiler directives for Digital with kap compiler. |
38 |
C*KAP* PARALLEL REGION |
39 |
C*KAP*& SHARED(nThreads,eeBootError,threadIsComplete) |
40 |
C*KAP*& LOCAL(myThid,I) |
41 |
C*KAP* PARALLEL DO |
42 |
C*KAP*& BLOCKED(1) |
43 |
C |
44 |
#endif |
45 |
|
46 |
#ifdef USE_IRIX_THREADING |
47 |
C-- |
48 |
C-- Parallel directives for MIPS Pro Fortran compiler |
49 |
C-- |
50 |
C Parallel compiler directives for SGI with IRIX |
51 |
C$PAR PARALLEL DO |
52 |
C$PAR& CHUNK=1,MP_SCHEDTYPE=INTERLEAVE, |
53 |
C$PAR& SHARE(nThreads),LOCAL(myThid,I) |
54 |
C |
55 |
#endif |
56 |
|
57 |
#ifdef USE_EXEMPLAR_THREADING |
58 |
C-- |
59 |
C-- Parallel directives for HP Exemplar Fortran compiler |
60 |
C-- |
61 |
C Parallel compiler directives for HP Exemplar |
62 |
C$DIR loop_parallel |
63 |
C$DIR loop_private (I,myThid) |
64 |
#endif |
65 |
|
66 |
#ifdef USE_C90_THREADING |
67 |
C-- |
68 |
C-- Parallel directives for CRAY/SGI Fortan 90 compiler. |
69 |
C-- |
70 |
CMIC$ DO ALL PRIVATE (I, myThid ) SHARED(nThreads) |
71 |
CMIC$& SINGLE |
72 |
#endif |
73 |
|
74 |
|
75 |
#ifdef USE_OMP_THREADING |
76 |
C$OMP PARALLEL SHARED(nThreads), PRIVATE(I,myThid) |
77 |
#endif |
78 |
|