IP Library Patent Application 12231296
Patent Application
App. No. 12/231,296

Computing system capable of parallelizing the operation of multiple graphics processing pipelines (GPPLS)

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
12/231,296
Abstract

A computing system capable of parallelizing the operation of multiple graphics processing pipelines (GPPLs), and including one or more CPUs, in communication with a memory space, and a parallel graphics processing subsystem (PGPS) supporting an object-division mode of parallel operation including at least four stages, namely, decomposition, distribution, rendering and recomposition. The PGPS includes a plurality of graphic processing pipelines (GPPLs), wherein each GPPL includes a color frame buffer and Z depth buffer. Within each GPPL, a partial complementary-type color image of the 3 D scene is rendered and buffered in its color frame buffer. A complete color image of the 3 D scene is recomposited by (i) merging the partial complementary-type color images within the GPPLs using a depthless method of image recomposition not involving the comparison of depth values stored in the Z depth buffers, and (ii) buffering the complete color image in the color frame buffer of the primary GPPL for display on a display device.

Claims (55)

1 . A computing system capable of parallelizing the operation of multiple graphics processing pipelines (GPPLs), said computing system comprising:

memory space for storing one or more graphics-based applications, and a graphics library for generating a stream of graphics commands and data (GCAD) during the execution of the graphics-based applications;

one or more CPUs, in communication with said memory space, for (i) executing said graphics-based applications, (ii) generating said stream of graphics commands and data, and (iii) segmenting said stream of graphics commands into frames for rendering pixel-based images of a 3D scene generated by at least one said graphics-based application, and wherein objects within said 3D scene are generated by processing said frames of graphics commands and data along said stream; and

a parallel graphics processing subsystem (PGPS) supporting an object-division mode of parallel operation including at least four stages, namely, decomposition, distribution, rendering and recomposition;

wherein said PGPS includes:

(i) a plurality of graphic processing pipelines (GPPLs), including a primary GPPL, wherein each said GPPL includes a color frame buffer and Z depth buffer; and

(ii) a parallel mode control module (PMCM) for automatically controlling said object-division mode of parallel operation during the run-time of said graphics-based application, during which said GPPLs are driven in a parallelized manner and performing the following graphics processing operations:

(i) decomposing objects in each frame of said stream of graphics commands and data, assigning the objects to particular GPPLs for use in rendering operations;

(ii) distributing objects to said GPPLs;

(iii) rendering a partial complementary-type color image of the 3D scene within each GPPL, and buffering the partial complementary-type color image within the color frame buffer in said GPPL; and

(iv) recompositing a complete color image of the 3D scene, by merging the partial complementary-type color images within said GPPLs employing a depthless method of image recomposition not involving the comparison of depth values stored in said Z depth buffers, and buffering said complete color image in the color frame buffer of said primary GPPL for display on a display device.

2 . The computing system of claim 1 , wherein said PGPS further includes:

(i) a decomposition module for supporting the decomposition stage of parallel operation;

(ii) a distribution module for supporting the distribution stage of parallel operation;

(iii) a recomposition module for supporting the recomposition stage of parallel operation; and

(iv) a rendering module for supporting the rendering stage of parallel operation.

3 . The computing system of claim 3 , wherein during operation,

(i) said decomposition module divides the stream of graphic commands and data (GCAD) according to said object-division mode of parallel operation;

