News Column

Patent Issued for Compression for Co-Processing Techniques on Heterogeneous Graphics Processing Units

July 22, 2014



By a News Reporter-Staff News Editor at Journal of Technology -- From Alexandria, Virginia, VerticalNews journalists report that a patent by the inventor Diard, Franck (Mountain View, CA), filed on December 30, 2009, was published online on July 8, 2014.

The patent's assignee for patent number 8773443 is NVIDIA Corporation (Santa Clara, CA).

News editors obtained the following quote from the background information supplied by the inventors: "Conventional computing systems may include a discrete graphics processing unit (dGPU) or an integral graphics processing unit (iGPU). The discrete GPU and integral GPU are heterogeneous because of their different designs. The integrated GPU generally has relatively poor processing performance compared to the discrete GPU. However, the integrated GPU generally consumes less power compared to the discrete GPU.

"The conventional operating system does not readily support co-processing using such heterogeneous GPUs. Referring to FIG. 1, a graphics processing technique according to the conventional art is shown. When an application 110 starts, it calls the user mode level runtime application programming interface (e.g., DirectX API d3d9.dll) 120 to determine what display adapters are available. In response, the runtime API 120 enumerates the adapters that are attached to the desktop (e.g., the primary display 180). A display adapter 165, 175, even recognized and initialized by the operating system, will not be enumerated in the adapter list by the runtime API 120 if it is not attached to the desktop. The runtime API 120 loads the device driver interface (DDI) (e.g., user mode driver (umd.dll)) 130 for the GPU 170 attached to the primary display 180. The runtime API 120 of the operating system will not load the DDI of the discrete GPU 175 because the discrete GPU 175 is not attached to the display adapter. The DDI 130 configures command buffers of the graphics processor 170 attached to the primary display 180. The DDI 130 will then call back to the runtime API 120 when the command buffers have been configured.

"Thereafter, the application 110 makes graphics request to the user mode level runtime API (e.g., DirectX API d3d9.dll) 120 of the operating system. The runtime 120 sends graphics requests to the DDI 130 which configures command buffers. The DDI calls to the operating system kernel mode driver (e.g., DirectX driver dxgkrnl.sys) 150, through the runtime API 120, to schedule the graphics request. The operating system kernel mode driver then calls to the device specific kernel mode driver (e.g., kmd.sys) 150 to set the command register of the GPU 170 attached to the primary display 180 to execute the graphics requests from the command buffers. The device specific kernel mode driver 160 controls the GPU 170 (e.g., integral GPU) attached to the primary display 180.

"Therefore, there is a need to enable co-processing on heterogeneous GPUs. For example, it may be desired to use a first GPU to perform graphics processing for a first class of applications and a second GPU for a second class of applications depending upon processing performance and power consumption parameters."

As a supplement to the background information on this patent, VerticalNews correspondents also obtained the inventor's summary information for this patent: "Embodiments of the present technology are directed toward graphics co-processing. The present technology may best be understood by referring to the following description and accompanying drawings that are used to illustrate embodiment of the present technology.

"In one embodiment, a graphics co-processing method includes loading and initializing a device driver interface and a device specific kernel mode driver for a graphics processing unit on a primary adapter. A device driver interface and a device specific kernel mode driver for a graphics processing unit on an unattached adapter are also loaded without the device driver interface talking back to a runtime application programming interface. A frame of red, green, blue (RGB) data is rendered on the graphics processing unit on the unattached adapter. The frame of RGB data is converted to luminance-color difference (YUV) data on the graphics processing unit on the unattached adapter. The YUV data is copied from frame buffers of the graphics processing unit on the unattached adapter to buffers in system memory. The YUV data is copied from the buffers in the system memory to texture buffers of the graphics processing unit on the primary adapter. A frame of RGB data is recovered from the YUV data in the texture buffer of the graphics processing unit on the primary adapter. The recovered frame of RGB data may then be presented, by the graphics processing unit on the primary adapter, on the primary display.

"In another embodiment, a graphics co-processing method includes loading a device specific kernel mode driver of a graphics processing unit tagged as a non-graphics device. A device driver interface and a device specific kernel mode driver are loaded and initialized for a graphics processing unit on a primary adapter. A device driver interface for the graphics processing unit on a non-graphics device tagged adapter is loaded and initialized without the device driver interface talking back to a runtime application programming interface. A frame of red, green, blue (RGB) data is rendered on the graphics processing unit on the non-graphics device tagged adapter. The frame of RGB data is converted to luminance-color difference (YUV) data on the graphics processing unit on the non-graphics device tagged adapter. The YUV data from frame buffers of the graphics processing unit on the non-graphics device tagged adapter is copied to buffers in system memory. The YUV data is copied from the buffers in the system memory to texture buffers of the graphics processing unit on the primary adapter. A frame of RGB data is recovered from the YUV data in the texture buffer of the graphics processing unit on the primary adapter. Thereafter, the recovered frame of RGB data may be presented, by the graphics processing unit on the primary adapter, on the primary display."

For additional information on this patent, see: Diard, Franck. Compression for Co-Processing Techniques on Heterogeneous Graphics Processing Units. U.S. Patent Number 8773443, filed December 30, 2009, and published online on July 8, 2014. Patent URL: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=8773443.PN.&OS=PN/8773443RS=PN/8773443

Keywords for this news article include: Technology, NVIDIA Corporation.

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC


For more stories covering the world of technology, please see HispanicBusiness' Tech Channel



Source: Journal of Technology


Story Tools






HispanicBusiness.com Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters