Provided by: tau_2.16.4-1.5_amd64
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 TAU_MAPPING_OBJECT(3)