Module ocl_extras::command_graph
source · Expand description
A command requisite-dependency graph.
Queues and Deadlocks
When offloading host-side processing to a thread pool or foreign thread, a few important guidelines are important to keep in mind in order to avoid deadlocks. This usually applies to unmap or write commands but could equally apply to any other command which triggers a delayed-user-callback chain.
Let’s say we have a host-mapped buffer (MemMap
) which needs to write
data to that mapped area and then enqueue an unmap moving the data to a
device… [TODO: FINISH THIS]
When an offloaded task completes, it will inevitably enqueue another command or trigger some other action which will affect commands which are already in a command queue.
Structs
A directional sequence dependency graph representing the temporal
requirements of each asynchronous read, write, copy, and kernel (commands)
for a particular task.
Enums
Details of a queuable command.