GPUOcelot
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes

executive::ReconvergenceMechanism Class Reference

base class for abstract reconvergence mechanism within emulator More...

#include <ReconvergenceMechanism.h>

Inheritance diagram for executive::ReconvergenceMechanism:
Inheritance graph
[legend]
Collaboration diagram for executive::ReconvergenceMechanism:
Collaboration graph
[legend]

List of all members.

Public Types

enum  Type {
  Reconverge_IPDOM, Reconverge_Barrier, Reconverge_TFGen6, Reconverge_TFSortedStack,
  Reconverge_unknown
}

Public Member Functions

 ReconvergenceMechanism (CooperativeThreadArray *cta)
virtual ~ReconvergenceMechanism ()
virtual void initialize ()=0
 initializes the reconvergence mechanism
virtual void evalPredicate (executive::CTAContext &context)=0
 updates the predicate mask of the active context
virtual bool eval_Bra (executive::CTAContext &context, const ir::PTXInstruction &instr, const boost::dynamic_bitset<> &branch, const boost::dynamic_bitset<> &fallthrough)=0
 implements branch instruction and updates CTA state
virtual void eval_Bar (executive::CTAContext &context, const ir::PTXInstruction &instr)=0
 implements a barrier instruction
virtual void eval_Reconverge (executive::CTAContext &context, const ir::PTXInstruction &instr)=0
 implements reconverge instruction
virtual void eval_Exit (executive::CTAContext &context, const ir::PTXInstruction &instr)=0
 implements exit instruction
virtual bool nextInstruction (executive::CTAContext &context, const ir::PTXInstruction::Opcode &opcode)=0
 updates the active context to the next instruction
virtual executive::CTAContextgetContext ()=0
 gets the active context
virtual size_t stackSize () const =0
 gets the stack size
virtual void push (executive::CTAContext &)=0
 push a context
virtual void pop ()=0
 pop a context
Type getType () const
 gets the reconvergence mechanism type

Static Public Member Functions

static std::string toString (Type type)
 gets a string-representation of the type

Protected Attributes

Type type
 dynamic type information for convergence mechanism
CooperativeThreadArraycta
 executing CTA

Detailed Description

base class for abstract reconvergence mechanism within emulator


Member Enumeration Documentation

Enumerator:
Reconverge_IPDOM 
Reconverge_Barrier 
Reconverge_TFGen6 
Reconverge_TFSortedStack 
Reconverge_unknown 

Constructor & Destructor Documentation

executive::ReconvergenceMechanism::ReconvergenceMechanism ( CooperativeThreadArray cta)
executive::ReconvergenceMechanism::~ReconvergenceMechanism ( ) [virtual]

Member Function Documentation

virtual void executive::ReconvergenceMechanism::eval_Bar ( executive::CTAContext context,
const ir::PTXInstruction instr 
) [pure virtual]
virtual bool executive::ReconvergenceMechanism::eval_Bra ( executive::CTAContext context,
const ir::PTXInstruction instr,
const boost::dynamic_bitset<> &  branch,
const boost::dynamic_bitset<> &  fallthrough 
) [pure virtual]

implements branch instruction and updates CTA state

Returns:
true on divergent branch

Implemented in executive::ReconvergenceIPDOM, executive::ReconvergenceBarrier, executive::ReconvergenceTFGen6, and executive::ReconvergenceTFSortedStack.

virtual void executive::ReconvergenceMechanism::eval_Exit ( executive::CTAContext context,
const ir::PTXInstruction instr 
) [pure virtual]
virtual void executive::ReconvergenceMechanism::eval_Reconverge ( executive::CTAContext context,
const ir::PTXInstruction instr 
) [pure virtual]
virtual void executive::ReconvergenceMechanism::evalPredicate ( executive::CTAContext context) [pure virtual]
virtual executive::CTAContext& executive::ReconvergenceMechanism::getContext ( ) [pure virtual]
Type executive::ReconvergenceMechanism::getType ( ) const [inline]

gets the reconvergence mechanism type

virtual void executive::ReconvergenceMechanism::initialize ( ) [pure virtual]
virtual bool executive::ReconvergenceMechanism::nextInstruction ( executive::CTAContext context,
const ir::PTXInstruction::Opcode opcode 
) [pure virtual]
virtual void executive::ReconvergenceMechanism::pop ( ) [pure virtual]
virtual void executive::ReconvergenceMechanism::push ( executive::CTAContext ) [pure virtual]
virtual size_t executive::ReconvergenceMechanism::stackSize ( ) const [pure virtual]
std::string executive::ReconvergenceMechanism::toString ( Type  type) [static]

gets a string-representation of the type


Member Data Documentation

executing CTA

dynamic type information for convergence mechanism


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines