Proto
3.2
|
#include "Proto_MemType.H"
#include "Proto_Point.H"
#include "Proto_Box.H"
#include "Proto_BoxData.H"
Go to the source code of this file.
Namespaces | |
Proto | |
Macros | |
#define | _PROTO_FORALL_H_ |
Functions | |
Pointwise Operators | |
The suite of forall functions facilitate writing functions that operate pointwise on BoxData. To this end, the user must write a function with one of the following structures: PROTO_KERNEL_START void F_temp(Var<T,C,MEMTYPE,D,E>&, Args...) { ... } PROTO_KERNEL_END(F_temp, F) // OR PROTO_KERNEL_START void F_p_temp(Point&, Var<T,C,MEMTYPE,D,E>&, Args...) { ... } PROTO_KERNEL_END(F_p_temp, F_p)
Refer to the following code snippet for some sample valid forall input functions: | |
template<typename T , unsigned int C = 1, MemType MEMTYPE = MEMTYPE_DEFAULT, unsigned int D = 1, unsigned int E = 1, typename Func , typename... Srcs> | |
BoxData< T, C, MEMTYPE, D, E > | Proto::forall (const Func &a_F, Srcs &&... a_srcs) |
Pointwise Operator. More... | |
template<typename T , unsigned int C = 1, MemType MEMTYPE = MEMTYPE_DEFAULT, unsigned int D = 1, unsigned int E = 1, typename Func , typename... Srcs> | |
BoxData< T, C, MEMTYPE, D, E > | Proto::forallOp (unsigned long long int a_num_flops_point, const char *a_timername, const Func &a_F, Srcs &&... a_srcs) |
Pointwise Operator (Instrumented) More... | |
template<typename T , unsigned int C = 1, MemType MEMTYPE = MEMTYPE_DEFAULT, unsigned int D = 1, unsigned int E = 1, typename Func , typename... Srcs> | |
BoxData< T, C, MEMTYPE, D, E > | Proto::forall (const Func &a_F, Box a_box, Srcs &&... a_srcs) |
Pointwise Operator (Explicit Range Box) More... | |
template<typename T , unsigned int C = 1, MemType MEMTYPE = MEMTYPE_DEFAULT, unsigned int D = 1, unsigned int E = 1, typename Func , typename... Srcs> | |
BoxData< T, C, MEMTYPE, D, E > | Proto::forallOp (unsigned long long int a_num_flops_point, const char *a_timername, const Func &a_F, Box a_box, Srcs &&... a_srcs) |
Pointwise Operator (Explicit Range Box, Instrumented) More... | |
template<typename T , unsigned int C = 1, MemType MEMTYPE = MEMTYPE_DEFAULT, unsigned int D = 1, unsigned int E = 1, typename Func , typename... Srcs> | |
BoxData< T, C, MEMTYPE, D, E > | Proto::forall_p (const Func &a_F, Srcs &&... a_srcs) |
Pointwise Operator (Pointwise Dependence) More... | |
template<typename T , unsigned int C = 1, MemType MEMTYPE = MEMTYPE_DEFAULT, unsigned int D = 1, unsigned int E = 1, typename Func , typename... Srcs> | |
BoxData< T, C, MEMTYPE, D, E > | Proto::forall_p (const Func &a_F, Box a_box, Srcs &&... a_srcs) |
Pointwise Operator (Pointwise Dependence, Explicit Range Box) More... | |
template<typename Func , typename... Srcs> | |
void | Proto::forallInPlace (const Func &a_F, Srcs &&... a_srcs) |
In-Place Pointwise Operator. More... | |
template<typename Func , typename... Srcs> | |
void | Proto::forallInPlace (const Func &a_F, Box a_box, Srcs &&... a_srcs) |
In-Place Pointwise Operator (Explicit Range Box) More... | |
template<typename Func , typename... Srcs> | |
void | Proto::forallInPlace_p (const Func &a_F, Srcs &&... a_srcs) |
In-Place Pointwise Operator (Pointwise Dependence) More... | |
template<typename Func , typename... Srcs> | |
void | Proto::forallInPlace_p (const Func &a_F, Box a_box, Srcs &&... a_srcs) |
In-Place Pointwise Operator (Pointwise Dependence, Explicit Box Range) More... | |
#define _PROTO_FORALL_H_ |