2 #ifndef _PROTO_FORALL_H_ 3 #define _PROTO_FORALL_H_ 67 typename Func,
typename... Srcs>
68 inline BoxData<T,C,MEMTYPE,D,E>
forall(
const Func& a_F, Srcs&&... a_srcs);
83 template<
typename T,
unsigned int C=1,
MemType MEMTYPE=
MEMTYPE_DEFAULT,
unsigned int D=1,
unsigned int E=1,
84 typename Func,
typename... Srcs>
85 inline BoxData<T,C,MEMTYPE,D,E>
forallOp(
86 unsigned long long int a_num_flops_point,
87 const char* a_timername,
88 const Func& a_F, Srcs&&... a_srcs);
119 template<
typename T,
unsigned int C=1,
MemType MEMTYPE=
MEMTYPE_DEFAULT,
unsigned int D=1,
unsigned int E=1,
120 typename Func,
typename... Srcs>
121 inline BoxData<T,C,MEMTYPE,D,E>
forall(
const Func& a_F, Box a_box, Srcs&&... a_srcs);
137 template<
typename T,
unsigned int C=1,
MemType MEMTYPE=
MEMTYPE_DEFAULT,
unsigned int D=1,
unsigned int E=1,
138 typename Func,
typename... Srcs>
139 inline BoxData<T,C,MEMTYPE,D,E>
forallOp(
140 unsigned long long int a_num_flops_point,
141 const char* a_timername,
142 const Func& a_F, Box a_box, Srcs&&... a_srcs);
166 template<
typename T,
unsigned int C=1,
MemType MEMTYPE=
MEMTYPE_DEFAULT,
unsigned int D=1,
unsigned int E=1,
167 typename Func,
typename... Srcs>
168 inline BoxData<T,C,MEMTYPE,D,E>
forall_p(
const Func& a_F, Srcs&&... a_srcs);
183 template<
typename T,
unsigned int C=1,
MemType MEMTYPE=
MEMTYPE_DEFAULT,
unsigned int D=1,
unsigned int E=1,
184 typename Func,
typename... Srcs>
185 inline BoxData<T,C,MEMTYPE,D,E> forallOp_p(
186 unsigned long long int a_num_flops_point,
187 const char* a_timername,
188 const Func& a_F, Srcs&&... a_srcs);
216 template<
typename T,
unsigned int C=1,
MemType MEMTYPE=
MEMTYPE_DEFAULT,
unsigned int D=1,
unsigned int E=1,
217 typename Func,
typename... Srcs>
218 inline BoxData<T,C,MEMTYPE,D,E>
forall_p(
const Func& a_F, Box a_box, Srcs&&... a_srcs);
234 template<
typename T,
unsigned int C=1,
MemType MEMTYPE=
MEMTYPE_DEFAULT,
unsigned int D=1,
unsigned int E=1,
235 typename Func,
typename... Srcs>
236 inline BoxData<T,C,MEMTYPE,D,E> forallOp_p(
237 unsigned long long int a_num_flops_point,
238 const char* a_timername,
239 const Func& a_F, Box a_box, Srcs&&... a_srcs);
256 template<
typename Func,
typename... Srcs>
257 inline void forallInPlace(
const Func& a_F, Srcs&&... a_srcs);
268 template<
typename Func,
typename... Srcs>
269 inline void forallInPlaceOp(
270 unsigned long long int a_num_flops_point,
271 const char* a_timername,
272 const Func& a_F, Srcs&&... a_srcs);
294 template<
typename Func,
typename... Srcs>
295 inline void forallInPlace(
const Func& a_F, Box a_box, Srcs&&... a_srcs);
307 template<
typename Func,
typename... Srcs>
308 inline void forallInPlaceOp(
309 unsigned long long int a_num_flops_point,
310 const char* a_timername,
311 const Func& a_F, Box a_box, Srcs&&... a_srcs);
329 template<
typename Func,
typename... Srcs>
341 template<
typename Func,
typename... Srcs>
342 inline void forallInPlaceOp_p(
343 unsigned long long int a_num_flops_point,
344 const char* a_timername,
345 const Func& a_F, Srcs&&... a_srcs);
368 template<
typename Func,
typename... Srcs>
369 inline void forallInPlace_p(
const Func& a_F, Box a_box, Srcs&&... a_srcs);
381 template<
typename Func,
typename... Srcs>
382 inline void forallInPlaceOp_p(
383 unsigned long long int a_num_flops_point,
384 const char* a_timername,
385 const Func& a_F, Box a_box, Srcs&&... a_srcs);
394 template<
typename Func,
typename... Srcs>
395 inline void protoForall(
const Func& a_F, Box a_box, Srcs&&... a_srcs);
397 template<
typename Func,
typename... Srcs>
398 inline void protoForallStream(
400 const Func& a_F, Box a_box, Srcs&&... a_srcs);
402 template<
typename Func,
typename... Srcs>
403 inline void protoForall_p(
const Func& a_F, Box a_box, Srcs&&... a_srcs);
406 #endif // end include guard
MemType
Definition: Proto_MemType.H:7
BoxData< T, C, MEMTYPE, D, E > forall_p(const Func &a_F, Srcs &&... a_srcs)
Pointwise Operator (Pointwise Dependence)
void forallInPlace(const Func &a_F, Srcs &&... a_srcs)
In-Place Pointwise Operator.
void forallInPlace_p(const Func &a_F, Srcs &&... a_srcs)
In-Place Pointwise Operator (Pointwise Dependence)
BoxData< T, C, MEMTYPE, D, E > forallOp(unsigned long long int a_num_flops_point, const char *a_timername, const Func &a_F, Srcs &&... a_srcs)
Pointwise Operator (Instrumented)
BoxData< T, C, MEMTYPE, D, E > forall(const Func &a_F, Srcs &&... a_srcs)
Pointwise Operator.
Definition: Proto_Array.H:17
#define MEMTYPE_DEFAULT
Definition: Proto_MemType.H:24
#define protoStream_t
Definition: Proto_Macros.H:18