Patent ID: 8601485
Filing Date: 2013-12-03
Classification: G06F,G06T,Y02D

Abstract:
1. A data processing apparatus for processing a received workload in order to generate result data, comprising: a thread group generator configured to generate from the received workload a plurality of thread groups to be executed to process the received workload, each thread group comprising a plurality of threads, and at least one thread group having an inter-thread dependency existing between said plurality of threads; each thread being either an active thread whose output is required to form the result data, or a dummy thread required to resolve said inter-thread dependency for an associated active thread but whose output is not required to form the result data, the thread group generator identifying for each thread group any dummy thread within that thread group; a thread execution unit configured to receive each thread group generated by the thread group generator, and to execute each thread within a received thread group by executing a predetermined program comprising a plurality of program instructions; and execution flow modification circuitry, responsive to the received thread group having at least one dummy thread, to cause the thread execution unit to selectively omit at least part of the execution of at least one of said plurality of program instructions when executing said at least one dummy thread, in dependence on control information associated with the predetermined program, wherein said execution flow modification circuitry is configured to reference the control information at least once during execution of the predetermined program for each dummy thread, in order to determine whether to cause the thread execution unit to omit at least part of the execution of at least one of said plurality of program instructions when executing that dummy thread, wherein: said plurality of program instructions comprise at least one dependency-relevant instruction which requires at least partial execution for each thread in the received thread group in order to produce data required to resolve said inter-thread dependency; and the execution flow modification circuitry is configured, for each dummy thread, to reference the control information on execution by the thread execution unit of at least one dependency-relevant instruction within said predetermined program, wherein: said control information comprises a kill indicator which when set indicates that, after execution of said at least one dependency-relevant instruction causing said kill indicator to be referenced, execution of all remaining instructions in the predetermined program is to be omitted for each dummy thread.