Nvidia Patent Grants

Techniques for sharing priorities between streams of work and dynamic parallelism

Granted: February 21, 2017
Patent Number: 9575760
One embodiment sets forth a method for assigning priorities to kernels launched by a software application and executed within a stream of work on a parallel processing subsystem that supports dynamic parallelism. First, the software application assigns a maximum nesting depth for dynamic parallelism. The software application then assigns a stream priority to a stream. These assignments cause a driver to map the stream priority to a device priority and, subsequently, associate the device…

Replaying memory transactions while resolving memory access faults

Granted: February 21, 2017
Patent Number: 9575892
One embodiment of the present invention is a parallel processing unit (PPU) that includes one or more streaming multiprocessors (SMs) and implements a replay unit per SM. Upon detecting a page fault associated with a memory transaction issued by a particular SM, the corresponding replay unit causes the SM, but not any unaffected SMs, to cease issuing new memory transactions. The replay unit then stores the faulting memory transaction and any faulting in-flight memory transaction in a…

Render-assisted compression for remote graphics

Granted: February 21, 2017
Patent Number: 9576340
A technique for efficiently compressing rendered three-dimensional images in a remote rendering system adds a novel render-assisted prediction function to an existing video compression framework, such as the standard H.264/5 framework. Auxiliary rendering information is separated from rendering information used to describe a reference image by a server system. A client system may alter the auxiliary data and generate a new image based on the reference image and rendered scene information…

System and method for enhanced monoimaging

Granted: February 21, 2017
Patent Number: 9578224
A system and method for enhanced automatic monoimaging. Embodiments of the present invention are operable for configuring a first camera based on a configuration determination by a second camera. The method includes capturing a first image with the first camera and determining an optical configuration based on an optical measurement performed by a second camera. In one embodiment, the second camera comprises a lower resolution sensor than a sensor of the first camera. The method further…

Method of disseminating updated drivers to mobile computing devices and a dissemination system therefor

Granted: February 14, 2017
Patent Number: 9569197
Disclosed herein are mobile computing devices that employ compatible updated drivers. In one embodiment, the mobile computing device includes: (1) a processor, (2) a driver library configured to store original drivers and updated drivers for applications on the mobile computing device, and (3) a driver selector configured to determine at least one driver from the original drivers or the updated drivers to use for running one of the applications.

Execution pipeline data forwarding

Granted: February 14, 2017
Patent Number: 9569214
In one embodiment, in an execution pipeline having a plurality of execution subunits, a method of using a bypass network to directly forward data from a producing execution subunit to a consuming execution subunit is provided. The method includes producing output data with the producing execution subunit, consuming input data with the consuming execution subunit, for one or more intervening operations whose input is the output data from the producing execution subunit and whose output is…

Heterogeneous multiprocessor design for power-efficient and area-efficient computing

Granted: February 14, 2017
Patent Number: 9569279
A technique for managing processor cores within a multi-core central processing unit (CPU) provides efficient power and resource utilization over a wide workload range. The CPU comprises at least one core designed for low power operation and at least one core designed for high performance operation. For low workloads, the low power core executes the workload. For certain higher workloads, the high performance core executes the workload. For certain other workloads, the low power core and…

Method for automatic page table compression

Granted: February 14, 2017
Patent Number: 9569348
One embodiment of the present invention sets forth a technique for performing a method for compressing page table entries (PTEs) prior to storing the PTEs in a translation look-aside buffer (TLB). A page table entry (PTE) request is received for a PTE that is not stored in the TLB. The PTE as well as a plurality of PTEs that are adjacent to the PTE are retrieved from a memory. The PTE and the plurality of PTEs are compressed and then stored in the TLB.

Memory transaction ordering

Granted: February 14, 2017
Patent Number: 9569385
Embodiments are disclosed relating to methods of ordering transactions across a bus of a computing device. One embodiment of a method includes determining a current target memory channel for an incoming transaction request, and passing the incoming transaction request downstream if the current target memory channel matches an outstanding target memory channel indicated by a direction bit of a counter or the counter equals zero. The method further includes holding the incoming transaction…

Beam tracing

Granted: February 14, 2017
Patent Number: 9569559
An apparatus, computer readable medium, and method are disclosed for performing an intersection query between a query beam and a target bounding volume. The target bounding volume may comprise an axis-aligned bounding box (AABB) associated with a bounding volume hierarchy (BVH) tree. An intersection query comprising beam information associated with the query beam and slab boundary information for a first dimension of a target bounding volume is received. Intersection parameter values are…

