Patents Assigned to NVidia
-
Publication number: 20140122838Abstract: One embodiment of the present invention enables threads executing on a processor to locally generate and execute work within that processor by way of work queues and command blocks. A device driver, as an initialization procedure for establishing memory objects that enable the threads to locally generate and execute work, generates a work queue, and sets a GP_GET pointer of the work queue to the first entry in the work queue. The device driver also, during the initialization procedure, sets a GP_PUT pointer of the work queue to the last free entry included in the work queue, thereby establishing a range of entries in the work queue into which new work generated by the threads can be loaded and subsequently executed by the processor. The threads then populate command blocks with generated work and point entries in the work queue to the command blocks to effect processor execution of the work stored in the command blocks.Type: ApplicationFiled: October 26, 2012Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Ignacio LLAMAS, Craig Ross DUTTWEILER, Jeffrey A. BOLZ, Daniel Elliot WEXLER
-
Publication number: 20140117527Abstract: One embodiment of the present invention sets forth an integrated circuit package that includes a substrate, one or more devices mounted on the substrate, and a lid having a top portion and an end portion and configured to encapsulate the one or more devices. The top portion is thinner than the end portion. One advantage of the disclosed design is that the overall height of an IC package may be reduced without significantly impacting the structural integrity or co-planarity of the IC package.Type: ApplicationFiled: November 1, 2012Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Leilei Zhang, Zuhair Bokharey
-
Publication number: 20140118381Abstract: One embodiment of the present invention includes approaches for processing graphics primitives associated with cache tiles when rendering an image. A set of graphics primitives associated with a first render target configuration is received from a first portion of a graphics processing pipeline, and the set of graphics primitives is stored in a memory. A condition is detected indicating that the set of graphics primitives is ready for processing, and a cache tile is selected that intersects at least one graphics primitive in the set of graphics primitives. At least one graphics primitive in the set of graphics primitives that intersects the cache tile is transmitted to a second portion of the graphics processing pipeline for processing. One advantage of the disclosed embodiments is that graphics primitives and associated data are more likely to remain stored on-chip during cache tile rendering, thereby reducing power consumption and improving rendering performance.Type: ApplicationFiled: September 10, 2013Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Ziyad S. HAKURA, Robert OHANNESSIAN, Cynthia ALLISON, Dale L. KIRKLAND
-
Publication number: 20140122812Abstract: One embodiment of the present invention sets forth a graphics subsystem. The graphics subsystem includes a first tiling unit associated with a first set of raster tiles and a crossbar unit. The crossbar unit is configured to transmit a first set of primitives to the first tiling unit and to transmit a first cache invalidate command to the first tiling unit. The first tiling unit is configured to determine that a second bounding box associated with primitives included in the first set of primitives overlaps a first cache tile and that the first bounding box overlaps the first cache tile. The first tiling unit is further configured to transmit the primitives and the first cache invalidate command to a first screen-space pipeline associated with the first tiling unit for processing. The screen-space pipeline processes the cache invalidate command to invalidate cache lines specified by the cache invalidate command.Type: ApplicationFiled: September 3, 2013Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Ziyad S. HAKURA, Emmett M. KILGARIFF
-
Publication number: 20140123147Abstract: A system, method, and computer program product are provided for reconstructing a sampled suffix array. The sampled suffix array is reconstructed by, for each index of a sampled suffix array for a string, calculating a block value corresponding to the index based on an FM-index, and reconstructing the sampled suffix array corresponding to the string based on the block values. Calculating at least two block values for at least two corresponding indices of the sampled suffix array is performed in parallel.Type: ApplicationFiled: November 1, 2012Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventor: Jacopo Pantaleoni
-
Publication number: 20140122005Abstract: A wafer acceptance test (WAT) system and method that, in one embodiment, includes: (1) a saturation current WAT subsystem operable to generate a weighted standard deviation based on target NMOS and PMOS saturation currents and saturation current WAT results, (2) a wafer IC speed WAT subsystem operable to generate a speed performance probability distribution of wafer ICs based on the weighted standard deviation and speed WAT results, (3) a wafer IC power WAT subsystem operable to employ the speed WAT results and power WAT results to generate a power performance model of wafer ICs, and (4) a yield calculator operable to generate a power performance variance probability distribution of wafer ICs based on the power performance model and the power WAT results, and to employ the speed performance probability distribution and the power performance variance probability distribution to generate the yield forecast with respect to a target performance profile.Type: ApplicationFiled: October 30, 2012Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Craig Nishizaki, Peter Hung, Gunaseelan Ponnuvel, Chien-Hsiung Peng
-
Publication number: 20140118364Abstract: One embodiment of the present invention sets forth a graphics subsystem configured to implement distributed cache tiling. The graphics subsystem includes one or more world-space pipelines, one or more screen-space pipelines, one or more tiling units, and a crossbar unit. Each world-space pipeline is implemented in a different processing entity and is coupled to a different tiling unit. Each screen-space pipeline is implemented in a different processing entity and is coupled to the crossbar unit. The tiling units are configured to receive primitives from the world-space pipelines, generate cache tile batches based on the primitives, and transmit the primitives to the screen-space pipelines. One advantage of the disclosed approach is that primitives are processed in application-programming-interface order in a highly parallel tiling architecture. Another advantage is that primitives are processed in cache tile order, which reduces memory bandwidth consumption and improves cache memory utilization.Type: ApplicationFiled: October 18, 2013Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Ziyad S. HAKURA, Cynthia Ann Edgeworth ALLISON, Dale L. KIRKLAND, Walter R. STEINER
-
Publication number: 20140123150Abstract: One embodiment sets forth a technique for scheduling the execution of ordered critical code sections by multiple threads. A multithreaded processor includes an instruction scheduling unit that is configured to schedule threads to process ordered critical code sections. A ordered critical code section is preceded by a barrier instruction and when all of the threads have reached the barrier instruction, the instruction scheduling unit controls the thread execution order by selecting each thread for execution based on logical identifiers associated with the threads. The logical identifiers are mapped to physical identifiers that are referenced by the multithreaded processor during execution of the threads. The logical identifiers are used by the instruction scheduling unit to control the order in which the threads execute the ordered critical code section.Type: ApplicationFiled: October 25, 2012Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: John Erik LINDHOLM, Tero Tapani KARRAS, Samuli Matias LAINE, Timo AILA
-
Publication number: 20140118365Abstract: One embodiment of the present invention includes a method for tracking which cache tiles included in a plurality of cache tiles are intersected by a plurality of bounding boxes. The method includes receiving the plurality of bounding boxes, wherein each bounding box is associated with one or more graphics primitives being rendered to a render surface, and wherein the render surface is divided into the plurality of cache tiles. The method further includes, for each bounding box included in the plurality of bounding boxes, determining one or more cache tiles included in the plurality of cache tiles that are intersected by the bounding box, and storing a result in an array for each cache tile that is intersected by the bounding box. Finally, the method includes determining not to process a cache tile included in the plurality of cache tiles based on the results stored in the array.Type: ApplicationFiled: August 14, 2013Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventor: Ziyad S. HAKURA
-
Publication number: 20140118194Abstract: Provided is a multi-band antenna. The multi-band antenna, as provided in one embodiment, includes a first resonant portion having a first length defined by an outer perimeter of a conductive segment and operable to effect an antenna for communication in a first band of frequencies. The multi-band antenna, in this aspect, further includes a second resonant portion having a second length defined by an inner perimeter of the conductive segment and operable to resonate capacitively for communication in a second different band of frequencies.Type: ApplicationFiled: November 30, 2012Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Joselito Gavilan, Warren Lee
-
Publication number: 20140118347Abstract: One embodiment of the present invention sets forth a graphics processing system. The graphics processing system includes a screen-space pipeline and a tiling unit. The screen-space pipeline is configured to perform visibility testing and fragment shading. The tiling unit is configured to determine that a first set of primitives overlaps a first cache tile. The tiling unit is also configured to first transmit the first set of primitives to the screen-space pipeline with a command configured to cause the screen-space pipeline to process the first set of primitives in a z-only mode, and then transmit the first set of primitives to the screen-space pipeline with a command configured to cause the screen-space pipeline to process the first set of primitives in a normal mode. In the z-only mode, at least some fragment shading operations are disabled in the screen-space pipeline. In the normal mode, fragment shading operations are enabled.Type: ApplicationFiled: October 1, 2013Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Ziyad S. HAKURA, Jerome F. DULUK, Jr.
-
Publication number: 20140119595Abstract: A set of images is processed to modify and register the images to a reference image in preparation for blending the images to create a high-dynamic range image. To modify and register a source image to a reference image, a processing unit generates a correspondence map for the source image based on a non-rigid dense correspondence algorithm, generates a warped source image based on the correspondence map, estimates one or more color transfer functions for the source image, and fills the holes in the warped source image. The holes in the warped source image are filled based on either a rigid transformation of a corresponding region of the source image or a transformation of the reference image based on the color transfer functions.Type: ApplicationFiled: October 25, 2012Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Orazio GALLO, Kari PULLI, Jun HU
-
Publication number: 20140117951Abstract: Embodiments are disclosed relating to an electric power conversion device and methods for controlling the operation thereof. One disclosed embodiment provides a multi-stage electric power conversion device including a first regulator stage including a first stage energy storage device and a second regulator stage including a second stage energy storage device, the second stage energy storage device being operatively coupled between the first stage energy storage device and the load. The device further includes a control mechanism operative to control (i) a first stage output voltage on a node between the first stage energy storage device and the second stage energy storage device and (ii) a second stage output voltage on a node between the second stage energy storage device and the load.Type: ApplicationFiled: October 30, 2012Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventor: William James Dally
-
Publication number: 20140118376Abstract: One embodiment of the present invention includes a technique for processing graphics primitives in a tile-based architecture. The technique includes storing, in a buffer, a first plurality of graphics primitives and a first plurality of state bundles received from the world-space pipeline. The technique further includes determining, based on a first condition, that the first plurality of graphics primitives should be replayed from the buffer, and, in response, replaying the first plurality of graphics primitives against a first tile included in a first plurality of tiles. Replaying the first plurality of graphics primitives includes comparing each graphics primitive against the first tile to determine whether the graphics primitive intersects the first tile, determining that one or more graphics primitives intersects the first tile, and transmitting the one or more graphics primitives and one or more associated state bundles to a screen-space pipeline for processing.Type: ApplicationFiled: October 4, 2013Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Ziyad S. HAKURA, Walter R. STEINER, Cynthia Ann Edgeworth ALLISON, Rouslan DIMITROV, Karim M. ABDALLA, Dale L. KIRKLAND, Emmett M. KILGARIFF
-
Publication number: 20140118375Abstract: One embodiment of the present invention sets forth a technique for managing buffer table entries in a tile-based architecture. The technique includes binding a plurality of shader registers to a buffer table entry. The technique further includes processing at least one tile by reading a buffer table index stored in the shader register to access the buffer table entry, reading a buffer address stored in the buffer table entry, accessing data associated with the buffer address, and unbinding the shader register from the buffer table entry. The technique further includes determining that none of the shader registers is still bound to the buffer table entry and, in response, causing a release packet to be inserted into an instruction stream. The technique further includes determining that a last tile has been processed and, in response, transmitting the release packet to cause the buffer table entry to be released.Type: ApplicationFiled: October 3, 2013Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Karim M. ABDALLA, Ziyad S. HAKURA, Cynthia Ann Edgeworth ALLISON, Dale L. KIRKLAND
-
Publication number: 20140118369Abstract: One embodiment of the present invention sets forth a graphics processing system configured to track event counts in a tile-based architecture. The graphics processing system includes a screen-space pipeline and a tiling unit. The screen-space pipeline includes a first unit, a count memory associated with the first unit, and an accumulating memory associated with the first unit. The first unit is configured to detect an event type and increment the count memory. The tiling unit is configured to cause the screen-space pipeline to update an external memory address to reflect a first value stored in the count memory when the first unit completes processing of a first set of primitives. The tiling unit is also configured to cause the screen-space pipeline to update the accumulating memory to reflect a second value stored in the count memory when the first unit completes processing of a second set of primitives.Type: ApplicationFiled: October 4, 2013Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Ziyad S. HAKURA, Jerome F. DULUK, JR.
-
Publication number: 20140122509Abstract: A system, method, and computer program product are provided for performing a string search. In use, a first string and a second string are identified. Additionally, a string search is performed, utilizing the first string and the second string.Type: ApplicationFiled: November 1, 2012Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Jacopo Pantaleoni, David Tarjan
-
Publication number: 20140118402Abstract: A set of images is processed to modify and register the images to a reference image in preparation for blending the images to create a high-dynamic range image. To modify and register a source image to a reference image, a processing unit generates correspondence information for the source image based on a global correspondence algorithm, generates a warped source image based on the correspondence information, estimates one or more color transfer functions for the source image, and fills the holes in the warped source image. The holes in the warped source image are filled based on either a rigid transformation of a corresponding region of the source image or a transformation of the reference image based on the color transfer functions.Type: ApplicationFiled: April 30, 2013Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Orazio GALLO, Kari PULLI, Jun HU
-
Publication number: 20140118204Abstract: One aspect provides an antenna. The antenna, in this aspect, includes a grounded segment extending from a metal chassis of an electronic device, and a feed portion coplanar with the grounded segment, the grounded segment and feed portion jointly tuned to cause the antenna to communicate in selected bands of frequencies.Type: ApplicationFiled: December 12, 2012Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Joselito Gavilan, Warren Lee
-
Publication number: 20140118348Abstract: A graphics processing pipeline configured for z-cull operations. The graphics processing pipeline comprising a screen-space pipeline and a tiling unit. The screen-space pipeline includes a z-cull unit configured to perform z-culling operations. The tiling unit is configured to determine that a first set of primitives overlaps a first cache tile. The tiling unit is also configured to transmit the first set of primitives to the screen-space pipeline for processing. The tiling unit is further configured to select between processing the first set of primitives in a full-surface z-cull mode or processing the first set of primitives in a partial-surface z-cull mode. The tiling unit is also configured to cause the z-cull unit to process the first set of primitives in the full-surface z-cull mode or to process the first set of primitives in the partial-surface z-cull mode.Type: ApplicationFiled: October 23, 2013Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Ziyad S. HAKURA, Jerome F. DULUK, Jr.