Parallel Processors (e.g., Identical Processors) Patents (Class 345/505)
  • Patent number: 7944450
    Abstract: A computing system capable of parallelizing the operation of multiple graphics processing units (GPUs) supported on a hybrid CPU/GPU fusion-architecture chip and/or on an external graphics card, and employing a multi-mode parallel graphics rendering subsystem having software and hardware implemented components. The computing system includes (i) CPU memory space for storing one or more graphics-based applications, (ii) one or more CPUs for executing the graphics-based applications, (iii) a multi-mode parallel graphics rendering subsystem supporting multiple modes of parallel operation, (iv) a plurality of graphic processing pipelines (GPPLs), implemented using the GPUs, and (vi) an automatic mode control module. During the run-time of the graphics-based application, the automatic mode control module automatically controls the mode of parallel operation of the multi-mode parallel graphics rendering subsystem so that the GPUs are driven in a parallelized manner.
    Type: Grant
    Filed: September 26, 2007
    Date of Patent: May 17, 2011
    Assignee: Lucid Information Technology, Ltd.
    Inventors: Reuven Bakalash, Yaniv Leviathan
  • Publication number: 20110109636
    Abstract: The present invention sets forth a method and system for communicating with an external device through a processing unit in a graphics system of a computing device. In one embodiment, the method comprises allocating a first set of memory buffers having a first memory buffer and a second memory buffer in the graphics system based on an identification information of the external device, and invoking a first thread processor of the processing unit of the graphics system to perform services associated with a physical layer according to the identification information of the external device by storing a first data stream received from the external device through an I/O interface of the processing unit of the graphics system in the first memory buffer and retrieving a second data stream from the second memory buffer for transmission to the external device through the I/O interface.
    Type: Application
    Filed: November 12, 2009
    Publication date: May 12, 2011
    Inventors: Shany-I CHAN, Ching-Yee Feng, Shih-Da Wu, Li-Kai Cheng, Li-Ling Chou, Yu-Kuo Chiang, Yu-Li (David) Ho
  • Patent number: 7940274
    Abstract: A computing system capable of parallelizing the operation of multiple graphics processing units (GPUs) supported on an integrated graphic device (IGD) embodied within a bridge circuit, and employing a multi-mode parallel graphics rendering subsystem having software and hardware implemented components. The computing system includes (i) CPU memory space for storing one or more graphics-based applications, (ii) one or more CPUs for executing the graphics-based applications, (iii) an external graphics card supporting at least one GPU and being connected to the bridge circuit by way of a data communication interface, (iv) a multi-mode parallel graphics rendering subsystem supporting multiple modes of parallel operation, (v) a plurality of graphic processing pipelines (GPPLs), implemented using the GPUs, and (vi) an automatic mode control module.
    Type: Grant
    Filed: September 25, 2007
    Date of Patent: May 10, 2011
    Assignee: Lucid Information Technology, Ltd
    Inventors: Reuven Bakalash, Yaniv Leviathan
  • Patent number: 7936356
    Abstract: An information processor for information registration, capturing means captures a graphics processing command, and database registering means registers, as information about completed work in the database, information about a series of graphics processing commands concerning completed works out of the captured graphics processing commands. In an information processor for information retrieval, proceeding work detecting means detects a work in progress as a proceeding work based on the captured graphics processing command, and information acquiring means searches a database for the information about the work in progress which has been done before based on the graphics processing command concerning the proceeding work and acquires the information about the work in progress which has been done before.
    Type: Grant
    Filed: November 10, 2004
    Date of Patent: May 3, 2011
    Assignee: International Business Machines Corporation
    Inventors: Sanehiro Furuichi, Susumu Shimotono, Tetsuya Noguchi, Jun Sugiyama, Hassan Hajji
  • Patent number: 7937359
    Abstract: A method of operating a Linear Complementarity Problem (LCP) solver is disclosed, where the LCP solver is characterized by multiple execution units operating in parallel to implement a competent computational method adapted to resolve physics-based LCPs in real-time.
    Type: Grant
    Filed: April 27, 2009
    Date of Patent: May 3, 2011
    Assignee: NVIDIA Corporation
    Inventors: Lihua Zhang, Richard Tonge, Dilip Sequeira, Monier Maher
  • Publication number: 20110090220
    Abstract: One embodiment of the present invention sets forth a technique for rendering graphics primitives in parallel while maintaining the API primitive ordering. Multiple, independent geometry units perform geometry processing concurrently on different graphics primitives. A primitive distribution scheme delivers primitives concurrently to multiple rasterizers at rates of multiple primitives per clock while maintaining the primitive ordering for each pixel. The multiple, independent rasterizer units perform rasterization concurrently on one or more graphics primitives, enabling the rendering of multiple primitives per system clock.
    Type: Application
    Filed: October 15, 2009
    Publication date: April 21, 2011
    Inventors: Steven E. Molnar, Emmett M. Kilgariff, Johnny S. Rhoades, Timothy John Purcell, Sean J. Treichler, Ziyad S. Hakura, Franklin C. Crow, James C. Bowman
  • Patent number: 7924287
    Abstract: A method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video. Spatial compositing uses a graphics unit or pipeline to render a portion (subarea) of each overall frame of digital video images. This reduces the amount of data that each processor must act on and increases the rate at which an overall frame is rendered. Optimization of spatial compositing depends on balancing the processing load among the different pipelines. The processing load typically is a direct function of the size of a given subarea and a function of the rendering complexity for objects within this subarea. Load balancing strives to measure these variables and adjust, from frame to frame, the number, sizes, and positions of the subareas. The cost of this approach is the necessity to communicate, in conjunction with each frame, the graphics data that will be rendered. Graphics data for a frame is composed of geometry chunks.
    Type: Grant
    Filed: June 11, 2010
    Date of Patent: April 12, 2011
    Assignee: Graphics Properties Holdings, Inc.
    Inventors: David M. Blythe, Marc Schafer, Paul Jeffrey Ungar, David Yu
  • Patent number: 7920141
    Abstract: The present invention relates to a rasterizer interpolator. In one embodiment, a setup unit is used to distribute graphics primitive instructions to multiple parallel rasterizers. To increase efficiency, the setup unit calculates the polygon data and checks it against one or more tiles prior to distribution. An output screen is divided into a number of regions, with a number of assignment configurations possible for various number of rasterizer pipelines. For instance, the screen is sub-divided into four regions and one of four rasterizers is granted ownership of one quarter of the screen. To reduce time spent on processing empty times, a problem in prior art implementations, the present invention reduces empty tiles by the process of coarse grain tiling. This process occurs by a series of iterations performed in parallel. Each region undergoes an iterative calculation/tiling process where coverage of the primitive is deduced at a successively more detailed level.
    Type: Grant
    Filed: February 28, 2006
    Date of Patent: April 5, 2011
    Assignee: ATI Technologies ULC
    Inventor: Mark M. Leather
  • Patent number: 7912302
    Abstract: Multiprocessor decoding is accomplished in a first mode by generating with a series of n processors, from a set of data macroblocks, the entropy decoding output of each data macroblock and storing the entropy decoding output of each data macroblock in n storage elements, respectively, associated with the processors and in the second mode decoding the macroblock data from its associated storage element in response to the macroblock entropy decoding output from its associated storage element stored in an nth previous period, predetermined data from one or more adjacent macroblocks, and data produced from a previous processor in the series.
    Type: Grant
    Filed: March 19, 2007
    Date of Patent: March 22, 2011
    Assignee: Analog Devices, Inc.
    Inventors: Yosef Stein, Gordon A. Sterling
  • Publication number: 20110063308
    Abstract: A method includes reducing power of a first graphics processor by disabling or not using its rendering engine and leaving a display engine of the same first graphics processor capable of outputting display frames from a corresponding first frame buffer to a display. A display frame is rendered by a second graphics processor while the rendering engine of the first graphics processor is in a reduced power state, such as a non-rendering state. The rendered frame is stored in a corresponding second frame buffer of the second graphics processor, such as a local frame buffer and copied from the second frame buffer to the first frame buffer. The copied frame in the first frame buffer is then displayed on a display while the rendering engine of the first graphics processor is in the reduced power state.
    Type: Application
    Filed: November 17, 2010
    Publication date: March 17, 2011
    Applicant: ATI TECHNOLOGIES ULC
    Inventors: James D. Hunkins, Lawrence J. King, Syed A. Hussain
  • Patent number: 7907145
    Abstract: Multiple output buffers are supported in a graphics processor. Each output buffer has a unique identifier and may include data represented in a variety of fixed and floating-point formats (8-bit, 16-bit, 32-bit, 64-bit and higher). A fragment program executed by the graphics processor can access (read or write any of the output buffers. Each of the output buffers may be read from and used to process graphics data by an execution pipeline within the graphics processor. Likewise, each output buffer may be written to by the graphics processor, storing graphics data such as lighting parameters, indices, color, and depth.
    Type: Grant
    Filed: August 7, 2006
    Date of Patent: March 15, 2011
    Assignee: NVIDIA Corporation
    Inventors: Rui M. Bastos, John M. Danskin, Matthew N. Papakipos
  • Patent number: 7908462
    Abstract: The current invention provides a virtual world simulation system capable of hosting with massive amount of concurrent players by integrating commodity parallel co-processors into servers. The current invention proposes novel parallel processing algorithms to make use of commodity parallel co-processors like a graphic processing unit (GPU) or any specialized hardware with parallel architecture design like a field-programmable gate array (FPGA), to accelerate virtual world simulation.
    Type: Grant
    Filed: June 9, 2010
    Date of Patent: March 15, 2011
    Assignee: Zillians Incorporated
    Inventor: Mu Chi Sung
  • Patent number: 7907138
    Abstract: Embodiments of the invention provide assigning two different class identifiers to a device to allow loading to an operating system as different devices. The device may be a graphics device. The graphics device may be integrated in various configurations, including but not limited to a central processing unit, chipset and so forth. The processor or chipset may be associated with a first identifier associated with a graphics processor and a second device identifier that enables the processor or chipset as a co-processor.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: March 15, 2011
    Assignee: Intel Corporation
    Inventors: Katen Shah, Hong Jiang
  • Patent number: 7907143
    Abstract: A development application leverages the programmability of shader execution units in the graphics processing subsystem to make graphics processing subsystem state data accessible to applications executed outside the graphics processing subsystem. The development application modifies shaders to include state output instructions adapted to direct a shader execution unit to copy graphics processing subsystem state data to a location in the computer system that is accessible to applications executed outside of the graphics processing subsystem. Following the execution of the state output instructions, the shader execution unit can be halted or can continue executing the shader. The development application can modify the shader to include state restoration instructions adapted to direct the shader execution unit to set state data of the graphics processing subsystem to previous or new values.
    Type: Grant
    Filed: May 18, 2009
    Date of Patent: March 15, 2011
    Assignee: Sony Computer Entertainment Inc.
    Inventor: Alan B. Heirich
  • Publication number: 20110057938
    Abstract: A system and method are presented by which data on a graphics processing unit (GPU) can be output to one or more buffers with independent output frequencies. In one embodiment, a GPU includes a shader processor configured to respectively emit a plurality of data sets into a plurality of streams in parallel. Each data is emitted into at least a portion of its respective stream. Also included is a first number of counters configured to respectively track the emitted data sets.
    Type: Application
    Filed: September 9, 2010
    Publication date: March 10, 2011
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Todd Martin, Vineet Goel
  • Publication number: 20110057937
    Abstract: A method is provided for optimizing computer processes executing on a graphics processing unit (GPU) and a central processing unit (CPU). Process data is subdivided into sequentially processed data and parallel processed data. The parallel processed data is subdivided into a plurality of data blocks assigned to a plurality of processing cores of the GPU. The data blocks on the GPU are processed with other data blocks in parallel on the plurality of processing cores. Sequentially processed data is processed on the CPU. Result data processed on the CPU is returned.
    Type: Application
    Filed: September 9, 2009
    Publication date: March 10, 2011
    Inventors: Ren Wu, Bin Zhang, Meichun Hsu
  • Patent number: 7903117
    Abstract: A media processing framework includes multiple media processing paths. At least one of the media processing paths includes a media processing pipeline which is in-process with respect to an application which interacts with the media processing pipeline. At least one other of the media processing paths includes a media processing pipeline which is out-of-process with respect to the application. The application can specify a custom plug-in presenter module to be set in either the in-process media processing pipeline or the out-of-process media processing pipeline. The application need not be “aware” of the pipeline that is being used, whether the pipeline is in-process or out-of-process, or the security level that is applied to the media processing pipeline. Both the in-process and the out-of-process media processing pipelines can supply media information to a presentation processor, such as a compositing engine.
    Type: Grant
    Filed: July 11, 2005
    Date of Patent: March 8, 2011
    Assignee: Microsoft Corporation
    Inventors: Gareth Howell, Thobias M. Jones, Nishad Mulye, Gurpratap Virdi
  • Patent number: 7903120
    Abstract: A method and system are disclosed for synchronizing two or more engines in a graphics processing unit (GPU). When issuing a command to an engine, a central processing unit (CPU) writes an event value representing the command into an element of an event memory associated with the engine. After executing the command, the engine modifies the content of the event memory in order to recognize the completion of the command execution. The CPU acquires the command execution status by reading the modified content of the event memory. With precise knowledge of the command execution status, the CPU can issue commands to various engines independently, hence the engines can run parallel.
    Type: Grant
    Filed: October 17, 2006
    Date of Patent: March 8, 2011
    Assignee: VIA Technologies, Inc.
    Inventor: Guofeng Zhang
  • Publication number: 20110050697
    Abstract: A plurality of vertex or fragment processors on a graphics processor perform computations. Each vertex or fragment processor is capable of executing a separate program to compute a specific result. A combiner manages the combination of the results from the respective processors, and produces a final transformed vertex or pixel value. The vertex or fragment processors and the combiner can be programmable to modify their operations. As such, the vertex or fragment processors can operate in a parallel or serial configuration, or both. The combiner manages and resolves the operations of the serial and/or parallel configurations. A synchronization barrier enables the combiner to perform data-dependency analysis to determine the timing and ordering of the respective processors' execution. A transformation module can include one or more programmable vertex processors that transforms three-dimensional geometric data into fragments.
    Type: Application
    Filed: November 8, 2010
    Publication date: March 3, 2011
    Applicant: Graphic Properties Holdings, Inc.
    Inventor: David SHREINER
  • Patent number: 7898544
    Abstract: Multiple graphics processors in a graphics processing system are interconnected in a unidirectional or bidirectional ring topology, allowing pixels to transferred from any one graphics processor to any other graphics processor. The system can automatically identify one or more “master” graphics processors to which one or more monitors are connected and configures the links of the ring such that one or more other graphics processors can deliver pixels to the master graphics processor, facilitating distributed rendering operations. The system can also automatically detect the connections or lack thereof between the graphics processors.
    Type: Grant
    Filed: July 14, 2009
    Date of Patent: March 1, 2011
    Assignee: NVIDIA Corporation
    Inventor: Philip Browning Johnson
  • Patent number: 7898500
    Abstract: An auxiliary processing state of a computing device provides an auxiliary display within a primary display device of the computing device. As such, a computing device can switch from a primary processing state (e.g., full power, full operating system, full functionality) to an auxiliary processing state and yet still provide a user interface through the primary display device. The auxiliary processing state may employ a different processor than the primary processing state. Alternatively, auxiliary processing state and the primary processing state may employ different processing modes of the same processor. Transitions between the auxiliary display of the auxiliary processing state and the primary display of the primary processing state may be transitioned to preserve some consistency between the two displays.
    Type: Grant
    Filed: May 22, 2006
    Date of Patent: March 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Andrew J. Fuller, Matthew P. Rhoten, Niels Van Dongen, Gregory H. Parks
  • Patent number: 7889202
    Abstract: This invention discloses a method and system for implementing transparent multi-buffering in multi-GPU graphics subsystems. The purpose of multi-buffering is to reduce GPU idle time. In one example, after rendering a first image by a first GPU in a back buffer, the first image is displayed by flipping to the back buffer. After that, the front buffer and back buffer are exchanged, and then shifting the back buffer and internal buffers in a predetermined sequence. A second image is rendered to current back buffer by a second GPU. The second image is displayed by flipping to a current back buffer. After that, the front buffer and back buffer are exchanged again, and shifting the back buffer and internal buffers again.
    Type: Grant
    Filed: October 17, 2006
    Date of Patent: February 15, 2011
    Assignee: VIA Technologies, Inc.
    Inventors: Guofeng Zhang, Xuan Zhao
  • Patent number: 7889922
    Abstract: A method for histogram calculation using a graphics processing unit (GPU), comprises storing image data in a two-dimensional (2D) texture domain; subdividing the domain into independent regions or tiles; calculating in parallel, in a GPU, a plurality of tile histograms, one for each tile; and summing up in parallel, in the GPU, the tile histograms so as to derive a final image histogram.
    Type: Grant
    Filed: November 8, 2006
    Date of Patent: February 15, 2011
    Assignee: Siemens Medical Solutions USA, Inc.
    Inventors: Oliver Fluck, Shmuel Aharon, Mikael Rousson, Daniel Cremers
  • Patent number: 7872653
    Abstract: This disclosure describes a variational framework for detail-preserving skinned mesh manipulation or deformation. The skinned mesh deformation occurs by optimizing skeleton position and vertex weights of a skeletal skinned mesh in an integrated manner. The process allows creating new poses and animations by specifying a few desired constraints for the skeletal skinned mesh in an interactive deformation platform. This process adjusts the skeletal position and solves for a deformed skinned mesh simultaneously with an algorithm in conjunction with the constraints. The algorithm includes a cascading optimization procedure. The mesh puppetry displays skinned mesh manipulation in real-time. The user interface will enable interactive design in creating new poses and animations for a skeletal skinned mesh, enabling direct manipulation of the skeletal skinned mesh to create natural, life-like poses, and providing automatic balancing and most-rigid constraints to create a puppet-like animation.
    Type: Grant
    Filed: June 18, 2007
    Date of Patent: January 18, 2011
    Assignee: Microsoft Corporation
    Inventors: Kun Zhou, Xiaohan Shi, Baining Guo
  • Patent number: 7868894
    Abstract: The present invention is generally related to the field of image processing, and more specifically to an instruction set for processing images. Vector processing may involve rearranging vector operands in one or more source registers prior to performing vector operations. Typically, rearranging of operands in source registers is done by issuing a plurality of permute instructions that require excessive usage of temporary registers. Furthermore, the permute instructions may cause dependencies between instructions executing in a pipeline, thereby adversely affecting performance. Embodiments of the invention provide a level of muxing between a register file and a vector unit that allow for rearrangement of vector operands in source registers prior to providing the operands to the vector unit, thereby obviating the need for permute instructions.
    Type: Grant
    Filed: November 28, 2006
    Date of Patent: January 11, 2011
    Assignee: International Business Machines Corporation
    Inventors: Eric Oliver Mejdrich, Adam James Muff, Matthew Ray Tubbs
  • Patent number: 7864352
    Abstract: A printer with an embedded multimedia server is described that includes a processor primarily allocated for print control and another processor for executing a multimedia server for interfacing with hardware and/or software interfaces for various forms of media. Examples of such interfaces include, a network interface, a VGA port, transcoding hardware, wireless interfaces and a (USB) port. Examples of types of media processed include video, audio and text. The multimedia server performs multimedia content processing, particularly for time-based data, examples of which include editing, formatting, scheduling capture of content, searching, recognition, and event detection. Additionally, the printer can provide a multimedia storage database. The printer provides a user interface on its chassis that can provide a web browser, so that a user can interact directly with the printer for indicating preferences for multimedia content processing and/or selection for printing onto a desired output medium.
    Type: Grant
    Filed: March 30, 2004
    Date of Patent: January 4, 2011
    Assignee: Ricoh Co. Ltd.
    Inventors: Jonathan J. Hull, Jamey Graham, Peter E. Hart, Kurt W. Piersol
  • Patent number: 7859542
    Abstract: A method for synchronizing two of more graphics processing units. The method includes the steps of determining whether the phase of a first timing signal of a first graphics processing unit and the phase of a second timing signal of a second graphics processing unit are synchronized, and adjusting the frequency of the first timing signal to the frequency of the second timing signal if the first timing signal and the second timing signal are not synchronized.
    Type: Grant
    Filed: December 4, 2007
    Date of Patent: December 28, 2010
    Assignee: NVIDIA Corporation
    Inventors: Ian M. Williams, Dat T. Nguyen, Jeffrey Chandler Doughty, Ralf Biermann, Kenneth Leon Adams, Jr., Andrew B. Ritger, Satish D. Salian, Fred D. Nicklisch
  • Patent number: 7852334
    Abstract: A transmitter/receiver obtains scanning data by transmitting ultrasonic waves to a subject to be examined and receiving reflected waves from the subject to be examined. An image processor converts the scanning data into image data represented by a predetermined coordinate system and applies a predetermined smoothing process to the image data. The image processor calculates the vector of each point, based on the image data after the smoothing process. The image processor generates three-dimensional image data by applying a ray-tracing process to the image data to which the smoothing process has not been applied, according to the vector.
    Type: Grant
    Filed: June 8, 2007
    Date of Patent: December 14, 2010
    Assignees: Kabushiki Kaisha Toshiba, Toshiba Medical Systems Corporation
    Inventor: Tadaharu Kobayashi
  • Patent number: 7852340
    Abstract: A scalable shader architecture is disclosed. In accord with that architecture, a shader includes multiple shader pipelines, each of which can perform processing operations on rasterized pixel data. Shader pipelines can be functionally removed as required, thus preventing a defective shader pipeline from causing a chip rejection. The shader includes a shader distributor that processes rasterized pixel data and then selectively distributes the processed rasterized pixel data to the various shader pipelines, beneficially in a manner that balances workloads. A shader collector formats the outputs of the various shader pipelines into proper order to form shaded pixel data. A shader instruction processor (scheduler) programs the individual shader pipelines to perform their intended tasks.
    Type: Grant
    Filed: December 14, 2007
    Date of Patent: December 14, 2010
    Assignee: NVIDIA Corporation
    Inventors: Rui M. Bastos, Karim M. Abdalla, Christian Rouet, Michael J.M. Toksvig, Johnny S Rhoades, Roger L. Allen, John Douglas Tynefield, Jr., Emmett M. Kilgariff, Gary M. Tarolli, Brian Cabral, Craig Michael Wittenbrink, Sean J. Treichler
  • Patent number: 7848430
    Abstract: A video and graphics system processes video data including both analog video, e.g., NTSC/PAL/SECAM/S-video, and digital video, e.g., MPEG-2 video in SDTV or HDTV format. The video and graphics system includes a video decoder, which is capable of concurrently decoding multiple SLICEs of MPEG-2 video data. The video decoder includes multiple row decoding engines for decoding the MPEG-2 video data. Each row decoding engine concurrently decodes two or more rows of the MPEG-2 video data. The row decoding engines have a pipelined architecture for concurrently decoding multiple rows of MPEG-2 video data. The video decoder may be integrated on an integrated circuit chip with other video and graphics system components such as transport processors for receiving one or more compressed data streams and for extracting video data, and a video compositor for blending processed video data with graphics.
    Type: Grant
    Filed: May 15, 2007
    Date of Patent: December 7, 2010
    Assignee: Broadcom Corporation
    Inventors: Ramanujan K. Valmiki, Sandeep Bhatia
  • Patent number: 7843457
    Abstract: A PC-based computing system employing a bridge chip with a routing unit to distribute geometrical data and graphics commands to multiple GPU-driven pipeline cores supported on a plurality of graphics cards and the bridge chip. The PC-based computing system includes system memory for storing software graphics applications, software drivers and graphics libraries, and an operating system (OS), stored in the system memory, and a central processing unit (CPU) supported on a motherboard, for executing the OS, graphics applications, drivers and graphics libraries. The routing unit in the bridge chip interfaces with the CPU and the GPU-driven pipeline cores.
    Type: Grant
    Filed: October 26, 2007
    Date of Patent: November 30, 2010
    Assignee: Lucid Information Technology, Ltd.
    Inventors: Reuven Bakalash, Offir Remez, Efi Fogel
  • Patent number: 7834880
    Abstract: A high performance graphics processing and display system architecture supporting a cluster of multiple cores of graphic processing units (GPUs) that cooperate to provide a powerful and highly scalable visualization solution supporting photo-realistic graphics capabilities for diverse applications. The present invention eliminates rendering bottlenecks along the graphics pipeline by dynamically managing various parallel rendering techniques and enabling adaptive handling of diverse graphics applications.
    Type: Grant
    Filed: March 22, 2006
    Date of Patent: November 16, 2010
    Assignee: Lucid Information Technology, Ltd.
    Inventors: Reuven Bakalash, Offir Remez, Efi Fogel
  • Patent number: 7834881
    Abstract: An apparatus and method for simulating a multi-ported memory using lower port count memories as banks. A collector units gather source operands from the banks as needed to process program instructions. The collector units also gather constants that are used as operands. When all of the source operands needed to process a program instruction have been gathered, a collector unit outputs the source operands to an execution unit while avoiding writeback conflicts to registers specified by the program instruction that may be accessed by other execution units.
    Type: Grant
    Filed: November 1, 2006
    Date of Patent: November 16, 2010
    Assignee: NVIDIA Corporation
    Inventors: Samuel Liu, John Erik Lindholm, Ming Y Siu, Brett W. Coon, Stuart F. Oberman
  • Patent number: 7830390
    Abstract: A plurality of vertex or fragment processors on a graphics processor perform computations. Each vertex or fragment processor is capable of executing a separate program to compute a specific result. A combiner manages the combination of the results from the respective processors, and produces a final transformed vertex or pixel value. The vertex or fragment processors and the combiner can be programmable to modify their operations. As such, the vertex or fragment processors can operate in a parallel or serial configuration, or both. The combiner manages and resolves the operations of the serial and/or parallel configurations. A synchronization barrier enables the combiner to perform data-dependency analysis to determine the timing and ordering of the respective processors' execution. A transformation module can include one or more programmable vertex processors that transforms three-dimensional geometric data into fragments.
    Type: Grant
    Filed: July 19, 2005
    Date of Patent: November 9, 2010
    Assignee: Graphics Properties Holdings, Inc.
    Inventor: David Shreiner
  • Patent number: 7830392
    Abstract: The number of crossbars in a graphics processing unit is reduced by assigning each of a plurality of pixels to one of a plurality of pixel shaders based at least in part on a location of each of the plurality of pixels within an image area, generating an attribute value for each of the plurality of pixels using the plurality of pixel shaders, mapping the attribute value of each of the plurality of pixels to one of a plurality of memory partitions, and storing the attribute values in the memory partitions according to the mapping. The attribute value generated by a particular one of the pixel shaders is mapped to the same one of the plurality of memory partitions.
    Type: Grant
    Filed: December 18, 2006
    Date of Patent: November 9, 2010
    Assignee: NVIDIA Corporation
    Inventors: John M. Danskin, Steven E. Molnar, John S. Montrym, Mark French, John H. Edmondson
  • Publication number: 20100271375
    Abstract: Systems and methods for balancing a load among multiple graphics processors that perform different portions of a rendering task. A rendering task is partitioned into portions for each of two (or more) graphics processors. The graphics processors perform their respective portions of the rendering task and return feedback data indicating completion of the assigned portion. Based on the feedback data, an imbalance can be detected between respective loads of two of the graphics processors. In the event that an imbalance exists, the rendering task is re-partitioned to increase the portion assigned to the less heavily loaded processor and to decrease the portion assigned to the more heavily loaded processor.
    Type: Application
    Filed: June 17, 2010
    Publication date: October 28, 2010
    Applicant: NVIDIA Corporation
    Inventor: Franck R. Diard
  • Patent number: 7821517
    Abstract: One embodiment of a video processor includes a first media processing device coupled to a first memory and a second media processing device coupled to a second memory. The second media processing device is coupled to the first media processing device via a scalable bus. A software driver configures the media processing devices to provide video processing functionality. The scalable bus carries video data processed by the second media processing device to the first media processing device where the data is combined with video data processed by the first media processing device to produce a processed video frame. The first media processing device transmits the combined video data to a display device. Each media processing device is configured to process separate portions of the video data, thereby enabling the video processor to process video data more quickly than a single-GPU video processor.
    Type: Grant
    Filed: April 27, 2009
    Date of Patent: October 26, 2010
    Assignee: NVIDIA Corporation
    Inventors: Hassane S. Azar, Franck R. Diard
  • Patent number: 7821519
    Abstract: A memory architecture includes a memory controller coupled to multiple modules. Each module includes a computing engine coupled to a shared memory. Each computing engine is capable of receiving instructions from the memory controller and processing the received instructions. The shared memory is configured to store main memory data and graphical data. Certain computing engines are capable of processing graphical data. The memory controller may include a graphics controller that provides instructions to the computing engine. An interconnect on each module allows multiple modules to be coupled to the memory controller.
    Type: Grant
    Filed: February 15, 2005
    Date of Patent: October 26, 2010
    Assignee: Rambus Inc.
    Inventor: Richard E. Perego
  • Patent number: 7812846
    Abstract: A PC-based computing system employing a silicon chip having a routing unit, a control unit and profiling unit for parallelizing multiple GPU-driven pipeline cores according to the object division mode of parallelization operation, during a graphics application. The PC-based computing system includes system memory for storing software graphics applications, software drivers and graphics libraries, and an operating system (OS), stored in the system memory, and a central processing unit (CPU), for executing the OS, graphics applications, drivers and graphics libraries. The system also includes a CPU/memory interface module and a CPU bus. The routing unit (i) routes the stream of geometrical data and graphic commands from the graphics application to one or more of the GPU-driven pipeline cores, and (ii) routes pixel data output from one or more of GPU-driven pipeline cores during the composition of frames of pixel data corresponding to final images for display on the display surface.
    Type: Grant
    Filed: October 26, 2007
    Date of Patent: October 12, 2010
    Assignee: Lucid Information Technology, Ltd
    Inventors: Reuven Bakalash, Offir Remez, Efi Fogel
  • Patent number: 7812845
    Abstract: A PC-based computing system employing a silicon chip implementing parallelized GPU-driven pipelines cores supporting multiple modes of parallelization dynamically controlled while running a graphics application. The PC-based computing system includes system memory for storing software graphics applications, software drivers and graphics libraries, and an operating system (OS), stored in the system memory, and a central processing unit (CPU), for executing the OS, graphics applications, drivers and graphics libraries. The system also includes a CPU/memory interface module and a CPU bus. The routing unit (i) routes the stream of geometrical data and graphic commands from the graphics application to one or more of the GPU-driven pipeline cores, and (ii) routes pixel data output from one or more of GPU-driven pipeline cores during the composition of frames of pixel data corresponding to final images for display on the display surface.
    Type: Grant
    Filed: October 26, 2007
    Date of Patent: October 12, 2010
    Assignee: Lucid Information Technology, Ltd.
    Inventors: Reuven Bakalash, Offir Remez, Efi Fogel
  • Patent number: 7812843
    Abstract: A distributed resource system comprises a plurality of compute resource units operable to execute graphics applications and generate graphics data, and a plurality of visualization resource units communicatively coupled to the plurality of compute resource units and operable to render pixel data from the graphics data. A first network couples a network compositor to the plurality of visualization resource units. The network compositor is operable to synchronize the received pixel data from the plurality of visualization resource units and receive the pixel data from the visualization resource units and to composite the synchronized pixel data into at least one image. A plurality of display devices, at least one of which is located remotely from the plurality of compute resource units, are coupled to the network compositor and operable to display the at least one image.
    Type: Grant
    Filed: May 19, 2005
    Date of Patent: October 12, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Byron A. Alcorn
  • Patent number: 7812844
    Abstract: A PC-based computing system employing a silicon chip having a routing unit and a control unit for parallelizing multiple GPU-driven pipeline cores according to an object division mode of parallel operation, during the running of a graphics application. The PC-based computing system includes system memory for storing software graphics applications, software drivers and graphics libraries, and an operating system (OS), stored in the system memory, and a central processing unit (CPU), for executing the OS, graphics applications, drivers and graphics libraries. The system also includes a CPU/memory interface module, a CPU bus, a silicon chip of monolithic construction interfaced with the CPU/memory interface module by way of the CPU bus.
    Type: Grant
    Filed: January 25, 2006
    Date of Patent: October 12, 2010
    Assignee: Lucid Information Technology, Ltd.
    Inventors: Reuven Bakalash, Offir Remez, Efi Fogel
  • Patent number: 7808499
    Abstract: A PC-based computing system capable of displaying images of 3-D objects during an interactive process between said computing system and a user thereof. The PC-based computing system includes a system memory for storing software graphics applications, software drivers and graphics libraries, and an operating system (OS), stored in the system memory, and a central processing unit (CPU), for executing the OS, graphics applications, drivers. and graphics libraries. The system also includes an CPU interface module, a PC bus, a graphics processing subsystem interfaced with the CPU interface module by way of the PC bus, and a display surface for displaying said images by graphically displaying frames of pixel data produced by the graphics processing subsystem. The graphics processing subsystem includes a plurality of GPUs arranged in a parallel architecture and operating according to a parallelization mode of operation so that the GPUs support multiple graphics pipelines and process data in a parallel manner.
    Type: Grant
    Filed: November 19, 2004
    Date of Patent: October 5, 2010
    Assignee: Lucid Information Technology, Ltd.
    Inventors: Reuven Bakalash, Offir Remez, Gigy Bar-Or, Efi Fogel, Amir Shaham
  • Patent number: 7808504
    Abstract: PC-based computing system having an integrated graphics subsystem supporting parallel graphics processing operations across a plurality of different graphics processing units (GPUs) supplied from the same or different vendors. The graphics subsystem include a graphics controller hub (GCH) chip located on a CPU bus, and having Multi-Pipeline Core Logic (MP-CL) circuitry including a routing unit and a control unit. The plurality of different GPUs are interfaced with the GCH chip. Each different GPU supports a GPU-driven pipeline core having a frame buffer (FB) for storing a fragment of pixel data. The GPU-driven pipeline cores are arranged in a parallel architecture and operated according to a parallelization mode of operation, so that said GPU-driven pipeline cores process data in a parallel manner.
    Type: Grant
    Filed: October 26, 2007
    Date of Patent: October 5, 2010
    Assignee: Lucid Information Technology, Ltd.
    Inventors: Reuven Bakalash, Offir Remez, Efi Fogel
  • Patent number: 7804504
    Abstract: A method for manufacturing an integrated circuit is described. The integrated circuit comprises a plurality of tiles, each tile comprising a processor and a switch coupled to neighboring tiles to form a network of tiles. The method includes identifying at least one tile that includes a fault, and forming data paths through one or more tiles to preserve communication in the network.
    Type: Grant
    Filed: December 13, 2005
    Date of Patent: September 28, 2010
    Assignee: Massachusetts Institute of Technology
    Inventor: Anant Agarwal
  • Patent number: 7800611
    Abstract: A graphics hub subsystem for interfacing parallelized graphics processing units (GPUs) with the CPU of a PC-based computing system having a CPU interface module and a PC bus. The PC-based computing system includes system memory for storing software graphics applications, software drivers and graphics libraries, and an operating system (OS), stored in the system memory, and a central processing unit (CPU), for executing the OS, graphics applications, drivers. and graphics libraries. The graphics hub subsystem includes a hardware hub having a hub router for interfacing with the CPU interface module and the GPUs by way of the PC bus, distributing the stream of geometrical data and graphic commands among the GPUs, and transferring pixel data output from one or more of the GPUs during the composition of frames of pixel data corresponding to final images for display on the display surface. The subsystem also includes one or more software hub drivers, stored in the system memory.
    Type: Grant
    Filed: October 23, 2007
    Date of Patent: September 21, 2010
    Assignee: Lucid Information Technology, Ltd.
    Inventors: Reuven Bakalash, Offir Remez, Gigy Bar-Or, Efi Fogel, Amir Shaham
  • Patent number: 7800620
    Abstract: Although GPUs have been harnessed to solve non-graphics problems, these solutions are not widespread because GPUs remain difficult to program. Instead, an interpreter simplifies the task of programming a GPU by providing language constructs such as a set of data types and operations that are more familiar to non-graphics programmers. The interpreter maps these familiar language constructs to the more difficult graphics programming resources such as DirectX®, OpenGL®, Cg®, and/or HLSL®.
    Type: Grant
    Filed: October 21, 2005
    Date of Patent: September 21, 2010
    Assignee: Microsoft Corporation
    Inventors: David Read Tarditi, Jr., Vivian Sewelson
  • Patent number: 7800610
    Abstract: A PC-based computing system capable of displaying images of 3-D objects during an interactive process between said computing system and a user thereof. The PC-based computing system includes system memory for storing software graphics applications, software drivers and graphics libraries, and an operating system (OS), stored in the system memory, and a central processing unit (CPU), for executing the OS, graphics applications, drivers. and graphics libraries. The system also includes an CPU interface module and a PC bus, a graphics processing subsystem interfaced with the CPU interface module by way of the PC bus, and a display surface for displaying said images by graphically displaying frames of pixel data produced by the graphics processing subsystem.
    Type: Grant
    Filed: October 23, 2007
    Date of Patent: September 21, 2010
    Assignee: Lucid Information Technology, Ltd.
    Inventors: Reuven Bakalash, Offir Remez, Gigy Bar-Or, Efi Fogel, Amir Shaham
  • Patent number: 7800619
    Abstract: A method of providing a PC-based computing system with parallel graphics processing capabilities, wherein the PC-based computing system includes (i) system memory (ii) an operating system (OS, (iii) one or more graphics applications, stored in said system memory, (iv) one or more graphic libraries, (v) a central processing unit (CPU) for executing the OS, graphics applications, drivers and graphics libraries, (vi) an CPU interface module for interfacing with the CPU, (vii) a PC bus, and (viii) a display surface for displaying images of 3D objects. The method involves interfacing a hardware hub having a hub router, with the CPU interface module using the PC bus. The hardware hub is interfaced with a plurality of graphic processing units (GPUs), using the PC bus, so that the GPUs are arranged in a parallel architecture and operating according to a parallelization mode of operation so that the GPUs support multiple graphics pipelines and process data in a parallel manner.
    Type: Grant
    Filed: October 23, 2007
    Date of Patent: September 21, 2010
    Assignee: Lucid Information Technology, Ltd.
    Inventors: Reuven Bakalash, Offir Remez, Gigy Bar-Or, Efi Fogel, Amir Shaham
  • Patent number: 7796130
    Abstract: A PC-based computing system capable of displaying images of 3-D objects during an interactive process between said computing system and a user thereof. The PC-based computing system includes a graphics processing subsystem having a plurality of GPUs arranged in a parallel architecture and operating according to an object division mode of parallel operation so that each GPU supports a graphics pipeline for processing data in a parallel manner according to the object division mode. A hardware hub, interfaces with a CPU interface module and the GPUs, and has a hub router for (i) distributing the stream of geometrical data and graphic commands among the GPUs, and (ii) transferring pixel data output from one or more of GPUs during the composition of frames of pixel data corresponding to final images for display on the display surface. A CPU interface module provides an interface between one or more software hub drivers and the hardware hub.
    Type: Grant
    Filed: October 23, 2007
    Date of Patent: September 14, 2010
    Assignee: Lucid Information Technology, Ltd.
    Inventors: Reuven Bakalash, Offir Remez, Gigy Bar-Or, Efi Fogel, Amir Shaham