Patents Assigned to NVidia
-
Patent number: 10350489Abstract: Aspects of the present invention are directed to techniques for improving the manufacturing control mechanisms—specifically game controllers—for computerized electronic devices. According to one aspect of the present invention, a button assembly is provided that eliminates the need for dampers or gaskets for shock absorption by implementing the hammer and pad using novel and advantageous geometries. According to one embodiment, the bottom or striking surface of the hammer in a button assembly is implemented at an angle, which, when pressed, strikes a similarly angled surface of the landing pad. The slope of the corresponding angles cause the hammer to slide along the angled surface, and for the kinetic force of the impact to be redirected as shearing force away from the button assembly (and the corresponding user appendage).Type: GrantFiled: March 2, 2016Date of Patent: July 16, 2019Assignee: Nvidia CorporationInventor: Ron Chao
-
Patent number: 10346507Abstract: Embodiments of the present invention are directed to methods and systems for performing block sparse matrix-vector multiplications with improved efficiency through the use of a specific re-ordering the matrix data such that matrix symmetry can be exploited while simultaneously avoiding atomic memory operations or the need for inefficient memory operations in general. One disclosed method includes reordering the matrix data such that, for any column of non-transpose data, and for any row of transpose data simultaneously processed within a single thread-block on a GPU, all matrix elements update independent elements of the output vector. Using the method, the amount of data required to represent the sparse matrix can be reduced by as much as 50%, thereby doubling the effective performance on the GPU, and doubling the size of the matrix that can be accelerated by the GPU.Type: GrantFiled: October 26, 2017Date of Patent: July 9, 2019Assignee: Nvidia CorporationInventor: Steve Rennich
-
Patent number: 10346212Abstract: A streaming multiprocessor (SM) in a parallel processing subsystem schedules priority among a plurality of threads. The SM retrieves a priority descriptor associated with a thread group, and determines whether the thread group and a second thread group are both operating in the same phase. If so, then the method determines whether the priority descriptor of the thread group indicates a higher priority than the priority descriptor of the second thread group. If so, the SM skews the thread group relative to the second thread group such that the thread groups operate in different phases, otherwise the SM increases the priority of the thread group. f the thread groups are not operating in the same phase, then the SM increases the priority of the thread group. One advantage of the disclosed techniques is that thread groups execute with increased efficiency, resulting in improved processor performance.Type: GrantFiled: February 3, 2015Date of Patent: July 9, 2019Assignee: NVIDIA CORPORATIONInventors: Jack Hilaire Choquette, Olivier Giroux, Robert J. Stoll, Gary M. Tarolli, John Erik Lindholm
-
Patent number: 10338820Abstract: A system architecture conserves memory bandwidth by including compression utility to process data transfers from the cache into external memory. The cache decompresses transfers from external memory and transfers full format data to naive clients that lack decompression capability and directly transfers compressed data to savvy clients that include decompression capability. An improved compression algorithm includes software that computes the difference between the current data word and each of a number of prior data words. Software selects the prior data word with the smallest difference as the nearest match and encodes the bit width of the difference to this data word. Software then encodes the difference between the current stride and the closest previous stride. Software combines the stride, bit width, and difference to yield final encoded data word. Software may encode the stride of one data word as a value relative to the stride of a previous data word.Type: GrantFiled: June 7, 2016Date of Patent: July 2, 2019Assignee: NVIDIA CORPORATIONInventors: Rouslan Dimitrov, Jeff Pool, Praveen Krishnamurthy, Chris Amsinck, Karan Mehra, Scott Cutler
-
Patent number: 10339850Abstract: A method, computer readable medium, and system generate a low-latency image for display. The method includes the steps of receiving a portion of an image for display, selecting a pulse-width value for displaying the portion of the image, and driving a display device to present the portion of the image using a pulse-width value and pulse density modulation value. Logic circuits for implementing the method may be included in a graphics processing unit or within a display device. The portion of the image for display may be rendered based on real-time position information associated with a head-mounted display.Type: GrantFiled: November 12, 2015Date of Patent: July 2, 2019Assignee: NVIDIA CorporationInventor: Thomas Hastings Greer, III
-
Patent number: 10338919Abstract: A method, computer readable medium, and processor are disclosed for performing matrix multiply and accumulate (MMA) operations. The processor includes a datapath configured to execute the MMA operation to generate a plurality of elements of a result matrix at an output of the datapath. Each element of the result matrix is generated by calculating at least one dot product of corresponding pairs of vectors associated with matrix operands specified in an instruction for the MMA operation. A dot product operation includes the steps of: generating a plurality of partial products by multiplying each element of a first vector with a corresponding element of a second vector; aligning the plurality of partial products based on the exponents associated with each element of the first vector and each element of the second vector; and accumulating the plurality of aligned partial products into a result queue utilizing at least one adder.Type: GrantFiled: November 29, 2017Date of Patent: July 2, 2019Assignee: NVIDIA CorporationInventors: Brent Ralph Boswell, Ming Y. Siu, Jack H. Choquette, Jonah M. Alben, Stuart Oberman
-
Patent number: 10331632Abstract: A system, method, and computer program product are provided for modifying a hierarchical tree data structure. An initial hierarchical tree data structure is received and treelets of node neighborhoods in the initial hierarchical tree data structure are formed. Each treelet includes n leaf nodes and n?1 internal nodes. The treelets are restructured, by a processor, to produce an optimized hierarchical tree data structure.Type: GrantFiled: August 19, 2013Date of Patent: June 25, 2019Assignee: NVIDIA CorporationInventors: Tero Tapani Karras, Timo Oskari Aila
-
Patent number: 10332310Abstract: One embodiment of the present invention includes a technique for distributing work slices associated with a graphics processing unit for processing. A primitive distribution system receives a draw command related to a graphics object associated with a plurality of indices. The primitive distribution system creates a plurality of work slices, where each work slice is associated with a different subset of the indices included in the plurality of indices. The primitive distribution system scans a first subset of indices to identify a first set of characteristics that is needed to process a second subset of indices. The primitive distribution system processes the second subset of indices based at least in part on the one or more characteristics.Type: GrantFiled: December 22, 2015Date of Patent: June 25, 2019Assignee: NVIDIA CORPORATIONInventors: Niket Agrawal, Amit Jain, Dale Kirkland, Karim Abdalla, Ziyad Hakura, Haren Kethareswaran
-
Patent number: 10333565Abstract: A transmitter for a high speed serial communications link, a serial communications link, and a receiver for a high speed serial communications link are disclosed herein. In one embodiment, the transmitter includes: (1) a communications interface connected to a transmission medium having multiple lanes, and (2) a safe mode circuit coupled to the communications interface and configured to send data over the transmission medium in a safe mode, wherein in the safe mode at least one of the lanes is dedicated to transmitting a link detect signal for link detection.Type: GrantFiled: May 30, 2018Date of Patent: June 25, 2019Assignee: Nvidia CorporationInventors: Dennis Ma, Marvin Denman, Eric Tyson, Stephen D. Glaser
-
Patent number: 10331603Abstract: Techniques are disclosed for tracking memory page accesses in a unified virtual memory system. An access tracking unit detects a memory page access generated by a first processor for accessing a memory page in a memory system of a second processor. The access tracking unit determines whether a cache memory includes an entry for the memory page. If so, then the access tracking unit increments an associated access counter. Otherwise, the access tracking unit attempts to find an unused entry in the cache memory that is available for allocation. If so, then the access tracking unit associates the second entry with the memory page, and sets an access counter associated with the second entry to an initial value. Otherwise, the access tracking unit selects a valid entry in the cache memory; clears an associated valid bit; associates the entry with the memory page; and initializes an associated access counter.Type: GrantFiled: April 9, 2018Date of Patent: June 25, 2019Assignee: NVIDIA CORPORATIONInventors: Jerome F. Duluk, Jr., Cameron Buschardt, James Leroy Deming, Brian Fahs, Mark Hairgrove, John Mashey
-
Patent number: 10324693Abstract: A system and method for optimizing multiple invocations of a graphics processing unit (GPU) program in Java. In one embodiment, the system includes: (1) a frontend component in a computer system and configured to compile Java bytecode associated with the a class object that implements a functional interface into Intermediate Representation (IR) code and store the IR code with the associated jogArray and (2) a collector/composer component in the computer system, associated with the frontend and configured to traverse a tree containing the multiple invocations from the result to collect the IR code and compose the IR code collected in the traversing into aggregate IR code when a result of the GPU program is explicitly requested to be transferred to a host.Type: GrantFiled: November 24, 2015Date of Patent: June 18, 2019Assignee: Nvidia CorporationInventors: Michael Lai, Vinod Grover, Sean Lee, Jaydeep Marathe
-
Patent number: 10326625Abstract: A single-ended signal transmission system recovers a noise signal associated with a data input signal and uses the recovered noise signal to compensate for noise on the data input signal. The noise signal may be recovered from a noise reference signal line, or clock signal line, or a data signal line associated with a DC-balanced data input signal. The recovered noise signal may be represented as an analog signal or a digital signal. The recovered noise signal may be processed to compensate for DC offset and nonlinearities associated with one or more different input buffers. In one embodiment, the recovered noise signal includes frequency content substantially below a fundamental frequency for data transmission through the data input signal.Type: GrantFiled: January 26, 2018Date of Patent: June 18, 2019Assignee: NVIDIA CorporationInventors: Nikola Nedovic, Brian Matthew Zimmer
-
Patent number: 10324725Abstract: The disclosure provides a method and a system for identifying and replacing code translations that generate spurious fault events. In one embodiment the method includes executing a first set and a second set of native instructions, performing a third translation of a target instruction to form a third set of native instructions in response to a determination that a fault occurrence is attributed to a first translation, wherein the third set of native instructions is not the same as the second set of native instructions, and the third set of native instructions is not the same as the first set of native instructions, and executing the third set of native instructions.Type: GrantFiled: March 8, 2018Date of Patent: June 18, 2019Assignee: Nvidia CorporationInventors: Nathan Tuck, David Dunn, Ross Segelken, Madhu Swarna
-
Patent number: 10319005Abstract: To establish a target (e.g., billing) address, a device receives a first physical address determined by geolocating the device (e.g., based on an Internet Protocol (IP) address associated with the device). A street-level map that includes an indicator that is rendered at a first location in the map corresponding to the first physical address is displayed. The indicator can be moved from the first location to one or more other locations in the map. The device receives a selection of a physical address corresponding to the location in the map of the indicator when the selection is made. The device records the selected physical address as the target address.Type: GrantFiled: January 25, 2016Date of Patent: June 11, 2019Assignee: NVIDIA CorporationInventor: Andrew Fear
-
Patent number: 10317459Abstract: A microelectronic package has an IC chip that includes logical circuitry for routing certain I/O signals to debug ports disposed on an outer surface of the microelectronic package. The I/O signals include data and command signals that are transmitted between semiconductor chips in the microelectronic package via conductive traces that are not physically accessible via with conventional debugging techniques. The logical circuitry may be configured to programmably select I/O signals based on a software input, and may be connected to the various I/O signals transmitted between the IC chip and another IC chip in the microelectronic package when a debugging of the I/O signals is enabled. Circuitry employed in conventional operation of the IC chip may also be employed to connect the logical circuitry to the various I/O signals.Type: GrantFiled: April 28, 2017Date of Patent: June 11, 2019Assignee: NVIDIA CORPORATIONInventors: Ish Chadha, Robert Bloemer
-
Patent number: 10319060Abstract: The present invention facilitates efficient and effective utilization of unified virtual addresses across multiple components. In one embodiment, the presented new approach or solution uses Operating System (OS) allocation on the central processing unit (CPU) combined with graphics processing unit (GPU) driver mappings to provide a unified virtual address (VA) across both GPU and CPU. The new approach helps ensure that a GPU VA pointer does not collide with a CPU pointer provided by OS CPU allocation (e.g., like one returned by “malloc” C runtime API, etc.).Type: GrantFiled: January 20, 2015Date of Patent: June 11, 2019Assignee: Nvidia CorporationInventors: Amit Rao, Ashish Srivastava, Yogesh Kini
-
Patent number: 10317678Abstract: A method and system for operating a catadioptric glasses system is presented. The method includes the steps of generating an image via a light engine included in a glasses system and projecting the image onto a display that includes a diffusion layer positioned between a curved mirror and a user's retina. Light emitted from a surface of the diffusion layer is reflected off the curved mirror to the user's retina through the diffusion layer, and the diffusion layer is located between a focal point of the curved mirror and a surface of the curved mirror. The diffusion layer may be mechanically moved relative to the user's eye to enable light to pass through transparent regions in the diffusion layer in a time multiplexed fashion. The glasses system may also include a mirror stack to enable different virtual images to be formed at different depths.Type: GrantFiled: February 7, 2017Date of Patent: June 11, 2019Assignee: NVIDIA CorporationInventors: Kaan Aksit, David Patrick Luebke
-
Patent number: 10317463Abstract: A method for testing. The method includes sending a single instruction over a JTAG interface to a JTAG controller to select a first internal test data register of a plurality of data registers. The method includes programming the first internal test data register using the JTAG interface to configure mode control access and state control access for a test controller implementing a sequential scan architecture to test a chip at a system level.Type: GrantFiled: October 27, 2016Date of Patent: June 11, 2019Assignee: NVIDIA CORPORATIONInventors: Milind Sonawane, Amit Sanghani, Jonathon E. Colburn, Rajendra Kumar reddy.S, Bala Tarun Nelapatla, Sailendra Chadalavda, Shantanu Sarangi
-
Patent number: 10319132Abstract: A method and system of representing and simulating an object by representing using with velocity-dependent particles.Type: GrantFiled: March 23, 2015Date of Patent: June 11, 2019Assignee: Nvidia CorporationInventors: Tae-Yong Kim, Nuttapong Chentanez, Matthias Muller-Fischer
-
Patent number: 10311589Abstract: One embodiment of the present invention sets forth a technique for estimating a head pose of a user. The technique includes acquiring depth data associated with a head of the user and initializing each particle included in a set of particles with a different candidate head pose. The technique further includes performing one or more optimization passes that include performing at least one iterative closest point (ICP) iteration for each particle and performing at least one particle swarm optimization (PSO) iteration. Each ICP iteration includes rendering the three-dimensional reference model based on the candidate head pose associated with the particle and comparing the three-dimensional reference model to the depth data. Each PSO iteration comprises updating a global best head pose associated with the set of particles and modifying at least one candidate head pose. The technique further includes modifying a shape of the three-dimensional reference model based on depth data.Type: GrantFiled: November 27, 2017Date of Patent: June 4, 2019Assignee: NVIDIA CORPORATIONInventors: Gregory P. Meyer, Shalini Gupta, Iuri Frosio, Nagilla Dikpal Reddy, Jan Kautz