-
Notifications
You must be signed in to change notification settings - Fork 0
/
parallel.h
62 lines (48 loc) · 1.52 KB
/
parallel.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#ifndef parallel_h
#define parallel_h
/***************************************************************/
#define _Nr 8
#define _Ns 1
#define _CPUTIME
/***************************************************************/
/*-------------------------------------------------------------*/
#define _Np (_Nr*_Ns)
#if _Np != (1*1)
#define _MPI
#endif
#define _Ms (i_M/_Ns)
#define _Ms1 (_Ms-1)
#define _Hs1 ((2*i_K-1)*_Ms-1)
/*-------------------------------------------------------------*/
#if _Np != 1
#define _MPI
#endif
/*-------------------------------------------------------------*/
#ifdef _MPI
/*-------------------------------------------------------------*/
#define _loop_km_vars integer :: pH0,pH1,nh,k,m
#define _loop_km_begin /*
*/ pH0=var_H%pH0; pH1=var_H%pH1; /*
*/ m = (pH0+i_K1)/(2*i_K-1); /*
*/ k = pH0 - m*(2*i_K-1) - 1; /*
*/ do nh = 0, pH1; /*
*/ k = k + 1; /*
*/ if(k==i_K) then; /*
*/ k = -i_K1; m = m + 1; /*
*/ end if
#define _loop_km_end end do
/*-------------------------------------------------------------*/
#else /* ndef _MPI */
/*-------------------------------------------------------------*/
#define _loop_km_vars integer :: nh,k,m
#define _loop_km_begin /*
*/ nh = -1; /*
*/ do m = 0, i_M1; /*
*/ do k = -i_K1, i_K1; /*
*/ if(k<0 .and. m==0) cycle; /*
*/ nh = nh + 1
#define _loop_km_end end do; end do
/*-------------------------------------------------------------*/
#endif /* def _MPI */
/*-------------------------------------------------------------*/
#endif /* ndef parallel_h */