9 #ifndef TALVOS_WORKGROUP_H
10 #define TALVOS_WORKGROUP_H
24 class PipelineExecutor;
49 void addWorkItem(std::unique_ptr<Invocation> WorkItem);
Dim3 getGroupId() const
Returns the group ID of this workgroup.
std::vector< std::pair< uint32_t, Object > > VariableList
List of mappings from variable ID to object.
Workgroup & operator=(const Workgroup &)=delete
Dim3 GroupId
The group ID.
void addWorkItem(std::unique_ptr< Invocation > WorkItem)
Add a work-item invocation to this group, transferring ownership.
WorkItemList WorkItems
List of work items in this workgroup.
Memory & getLocalMemory()
Returns the local memory instance associated with this workgroup.
VariableList Variables
Workgroup scope OpVariable allocations.
Class representing a 3-dimensional size or ID.
Workgroup(Device &Dev, const PipelineExecutor &Executor, Dim3 GroupId)
Create a workgroup.
This file declares the Dim3 class.
This class represents an address space in the virtual device.
An internal class that handles pipeline execution, including the interactive debugger.
const VariableList & getVariables() const
Return the workgroup scope variable pointer values.
A Device instance encapsulates properties and state for the virtual device.
This class represents a workgroup executing a compute command.
Memory * LocalMemory
The local memory of this workgroup.
~Workgroup()
Destroy this workgroup.
std::vector< std::unique_ptr< Invocation > > WorkItemList
List of work items in the workgroup.
const WorkItemList & getWorkItems() const
Return the list of work items in this workgroup.