Log In | Get Help   
Home My Page Projects Code Snippets Project Openings UPC Operations Microbenchmarking Suite
Summary Activity Tracker Lists Docs News SCM Files
[uoms] Annotation of /trunk/uoms/src/defines.h
[uoms] / trunk / uoms / src / defines.h Repository:
ViewVC logotype

Annotation of /trunk/uoms/src/defines.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 14 - (view) (download)

1 : dalvarez 14 /******************************************************************************/
2 :     /* */
3 :     /* Copyright (c) 2008, 2009, 2010 */
4 :     /* Computer Architecture Group (CAG) */
5 :     /* University of A Coruña, Spain */
6 :     /* (http://gac.des.udc.es) */
7 :     /* Galicia Supercomputing Center (CESGA) */
8 :     /* (http://www.cesga.es) */
9 :     /* Hewlett-Packard Spain (HP) */
10 :     /* (http://www.hp.es) */
11 :     /* */
12 :     /* This file is part of UPC Operations Microbenchmarking Suite (UOMS). */
13 :     /* */
14 :     /* UOMS is free software: you can redistribute it and/or modify */
15 :     /* it under the terms of the GNU Lesser General Public License as published */
16 :     /* by the Free Software Foundation, either version 3 of the License, or */
17 :     /* (at your option) any later version. */
18 :     /* */
19 :     /* UOMS is distributed in the hope that it will be useful, */
20 :     /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
21 :     /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
22 :     /* GNU Lesser General Public License for more details. */
23 :     /* */
24 :     /* You should have received a copy of the GNU Lesser General Public License */
25 :     /* along with UOMS. If not, see <http://www.gnu.org/licenses/>. */
26 :     /* */
27 :     /******************************************************************************/
28 : dalvarez 1
29 : dalvarez 14 /******************************************************************************/
30 :     /* */
31 :     /* FUNDING: This development has been funded by Hewlett-Packard Spain */
32 :     /* */
33 :     /* Project Name: */
34 :     /* UPCHACO (2008-2011) */
35 :     /* Subproject: */
36 :     /* Improving UPC Usability and Performance in Constellation Systems: */
37 :     /* Implementation/Extensions of UPC Libraries. */
38 :     /* (UPCPUProject -> UPC Performance and Usability Project) */
39 :     /* */
40 :     /******************************************************************************/
41 : dalvarez 1
42 : dalvarez 14 /******************************************************************************
43 : dalvarez 1
44 :     For further documentation, see
45 :    
46 :     [1] Files under doc/
47 :    
48 : dalvarez 14 *******************************************************************************/
49 : dalvarez 1
50 :     /*
51 :     Do not edit this file!
52 :     If you want to manually set some parameters
53 :     take a look at config/parameters.h
54 :     */
55 :    
56 :     /*
57 :     This is here to force HP UPC to recognize the functions
58 :     */
59 :     #ifdef __HP_UPC_VER
60 :     #include <sched.h>
61 :     /* Access macros for `cpu_set'. */
62 :     #define CPU_SET(cpu, cpusetp) __CPU_SET (cpu, cpusetp)
63 :     #define CPU_ISSET(cpu, cpusetp) __CPU_ISSET (cpu, cpusetp)
64 :     #define CPU_ZERO(cpusetp) __CPU_ZERO (cpusetp)
65 :    
66 :     /* Set the CPU affinity for a task */
67 :     extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
68 :     __const cpu_set_t *__cpuset) __THROW;
69 :     #endif
70 :    
71 :     #include "config/parameters.h"
72 :    
73 : dalvarez 7 #ifdef ASYNCI_MEM_TEST
74 :     #ifdef ASYNC_MEM_TEST
75 : dalvarez 14 #define NUM_BMS 57
76 :     #else
77 : dalvarez 7 #define NUM_BMS 51
78 :     #endif
79 : dalvarez 1 #else
80 : dalvarez 7 #ifdef ASYNC_MEM_TEST
81 : dalvarez 14 #define NUM_BMS 51
82 :     #else
83 : dalvarez 7 #define NUM_BMS 45
84 :     #endif
85 : dalvarez 1 #endif
86 :    
87 : dalvarez 14 #define VERSION "1.1"
88 : dalvarez 1
89 : dalvarez 14 #define FORALL_R 0
90 :     #define FORALL_W 1
91 :     #define FORALL_RW 2
92 : dalvarez 1
93 : dalvarez 14 #define FOR_R 3
94 :     #define FOR_W 4
95 :     #define FOR_RW 5
96 : dalvarez 1
97 : dalvarez 14 #define BARRIER 6
98 :     #define BROADCAST 7
99 :     #define SCATTER 8
100 :     #define GATHER 9
101 :     #define GATHERALL 10
102 :     #define EXCHANGE 11
103 :     #define PERMUTE 12
104 :     #define MEMGET 13
105 :     #define MEMPUT 14
106 :     #define MEMCPY 15
107 :     #define LMEMGET 16
108 :     #define LMEMPUT 17
109 :     #define LMEMCPY 18
110 :     #define SMEMCPY 19
111 :     #define MEMMOVE 20
112 : dalvarez 1
113 : dalvarez 14 #define ALLALLOC 21
114 :     #define FREE 22
115 :    
116 :     #define REDUCE_C 23
117 :     #define PREFIX_REDUCE_C 24
118 :     #define REDUCE_UC 25
119 :     #define PREFIX_REDUCE_UC 26
120 :     #define REDUCE_S 27
121 :     #define PREFIX_REDUCE_S 28
122 :     #define REDUCE_US 29
123 :     #define PREFIX_REDUCE_US 30
124 :     #define REDUCE_I 31
125 :     #define PREFIX_REDUCE_I 32
126 :     #define REDUCE_UI 33
127 :     #define PREFIX_REDUCE_UI 34
128 :     #define REDUCE_L 35
129 :     #define PREFIX_REDUCE_L 36
130 :     #define REDUCE_UL 37
131 :     #define PREFIX_REDUCE_UL 38
132 :     #define REDUCE_F 39
133 :     #define PREFIX_REDUCE_F 40
134 :     #define REDUCE_D 41
135 :     #define PREFIX_REDUCE_D 42
136 :     #define REDUCE_LD 43
137 :     #define PREFIX_REDUCE_LD 44
138 :    
139 : dalvarez 7 #ifdef ASYNCI_MEM_TEST
140 :     #ifdef ASYNC_MEM_TEST
141 : dalvarez 14 #define AMEMGET 45
142 :     #define AMEMPUT 46
143 :     #define AMEMCPY 47
144 :     #define ALMEMGET 48
145 :     #define ALMEMPUT 49
146 :     #define ALMEMCPY 50
147 :     #define AIMEMGET 51
148 :     #define AIMEMPUT 52
149 :     #define AIMEMCPY 53
150 :     #define AILMEMGET 54
151 :     #define AILMEMPUT 55
152 :     #define AILMEMCPY 56
153 :     #else
154 : dalvarez 7 #define AIMEMGET 45
155 :     #define AIMEMPUT 46
156 :     #define AIMEMCPY 47
157 :     #define AILMEMGET 48
158 :     #define AILMEMPUT 49
159 :     #define AILMEMCPY 50
160 :     #endif
161 :     #else
162 :     #ifdef ASYNC_MEM_TEST
163 : dalvarez 14 #define AMEMGET 45
164 :     #define AMEMPUT 46
165 :     #define AMEMCPY 47
166 :     #define ALMEMGET 48
167 :     #define ALMEMPUT 49
168 :     #define ALMEMCPY 50
169 : dalvarez 7 #endif
170 : dalvarez 1 #endif
171 :    
172 :     #define MEM_OK(var){ \
173 :     if( var == NULL ){ \
174 :     printf("TH%02d: ERROR: %s == NULL\n", MYTHREAD, #var ); \
175 :     mem_is_ok = -1; \
176 : dalvarez 14 } \
177 :     else{ \
178 :     mem_is_ok = 0; \
179 :     } \
180 : dalvarez 1 }
181 :    
182 :     #define UPCMEM_OK(var) { \
183 :     if( var == NULL ){ \
184 :     printf("TH%02d: ERROR: %s == NULL\n", MYTHREAD, #var ); \
185 : dalvarez 14 if (!MYTHREAD) upc_free(var); \
186 : dalvarez 1 mem_is_ok = -1; \
187 : dalvarez 14 } \
188 :     else{ \
189 :     mem_is_ok = 0; \
190 :     } \
191 : dalvarez 1 }

root@forge.cesga.es
ViewVC Help
Powered by ViewVC 1.0.0  

Powered By FusionForge