×

Method of controlling in real time the switching of modes of parallel operation of a multi-mode parallel graphics processing subsystem embodied within a host computing system

  • US 7,961,194 B2
  • Filed: 08/30/2007
  • Issued: 06/14/2011
  • Est. Priority Date: 11/19/2003
  • Status: Active Grant
First Claim
Patent Images

1. A method of controlling in real-time the switching of modes of parallel operation of a multi-mode parallel graphics processing subsystem embodied within a host computing system, said method comprising the steps of:

  • (a) providing a host computing system that includes (i) a host memory space (HMS) for storing one or more graphics-based applications and a graphics library for generating graphics commands and data (GCAD) during the run-time of said one or more graphics-based applications, (ii) one or more CPUs for executing said one or more graphics-based applications, (iii) a display device for displaying images containing graphics during the execution of said one or more graphics-based applications, and (iv) a multi-mode parallel graphics processing subsystem supporting multiple modes of parallel operation selected from the group consisting of object division, image division, and time division, wherein each mode of parallel operation includes at least three stages, namely, decomposition, distribution and recomposition, and said multi-mode parallel graphics processing subsystem having a plurality of graphic processing pipelines (GPPLs), implemented by multiple graphics processing units (GPUs), and supporting a parallel graphics rendering process that employs said multiple modes of parallel operation, and an automatic mode controller for controlling in real-time the switching of said multiple modes of parallel operation during the run-time of said one or more graphics-based applications;

    wherein said multi-mode parallel graphics processing subsystem 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; and

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

    wherein said decomposition module divides up said stream of graphic commands and data according to the mode of parallel operation controlled by said automatic mode controller;

    wherein said distribution module distributes said stream of graphics commands and data to one or more of said multiple GPUs according to the mode of parallel operation controlled by said automatic mode controller;

    wherein one or more of said multiple GPUs execute said graphics commands using said graphics data, and generate partial pixel data sets associated with frames of images of said 3D scene to be composited, according to the mode of parallel operation controlled said automatic mode controller; and

    wherein said recomposition module merges together the partial pixel data sets produced from one or more of said multi le GPUs according to said mode of parallel operation controlled by said automatic mode controller, and producing a final pixel data set for display on said display device;

    (b) during the run-time of said one or more graphics-based applications, monitoring and analyzing, on a frame-by-frame basis, the stream of graphic commands and data produced by said one or more graphics-based applications, and/or performance data associated with said multi-mode parallel graphics processing subsystem and said host computing system,wherein said analysis of graphic commands and data and performance data involves profiling of scenes in said one or more graphics-based applications, on an image frame by image frame basis, in real-time during run-time of said one or more graphics-based applications;

    (c) based on the analysis of said graphic commands and data and/or said performance data during step (b), automatically switching into a first one of said multiple modes of parallel operation during the run-time of said one or more graphics-based applications;

    (d) while said multi-mode parallel graphics processing subsystem is operating in said first one of said supported modes of operation, said GPUs processing said graphic commands and data, and rendering a first set of pixel-composited images containing graphics for display on said display device during the run-time of said one or more graphics-based applications;

    (e) during the run-time of said one or more graphics-based applications, continuing to monitor said graphic commands and data and/or said performance data on a frame-by-frame basis, automatically switching out of said first one of said multiple modes of parallel operation of said multi-mode parallel graphics processing subsystem and switching into a second one of said multiple modes of parallel operation, during the run-time of said one or more graphics-based applications;

    (f) while said multi-mode parallel graphics processing subsystem is operating in the second one of said supported multiple modes of parallel operation, said GPUs processing said graphic commands and data, and rendering a second set of pixel-composited images containing graphics for display on said display device during the run-time of said one or more graphics-based applications; and

    (g) continuing to monitor said graphic commands and data and/or said performance data on a frame-by-frame basis, during the run-time of said one or more graphics-based applications, and automatically switching into, out of, and transiting between said multiple modes of parallel operation during the run-time of said one or more graphics-based applications.

View all claims
  • 5 Assignments
Timeline View
Assignment View
    ×
    ×