GPUOcelot
Public Types | Public Member Functions | Public Attributes

trace::TraceEvent Class Reference

#include <TraceEvent.h>

Collaboration diagram for trace::TraceEvent:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::vector< ir::PTXU64U64Vector
typedef boost::dynamic_bitset BitMask

Public Member Functions

 TraceEvent ()
 TraceEvent (ir::Dim3 blockId, ir::PTXU64 PC, const ir::PTXInstruction *instruction, const boost::dynamic_bitset<> &active, const U64Vector &memory_addresses, ir::PTXU32 memory_size, ir::PTXU32 ctxStackSize=1)
void reset ()
 resets instruction-specific events to their 'off' state
std::string toString () const

Public Attributes

ir::Dim3 blockId
ir::PTXU64 PC
ir::PTXU32 contextStackSize
const ir::PTXInstructioninstruction
BitMask active
BitMask taken
 Taken thread mask in case of a branch.
BitMask fallthrough
 Fall through thread mask in case of a branch.
U64Vector memory_addresses
ir::PTXU32 memory_size
ir::Dim3 gridDim
ir::Dim3 blockDim
ReconvergenceTraceEvent reconvergence
 event capturing just events related to thread divergence and reconvergence

Member Typedef Documentation

typedef boost::dynamic_bitset trace::TraceEvent::BitMask
typedef std::vector< ir::PTXU64 > trace::TraceEvent::U64Vector

Constructor & Destructor Documentation

trace::TraceEvent::TraceEvent ( )

Default constructor

trace::TraceEvent::TraceEvent ( ir::Dim3  t_blockId,
ir::PTXU64  t_PC,
const ir::PTXInstruction t_instruction,
const boost::dynamic_bitset<> &  t_active,
const U64Vector t_memory_addresses,
ir::PTXU32  t_memory_size,
ir::PTXU32  ctxStackSize = 1 
)

Constructs a trace event object

Parameters:
blockIdID of block that generated the event
PCindex into EmulatedKernel's packed instruction sequence
instructionconst reference to instruction pointed to by PC
activebit mask of active threads that executed this instruction
memory_addressesvector of memory addresses possibly generated for this instruction
memory_sizesvector of sizes of memory operations possibly issued by this instruction

Constructs a TraceEvent object


Member Function Documentation

void trace::TraceEvent::reset ( )

resets instruction-specific events to their 'off' state

std::string trace::TraceEvent::toString ( ) const

Convert to string


Member Data Documentation

bit mask of active threads that executed this instruction

dimensions of the kernel block that generated the event

ID of the block that generated the event

Depth of call stack [i.e. number of contexts on the runtime stack]

Fall through thread mask in case of a branch.

dimensions of the kernel grid that generated the event

instruction const pointer to instruction pointed to by PC

vector of memory addresses possibly generated for this instruction - only contains actually accessed memory addresses, so the nth element in memory_addresses corresponds to the nth 1 in the active thread mask

vector of sizes of memory operations possibly issued by this instruction

PC index into EmulatedKernel's packed instruction sequence

event capturing just events related to thread divergence and reconvergence

Taken thread mask in case of a branch.


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