Patents by Inventor Murali Sundaresan

Murali Sundaresan has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20160314077
    Abstract: A method and system for sharing memory between a central processing unit (CPU) and a graphics processing unit (GPU) of a computing device are disclosed herein. The method includes allocating a surface within a physical memory and mapping the surface to a plurality of virtual memory addresses within a CPU page table. The method also includes mapping the surface to a plurality of graphics virtual memory addresses within an 110 device page table.
    Type: Application
    Filed: June 30, 2016
    Publication date: October 27, 2016
    Applicant: Intel Corporation
    Inventors: Jayanth N. Rao, Murali Sundaresan
  • Patent number: 9471492
    Abstract: In accordance with some embodiments, a scatter/gather memory approach may be enabled that is exposed or backed by system memory and uses conventional tags and addresses. Thus, such a technique may be more amenable to conventional software developers and their conventional techniques.
    Type: Grant
    Filed: May 31, 2013
    Date of Patent: October 18, 2016
    Assignee: Intel Corporation
    Inventors: Altug Koker, Thomas A. Piazza, Murali Sundaresan
  • Publication number: 20160203580
    Abstract: A method and system for sharing memory between a central processing unit (CPU) and a graphics processing unit (GPU) of a computing device are disclosed herein. The method includes allocating a surface within a physical memory and mapping the surface to a plurality of virtual memory addresses within a CPU page table. The method also includes mapping the surface to a plurality of graphics virtual memory addresses within an I/O device page table.
    Type: Application
    Filed: March 24, 2016
    Publication date: July 14, 2016
    Applicant: Intel Corporation
    Inventors: Jayanth N. Rao, Murali Sundaresan
  • Patent number: 9373182
    Abstract: A method and system for sharing memory between a central processing unit (CPU) and a graphics processing unit (GPU) of a computing device are disclosed herein. The method includes allocating a surface within a physical memory and mapping the surface to a plurality of virtual memory addresses within a CPU page table. The method also includes mapping the surface to a plurality of graphics virtual memory addresses within an I/O device page table.
    Type: Grant
    Filed: August 17, 2012
    Date of Patent: June 21, 2016
    Assignee: Intel Corporation
    Inventors: Jayanth N. Rao, Murali Sundaresan
  • Patent number: 9342319
    Abstract: Handling a virtual method call includes extracting, from a pointer to an object, an identifier associated with the class of the object, the pointer to the object being associated with the virtual method call, and the identifier being embedded within the pointer; using the identifier to obtain a virtual method table, including locating a first entry in a class identifier table mapping a plurality of class identifiers to a corresponding plurality of class data, the first entry being associated with the identifier and comprising the virtual method table or a pointer used to obtain the virtual method table; locating a second entry in the virtual method table, the second entry being associated with the virtual method call; and jumping to an address associated with the second entry to execute code at the address.
    Type: Grant
    Filed: August 11, 2014
    Date of Patent: May 17, 2016
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Cliff N. Click, Jr., Murali Sundaresan, Michael A. Wolf
  • Publication number: 20150294435
    Abstract: Conversion of an array of structures (AOS) to a structure of arrays (SOA) improves the efficiency of transfer from the AOS to the SOA. A similar technique can be used to convert efficiently from an SOA to an AOS. The controller performing the conversion computes a partition size as the highest common factor between the structure size of structures in AOS and the number of banks in a first memory device, and transfers data based on the partition size, rather than on the structure size. The controller can read a partition size number of elements from multiple different structures to ensure that full data transfer bandwidth is used for each transfer.
    Type: Application
    Filed: April 9, 2014
    Publication date: October 15, 2015
    Applicant: Intel Corporation
    Inventors: Supratim Pal, Murali Sundaresan
  • Publication number: 20140359220
    Abstract: In accordance with some embodiments, a scatter/gather memory approach may be enabled that is exposed or backed by system memory and uses conventional tags and addresses. Thus, such a technique may be more amenable to conventional software developers and their conventional techniques.
    Type: Application
    Filed: May 31, 2013
    Publication date: December 4, 2014
    Inventors: Altug Koker, Thomas A. Piazza, Murali Sundaresan
  • Patent number: 8843944
    Abstract: Determining a class of an object is disclosed. A pointer of the object is obtained. One or more bits that are not implemented as address bits are extracted from the pointer. The one or more bits are interpreted as an identifier of the class of the object. The class of the object is determined to correspond to the identifier.
    Type: Grant
    Filed: June 9, 2011
    Date of Patent: September 23, 2014
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Murali Sundaresan, Michael A. Wolf
  • Patent number: 8839274
    Abstract: Handling a virtual method call includes extracting, from a pointer to an object, an identifier associated with the class of the object, the pointer to the object being associated with the virtual method call, and the identifier being embedded within the pointer; using the identifier to obtain a virtual method table, including locating a first entry in a class identifier table mapping a plurality of class identifiers to a corresponding plurality of class data, the first entry being associated with the identifier and comprising the virtual method table or a pointer used to obtain the virtual method table; locating a second entry in the virtual method table, the second entry being associated with the virtual method call; and jumping to an address associated with the second entry to execute code at the address.
    Type: Grant
    Filed: September 7, 2011
    Date of Patent: September 16, 2014
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Cliff N. Click, Jr., Murali Sundaresan, Michael A. Wolf
  • Publication number: 20140049548
    Abstract: A method and system for sharing memory between a central processing unit (CPU) and a graphics processing unit (GPU) of a computing device are disclosed herein. The method includes allocating a surface within a physical memory and mapping the surface to a plurality of virtual memory addresses within a CPU page table. The method also includes mapping the surface to a plurality of graphics virtual memory addresses within an I/O device page table.
    Type: Application
    Filed: August 17, 2012
    Publication date: February 20, 2014
    Applicant: INTEL CORPORATION
    Inventors: Jayanth N. Rao, Murali Sundaresan
  • Publication number: 20110321064
    Abstract: Handling a virtual method call includes extracting, from a pointer to an object, an identifier associated with the class of the object, the pointer to the object being associated with the virtual method call, and the identifier being embedded within the pointer; using the identifier to obtain a virtual method table, including locating a first entry in a class identifier table mapping a plurality of class identifiers to a corresponding plurality of class data, the first entry being associated with the identifier and comprising the virtual method table or a pointer used to obtain the virtual method table; locating a second entry in the virtual method table, the second entry being associated with the virtual method call; and jumping to an address associated with the second entry to execute code at the address.
    Type: Application
    Filed: September 7, 2011
    Publication date: December 29, 2011
    Applicant: AZUL SYSTEMS, INC.
    Inventors: Gil Tene, Cliff N. Click, JR., Murali Sundaresan, Michael A. Wolf
  • Publication number: 20110302594
    Abstract: Determining a class of an object is disclosed. A pointer of the object is obtained. One or more bits that are not implemented as address bits are extracted from the pointer. The one or more bits are interpreted as an identifier of the class of the object. The class of the object is determined to correspond to the identifier.
    Type: Application
    Filed: June 9, 2011
    Publication date: December 8, 2011
    Applicant: AZUL SYSTEMS, INC.
    Inventors: Gil Tene, Murali Sundaresan, Michael A. Wolf
  • Patent number: 8037482
    Abstract: Reaching a determination associated with a class of an object is disclosed. An identifier associated with the class of the object is extracted from a pointer to the object. The extracted identifier is compared to a comparison value. At least in part using a result of the comparison a determination is reached.
    Type: Grant
    Filed: December 6, 2005
    Date of Patent: October 11, 2011
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Cliff N. Click, Jr., Murali Sundaresan, Michael A. Wolf
  • Patent number: 7987473
    Abstract: Determining a class of an object is disclosed. A pointer of the object is obtained. One or more bits that are not implemented as address bits are extracted from the pointer. The one or more bits are interpreted as an identifier of the class of the object. The class of the object is determined to correspond to the identifier.
    Type: Grant
    Filed: September 14, 2005
    Date of Patent: July 26, 2011
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Murali Sundaresan, Michael A. Wolf
  • Patent number: 7337339
    Abstract: Power management for a multi-processor chip includes a centralized global power manager that monitors global power for the whole chip, and local power managers. Local power managers manage power for local blocks such as processor cores, caches, and memory controllers. When a local block executes an instruction or accesses memory, an event is generated and looked up in a local power estimate table. A local power estimate for that event is sent to the global power manager, which sums all local power estimates received from all local blocks. An exponential moving average (EMA) is generated and compared to a global power threshold. When global power is over the threshold, local targets are sent to power managers that generate and monitor local power averages that must remain under the local target. The local block is throttled by the local power manager to reduce power when the local target is exceeded.
    Type: Grant
    Filed: September 15, 2005
    Date of Patent: February 26, 2008
    Assignee: Azul Systems, Inc.
    Inventors: Jack H. Choquette, Kevin B. Normoyle, Elias Atmeh, Scott D. Sellers, Murali Sundaresan, Manuel Gautho
  • Patent number: 6959110
    Abstract: A multi-mode texture compression algorithm is provided for effective compression and decompression texture data during graphics processing. Initially, a request is sent to memory for compressed texture data. Such compressed texture data is then received from the memory in response to the request. At least one of a plurality of compression algorithms associated with the compressed texture data is subsequently identified. Thereafter, the compressed texture data is decompressed in accordance with the identified compression algorithm.
    Type: Grant
    Filed: August 13, 2001
    Date of Patent: October 25, 2005
    Assignee: NVIDIA Corporation
    Inventors: John M. Danskin, Gary M. Tarolli, Murali Sundaresan
  • Patent number: 5822452
    Abstract: A system and method for compressing and decompressing a texture image that: (1) compresses each texel to 8 bits, and when decompressed, each texel is of a quality comparable to a 256 color palettized image; (2) increases the efficiency of the decompression system and method by eliminating complex operations, e.g., multiplication; and (3) increases the efficiency of the system and method when switching between textures that use different palettes, when compared to conventional system and methods. The invention compresses a texture image, stores the compressed texture image, and quickly and efficiently decompresses the texture image when determining a value of a pixel. The texture image compression technique utilizes a palletized color space that more closely matches the colors in the texture image while allocating an unequal number of bits to the color channels.
    Type: Grant
    Filed: April 30, 1996
    Date of Patent: October 13, 1998
    Assignee: 3Dfx Interactive, Inc.
    Inventors: Gary Tarolli, Scott Sellers, James E. Margeson, III, Murali Sundaresan
  • Patent number: 5808621
    Abstract: A system and method for automatically selecting a color space for use in compressing and decompressing a texture image that automatically determines a compression color space for each texture image. The invention selects a compression color space manually, or preferable, using a neural network algorithm. The invention initializes the neural network that includes an input layer of neurons and a hidden layer of neurons. Each input layer neuron has an associated weight that is equal to the combination of the weights of a Y neuron, an A neuron, and a B neuron that is associated with each input layer neuron. The texel image is reduced into a representative sample of colors and input vectors from the texel image are randomly selected. For each input vector, the invention determines the two input layer neurons that most closely match the input vector and modifies the weights of the two input layer neurons to more closely match the value of the input vector.
    Type: Grant
    Filed: April 30, 1996
    Date of Patent: September 15, 1998
    Assignee: 3Dfx Interactive, Incorporated
    Inventor: Murali Sundaresan