Technique for pre-computing ambient obscurance

Granted: February 14, 2017
Patent Number: 9569885
One embodiment of the present invention includes techniques for pre-computing ambient shadowing parameters for a computer-generated scene. A processing unit retrieves a reference object associated with the computer-generated scene and comprising a plurality of vertices. For each vertex in the plurality of vertices, the processing unit computes a local ambient shadowing parameter, and stores the local ambient shadowing parameter in a memory. For each instance of the reference object…

Method and system for controlling a semiconductor fabrication process

Granted: February 14, 2017
Patent Number: 9570284
A method for controlling a semiconductor fabrication process includes the steps of analyzing process-data related to an intermediate-process-step in the fabrication process and adjusting a metal-layer-parameter corresponding to the metal layer based on the process-data.

Input rail dynamic power balancing and merging

Granted: February 14, 2017
Patent Number: 9570907
A dynamic multiple input rail switching unit includes a plurality of DC input voltage rails and a rail switching section coupled to the plurality of DC input voltage rails that is configured to individually connect selected ones of the plurality of DC input voltage rails to a switched rail output. The dynamic multiple input rail switching unit also includes a rail selection section that is coupled to the rail switching section and configured to dynamically choose the selected ones by…

Techniques for generating robust stereo images from a pair of corresponding stereo images captured with and without the use of a flash device

Granted: February 14, 2017
Patent Number: 9571818
Techniques for generating robust depth maps from stereo images are described. A robust depth map is generated from a set of stereo images captured with and without flash illumination. The depth map is more robust than depth maps generated using conventional techniques because a pixel-matching algorithm is implemented that weights pixels in a matching window according to the ratio of light intensity captured using different flash illumination levels. The ratio map provides a rough…

Approach to clock frequency modulation of a fixed frequency clock source

Granted: February 7, 2017
Patent Number: 9563227
A modulated clock device is provided that includes an update device for updating a phase of the modulated clock device. In one example, the update device includes an update phase multiplexer coupled to an output phase multiplexer of an output clock generator and configured to receive an input clock signal and one or more phases of the input clock signal; an output phase fractional counter coupled to the update phase multiplexer and configured to receive an update clock signal and to…

Dynamic configuration of processing pipeline based on determined type of fetched instruction

Granted: February 7, 2017
Patent Number: 9563432
Various embodiments relating to executing different types of instruction code in a micro-processing system are provided. In one embodiment, a micro-processing system includes a memory/storage subsystem configured to store non-native instruction set architecture (ISA) code and native ISA code in a common address space, fetch logic configured to retrieve the non-native ISA code and native ISA code from the common address space, instruction type determining logic configured to determine, at…

Page crossing prefetches

Granted: February 7, 2017
Patent Number: 9563562
Prefetching is permitted to cross from one physical memory page to another. More specifically, if a stream of access requests contains virtual addresses that map to more than one physical memory page, then prefetching can continue from a first physical memory page to a second physical memory page. The prefetching advantageously continues to the second physical memory page based on the confidence level and prefetch distance established while the first physical memory page was the target…

Methods for reducing memory space in sequential operations using directed acyclic graphs

Granted: February 7, 2017
Patent Number: 9563933
Various disclosed embodiments are directed to methods and systems for reducing memory space in sequential computer-implemented operations. The method includes generating a directed acyclic graph (DAG) having a plurality of vertices and directed edges, wherein each edge connects a predecessor vertex to a successor vertex. Each vertex represents one of the computer-implemented operations and each directed edge represents output data generated by the operations. The method includes merging…

Near-eye optical deconvolution displays

Granted: January 31, 2017
Patent Number: 9557565
In embodiments of the invention, an apparatus may include a display comprising a plurality of pixels. The apparatus may further include a computer system coupled with the display and operable to instruct the display to display a deconvolved image corresponding to a target image, wherein when the display displays the deconvolved image while located within a near-eye range of an observer, the target image may be perceived in focus by the observer.

Optimizing triangle topology for path rendering

Granted: January 31, 2017
Patent Number: 9558573
A technique for efficiently rendering path images tessellates path contours into triangle tans comprising a set of representative triangles. Topology of the set of representative triangles is then optimized for greater rasterization efficiency by applying a flip operator to selected triangle pairs within the set of representative triangles. The optimized triangle pairs are then rendered using a path rendering technique, such as stencil and cover.