Applying non-homogeneous properties to multiple video processing units (VPUs)
First Claim
1. A multiprocessor system, comprising:
- a plurality of special purpose processors that perform different portions of a related processing task; and
a driver coupled to control each of the processors, including distributing a set of commands that cause each of the processors to perform the portions of the related task, wherein the set of commands includes all commands to be executed by each processor, and wherein the set of commands includes at least one subset of predicated commands to be executed by a subset of the processors, the subset of predicated commands preceded by a predication command identifying the subset of processors that are to execute the subset of commands.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for applying non-homogeneous properties to multiple video processing units (VPUs) in a multiple VPU system are described. Respective VPUs in the system cooperate to produce a frame to be displayed. In various embodiments, data output by different VPUs in the system is combined, or merged, or composited to produce a frame to be displayed. In load balancing modes, each VPU in the system performs different tasks as part of rendering a same frame, and therefore typically executes different commands. In various embodiments, efficiency of the system is enhanced by forming a single command buffer for execution by all of the VPUs in the system even though each VPU may have a different set of commands to execute in the command buffer.
66 Citations
43 Claims
-
1. A multiprocessor system, comprising:
-
a plurality of special purpose processors that perform different portions of a related processing task; and
a driver coupled to control each of the processors, including distributing a set of commands that cause each of the processors to perform the portions of the related task, wherein the set of commands includes all commands to be executed by each processor, and wherein the set of commands includes at least one subset of predicated commands to be executed by a subset of the processors, the subset of predicated commands preceded by a predication command identifying the subset of processors that are to execute the subset of commands.
-
-
2. An apparatus comprising multiple video processing units, the apparatus substantially as shown and described.
-
3. A system comprising:
-
a plurality of processors each configurable to receive a set of commands and data that directs the processor to perform a task;
at least one driver configurable to build the set of commands and data such that each of the plurality of processors receives the same set of commands and data, and each performs different portions of the task. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
a plurality of processors each configurable to receive a command buffer comprising data and commands that direct the processor to perform a task. - View Dependent Claims (12, 13, 14, 15)
-
16. A multi-processor method, comprising:
-
building a common set of commands and data that refer to a processing task;
receiving the common set of commands and data in each of a plurality of processors; and
various processors of the plurality of processors interpreting the common set of commands and data differently so as to perform a designated portions of the processing task. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 40)
-
-
25. A computer readable medium having instructions stored thereon which, when executed in a multi-processor system, cause components of the system to perform a method comprising:
-
building a common set of commands and data that refer to a processing task;
receiving the common set of commands and data in each of a plurality of processors; and
various processors of the plurality of processors interpreting the common set of commands and data differently so as to perform a designated portions of the processing task. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A multiple video processing unit (VPU) processing method, comprising:
-
forming a single command buffer that includes commands and data for each of the multiple VPUs, wherein the commands and data related to a task to be shared by the multiple VPUs, and wherein the single command buffer is formed so as to be interpreted individually by each of the multiple VPUs;
making the single command buffer available to each of the multiple VPUs concurrently so that each of the multiple VPUs concurrently executes respective commands in the single command buffer. - View Dependent Claims (35)
-
-
36. A method for generating a command buffer in a multiple video processing unite (VPU) system;
assembling a set of commands and data, including a predicated execution command that precedes commands that are intended to be executed by less than all of the multiple VPUs, wherein each of the multiple VPUs receives the same set of commands and data in the command buffer.
- 37. A video processing card configurable to receive video data from a video application and create a single command buffer to be executed by multiple video processing units (VPUs) to generate frame data.
-
39. A video processing unit (VPU) configurable to receive a command buffer that includes commands to be executed by the VPU and commands to be executed by other VPUS, wherein the VPU executes only the commands to be executed by the VPU.
-
41. A multiple video processing unit (VPU) method, comprising:
-
receiving video data from a video application; and
generating commands and data for the multiple VPUs to execute the video application, wherein the commands and data comprise a single command buffer that includes information interpretable by each of the multiple VPUs to indicate a particular subset of the commands and data applicable to a respective VPU.
-
-
42. A computer readable medium having instruction stored thereon which, when processed, are adapted to create a circuit capable of performing a method comprising:
-
building a common set of commands and data that refer to a processing task;
making the common set of commands and data available to each of a plurality of processors; and
interpreting the common set of commands and data in a different way for each of the plurality of processor so that each of the plurality of processors performs a predesignated portion of the processing task.
-
-
43. A computer readable medium having instruction stored t hereon which, when processed, are adapted to create a circuit capable of performing a method comprising:
-
receiving a common set of commands and data that refer to a video processing task, wherein the common set of commands and data includes subsets of commands and data to be executed by different processing units;
interpreting the common set of commands and data;
so as to use only a particular subset to perform a predesignated portion of the video processing task.
-
Specification