×

Multi-GPU graphics processing subsystem for installation in a PC-based computing system having a central processing unit (CPU) and a PC bus

  • US 7,796,129 B2
  • Filed: 10/23/2007
  • Issued: 09/14/2010
  • Est. Priority Date: 11/19/2003
  • Status: Active Grant
First Claim
Patent Images

1. A multi-GPU graphics processing subsystem integrated in a PC-based computing system including (i) system memory for storing software graphics applications, software drivers and graphics libraries, (ii) an operating system (OS), stored in said system memory, (iii) one or more graphics applications, stored in said system memory, for generating a stream of geometrical data and graphics commands supporting the representation of one or more 3D objects in a scene having 3D geometrical characteristics and the viewing of images of said one or more 3D objects in said scene during an interactive process carried out between said PC-based computing system and a user of said PC-based computing system, (iv) one or more graphic libraries, stored in said system memory, for storing data used to implement said stream of geometrical data and graphics commands, (v) a central processing unit (CPU), for executing said OS, said graphics applications, said drivers and said graphics libraries, (vi) a CPU interface module and a PC bus, and (vii) a display surface for displaying said images by graphically displaying frames of pixel data produced by said multi-GPU graphics processing subsystem;

  • wherein said multi-GPU graphics processing subsystem is interfaced with said CPU interface module by way of said PC bus and comprises;

    a plurality of graphic processing units (GPUs) arranged in a parallel architecture and operating according to a parallelization mode of operation so that said GPUs support multiple graphics pipelines and process data in a parallel manner;

    one or more GPU drivers, stored in said system memory, for allowing said GPUs to interact with said graphic libraries;

    one or more software hub drivers, stored in said system memory;

    a hardware hub, interfacing with said CPU interface module and said GPUs, by way of said PC bus, and having a hub router for (i) distributing the stream of geometrical data and graphic commands among said GPUs, and (ii) transferring pixel data output from one or more of said GPUs during the composition of frames of pixel data corresponding to final images for display on said display surface;

    wherein said CPU interface module provides an interface between said one or more software hub drivers and said hardware hub;

    wherein said one or more software hub drivers perform the following functions;

    (i) controlling the operation of said hardware hub,(ii) interacting with said OS and said graphic libraries, and(iii) forwarding said stream of geometrical data and graphic commands, or a portion thereof, to each said GPU over said PC bus; and

    wherein, for each image of said 3D object to be generated and displayed on said display surface, the following operations are performed;

    (i) said hardware hub uses said hub router and said PC bus to distribute said stream of geometrical data and graphic commands, or a portion thereof, to said GPUs,(ii) one or more of said GPUs process said stream of geometrical data and graphic commands, or a portion thereof, during the generation of each said frame, while operating in said parallelization mode, so as to generate pixel data corresponding to at least a portion of said image, and(iii) said hardware hub uses said router and said PC bus to transfer said pixel data output from one or more of said GPUs and compose a frame of pixel data, representative of the image of said 3D object, for display on said display surface.

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