(ii) said distribution module distributes graphic commands and data (to said GPPLs;

(iii) said rendering module generates complementary-type partial color images according to a parallel multi-pass graphics processing method; and

(iv) said recomposition module uses inter-GPU communication to transfer the pixel data of said complementary-type partial images among said GPPLs, and a depthless image merging process to generate said complete color image of the 3D scene for display on said display device.

4 . The computing system of claim 1 , wherein each said GPPL is a GPU-based graphics processing pipeline which comprises (i) a video memory structure supporting a frame buffer (FB) including stencil, depth and color buffers, and (ii) a graphics processing unit (GPU) supporting (1) a geometry subsystem having an input assembler and a vertex shader, (2) a set up engine, and (3) a pixel subsystem including a pixel shader receiving pixel data from the frame buffer and a raster operators operating on pixel data in the frame buffers.

5 . The computing system of claim 1 , wherein each said GPPL is a GPU-based graphics processing pipeline which comprises (i) a video memory structure supporting a frame buffer (FB) including stencil, depth and color buffers, and (ii) a graphics processing unit (GPU) supporting (1) a geometry subsystem having an input assembler, a vertex shader and a geometry shader, (2) a rasterizer, and (3) a pixel subsystem including a pixel shader receiving pixel data from the frame buffer and a raster operators operating on pixel data in the frame buffers.

6 . The computing system of claim 1 , wherein each said GPPL is a CPU-based graphics processing pipeline which comprises (i) a video memory structure supporting a frame buffer including stencil, depth and color buffers, and (ii) a graphics processing pipeline realized by a cell of a multi-core CPU chip, including a plurality of in-order SIMD processors, and optionally, a GPPL-specific extension, namely, a texture sampler that loads texture maps from memory, filters them for level-of-detail, and feeds to pixel processing portion of the pipeline.

7 . The computing system of claim 3 , wherein the decomposition module supports the scanning of commands, the control of commands, the tracking of objects, the balancing of loads, and the assignment of objects to said GPPLs,

8 . The computing system of claim 3 , wherein said distribution module supports transmission of graphics data in various modes including CPU-to/from-GPPL, inter-GPPL, broadcast, hub-to/from-CPU, and hub-to/from-CPU and hub-to/from-GPPL.

9 . The computing system of claim 2 wherein said graphics data includes data selected from the group consisting of FB data, commands, textures, geometric data and other data.

10 . The computing system of claim 2 , wherein said recomposition module supports a variety of modes the merging of partial complementary-type images in the color frame buffers of said GPPLs.

11 . The computing system of claim 2 , wherein said variety of modes of merging said partial complementary-type images includes: merging color frame buffers without z buffers, and merging color buffers using stencil-assisted processing.

12 . A parallel graphics processing system (PGPS) for embodying in a PC-based host computing system, and supporting an object-division mode of parallel operation including at least four stages, namely, decomposition, distribution, rendering and recomposition, said PGPS comprising:

a plurality of graphic processing pipelines (GPPLs), including a primary GPPL, wherein each said GPPL includes a color frame buffer and Z depth buffer; and

a parallel mode control module (PMCM) for automatically controlling said object-division mode of parallel operation during the run-time of said graphics-based application, during which said GPPLs are driven in a parallelized manner and performing the following graphics processing operations:

(i) decomposing objects in each frame of said stream of graphics commands and data, assigning the objects to particular GPPLs for use in rendering operations;

(ii) distributing objects to said GPPLs;

(iii) rendering a partial complementary-type color image of the 3D scene within each GPPL, and buffering the partial complementary-type color image within the color frame buffer in said GPPL; and

(iv) recompositing a complete color image of the 3D scene, by merging the partial complementary-type color images within said GPPLs employing a depthless method of image recomposition not involving the comparison of depth values stored in said Z depth buffers, and buffering said complete color image in the color frame buffer of said primary GPPL for display on a display device.

13 . The parallel graphics processing system of claim 12 , which further includes:

(i) a decomposition module for supporting the decomposition stage of parallel operation;

(ii) a distribution module for supporting the distribution stage of parallel operation;

(iii) a recomposition module for supporting the recomposition stage of parallel operation; and

(iv) a rendering module for supporting the rendering stage of parallel operation.

14 . The parallel graphics processing system of claim 13 , wherein said decomposition module and distribution module resides as a software package in said memory space; and said GPPLs on said external graphics cards are (i) connected to said bridge circuit, (ii) implement said rendering and recomposition modules, and (iii) driven in a parallelized manner under the control of said PMCM.

15 . The parallel graphics processing system of claim 13 , wherein during operation,

(i) said decomposition module divides the stream of graphic commands and data (GCAD) according to said object-division mode of parallel operation;

(ii) said distribution module uses said bridge circuit to distribute graphic commands and data to said GPPLs;

(iii) said rendering module generates complementary-type partial color images according to a parallel multi-pass graphics processing method; and

(iv) said recomposition module uses inter-GPU communication to transfer the pixel data of said complementary-type partial images among said GPPLs, and a depthless image merging process to generate a complete color image of the 3D scene for display on said display device.

16 . The parallel graphics processing system of claim 12 , wherein each said GPPL is a GPU-based graphics processing pipeline which comprises (i) a video memory structure supporting a frame buffer (FB) including stencil, depth and color buffers, and (ii) a graphics processing unit (GPU) supporting (1) a geometry subsystem having an input assembler and a vertex shader, (2) a set up engine, and (3) a pixel subsystem including a pixel shader receiving pixel data from the frame buffer and a raster operators operating on pixel data in the frame buffers.

17 . The parallel graphics processing system of claim 12 , wherein each said GPPL is a GPU-based graphics processing pipeline which comprises (i) a video memory structure supporting a frame buffer (FB) including stencil, depth and color buffers, and (ii) a graphics processing unit (GPU) supporting (1) a geometry subsystem having an input assembler, a vertex shader and a geometry shader, (2) a rasterizer, and (3) a pixel subsystem including a pixel shader receiving pixel data from the frame buffer and a raster operators operating on pixel data in the frame buffers.

18 . The parallel graphics processing system of claim 12 , wherein each said GPPL is a CPU-based graphics processing pipeline which comprises (i) a video memory structure supporting a frame buffer including stencil, depth and color buffers, and (ii) a graphics processing pipeline realized by one cell of a multi-core CPU chip, consisting of 16 in-order SIMD processors, and further including a GPU-specific extension, namely, a texture sampler that loads texture maps from memory, filters them for level-of-detail, and feeds to pixel processing portion of the pipeline.

19 . The parallel graphics processing system of claim 13 , wherein the decomposition module supports the scanning of commands, the control of commands, the tracking of objects, the balancing of loads, and the assignment of objects to said GPPLs,

20 . The parallel graphics processing system of claim 13 , wherein said distribution module supports transmission of graphics data in various modes including CPU-to/from-GPPL, inter-GPPL, broadcast, hub-to/from-CPU, and hub-to/from-CPU and hub-to/from-GPPL.

21 . The parallel graphics processing system of claim 12 , wherein said graphics data includes data selected from the group consisting of FB data, commands, textures, geometric data and other data.

22 . The parallel graphics processing system of claim 13 , wherein said recomposition module supports a variety of modes the merging of partial complementary-type images in the color frame buffers of said GPPLs.

23 . The parallel graphics processing system of claim 12 , wherein said variety of modes of merging said partial complementary-type images includes: merging color frame buffers without z buffers, and merging color buffers using stencil-assisted processing.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2018
From: LUCIDLOGIX TECHNOLOGY LTD.
To: GOOGLE LLC
Reel/Frame 046361/0169 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2008
From: BAKALASH, REUVEN; LEVIATHAN, YANIV
To: LUCID INFORMATION TECHNOLOGY, LTD.
Reel/Frame 021573/0965 →