TAU_MAPPING_OBJECT

Langue: en

Version: 08/31/2005 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

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)