table of contents
TAU_MAPPING_OBJECT(3) | TAU Mapping API | TAU_MAPPING_OBJECT(3) |
NAME¶
TAU_MAPPING_OBJECT - Declares a mapping object
SYNOPSIS¶
C/C++:
TAU_MAPPING_OBJECT(FunctionInfo FuncIdVar);
DESCRIPTION¶
To create storage for an identifier associated with a higher level statement that is mapped using TAU_MAPPING, we use the TAU_MAPPING_OBJECT macro. For example, in the TAU_MAPPING example, the array expressions are created into objects of a class ExpressionKernel, and each statement is an object that is an instance of this class. To embed the identity of the statement we store the mapping object in a data field in this class. This is shown below:
EXAMPLE¶
C/C++ :
template<class LHS,class Op,class RHS,class EvalTag> class ExpressionKernel : public Pooma::Iterate_t {
public:
typedef ExpressionKernel<LHS,Op,RHS,EvalTag> This_t;
//
// Construct from an Expr.
// Build the kernel that will evaluate the expression on the
// given domain.
// Acquire locks on the data referred to by the expression.
//
ExpressionKernel(const LHS&,const Op&,const RHS&,
Pooma::Scheduler_t&);
virtual ~ExpressionKernel();
// Do the loop.
virtual void run();
private:
// The expression we will evaluate.
LHS lhs_m;
Op op_m;
RHS rhs_m;
TAU_MAPPING_OBJECT(TauMapFI) };
SEE ALSO¶
TAU_MAPPING_CREATE(3), TAU_MAPPING_LINK(3), TAU_MAPPING_PROFILE(3)
08/31/2005 |