Talvos
0.1
SPIR-V interpreter and dynamic analysis framework
|
This class represents a workgroup executing a compute command. More...
#include <talvos/Workgroup.h>
Public Types | |
typedef std::vector < std::unique_ptr< Invocation > > | WorkItemList |
List of work items in the workgroup. More... | |
typedef std::vector< std::pair < uint32_t, Object > > | VariableList |
List of mappings from variable ID to object. More... | |
Public Member Functions | |
Workgroup (Device &Dev, const PipelineExecutor &Executor, Dim3 GroupId) | |
Create a workgroup. More... | |
~Workgroup () | |
Destroy this workgroup. More... | |
void | addWorkItem (std::unique_ptr< Invocation > WorkItem) |
Add a work-item invocation to this group, transferring ownership. More... | |
Dim3 | getGroupId () const |
Returns the group ID of this workgroup. More... | |
Memory & | getLocalMemory () |
Returns the local memory instance associated with this workgroup. More... | |
const WorkItemList & | getWorkItems () const |
Return the list of work items in this workgroup. More... | |
const VariableList & | getVariables () const |
Return the workgroup scope variable pointer values. More... | |
Workgroup (const Workgroup &)=delete | |
Workgroup & | operator= (const Workgroup &)=delete |
Private Attributes | |
Dim3 | GroupId |
The group ID. More... | |
Memory * | LocalMemory |
The local memory of this workgroup. More... | |
WorkItemList | WorkItems |
List of work items in this workgroup. More... | |
VariableList | Variables |
Workgroup scope OpVariable allocations. More... | |
This class represents a workgroup executing a compute command.
Definition at line 27 of file Workgroup.h.
typedef std::vector<std::pair<uint32_t, Object> > talvos::Workgroup::VariableList |
List of mappings from variable ID to object.
Definition at line 34 of file Workgroup.h.
typedef std::vector<std::unique_ptr<Invocation> > talvos::Workgroup::WorkItemList |
List of work items in the workgroup.
Definition at line 31 of file Workgroup.h.
talvos::Workgroup::Workgroup | ( | Device & | Dev, |
const PipelineExecutor & | Executor, | ||
Dim3 | GroupId | ||
) |
Create a workgroup.
Definition at line 23 of file Workgroup.cpp.
talvos::Workgroup::~Workgroup | ( | ) |
Destroy this workgroup.
Definition at line 44 of file Workgroup.cpp.
|
delete |
void talvos::Workgroup::addWorkItem | ( | std::unique_ptr< Invocation > | WorkItem | ) |
Add a work-item invocation to this group, transferring ownership.
Definition at line 46 of file Workgroup.cpp.
|
inline |
Returns the group ID of this workgroup.
Definition at line 52 of file Workgroup.h.
|
inline |
Returns the local memory instance associated with this workgroup.
Definition at line 55 of file Workgroup.h.
|
inline |
Return the workgroup scope variable pointer values.
Definition at line 61 of file Workgroup.h.
|
inline |
Return the list of work items in this workgroup.
Definition at line 58 of file Workgroup.h.
|
private |
The group ID.
Definition at line 64 of file Workgroup.h.
|
private |
The local memory of this workgroup.
Definition at line 66 of file Workgroup.h.
|
private |
Workgroup scope OpVariable allocations.
Definition at line 70 of file Workgroup.h.
|
private |
List of work items in this workgroup.
Definition at line 68 of file Workgroup.h.