Patents by Inventor Mayank Kaushik

Mayank Kaushik 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).

  • Patent number: 11567555
    Abstract: Embodiments include an apparatus comprising an execution unit coupled to a memory, a microcode controller, and a hardware controller. The microcode controller is to identify a global power and performance hint in an instruction stream that includes first and second instruction phases to be executed in parallel, identify a local hint based on synchronization dependence in the first instruction phase, and use the first local hint to balance power consumption between the execution unit and the memory during parallel executions of the first and second instruction phases. The hardware controller is to use the global hint to determine an appropriate voltage level of a compute voltage and a frequency of a compute clock signal for the execution unit during the parallel executions of the first and second instruction phases. The first local hint includes a processing rate for the first instruction phase or an indication of the processing rate.
    Type: Grant
    Filed: August 30, 2019
    Date of Patent: January 31, 2023
    Assignee: Intel Corporation
    Inventors: Jason Seung-Min Kim, Sundar Ramani, Yogesh Bansal, Nitin N. Garegrat, Olivia K. Wu, Mayank Kaushik, Mrinal Iyer, Tom Schebye, Andrew Yang
  • Publication number: 20190384370
    Abstract: Embodiments include an apparatus comprising an execution unit coupled to a memory, a microcode controller, and a hardware controller. The microcode controller is to identify a global power and performance hint in an instruction stream that includes first and second instruction phases to be executed in parallel, identify a local hint based on synchronization dependence in the first instruction phase, and use the first local hint to balance power consumption between the execution unit and the memory during parallel executions of the first and second instruction phases. The hardware controller is to use the global hint to determine an appropriate voltage level of a compute voltage and a frequency of a compute clock signal for the execution unit during the parallel executions of the first and second instruction phases. The first local hint includes a processing rate for the first instruction phase or an indication of the processing rate.
    Type: Application
    Filed: August 30, 2019
    Publication date: December 19, 2019
    Inventors: Jason Seung-Min Kim, Sundar Ramani, Yogesh Bansal, Nitin N. Garegrat, Olivia K. Wu, Mayank Kaushik, Mrinal Iyer, Tom Schebye, Andrew Yang
  • Patent number: 9519568
    Abstract: A system and method for debugging an executing program. The method includes executing a general-purpose computing on graphics processing units (GPGPU) program. The GPGPU program comprises a first portion operable to execute on a central processing unit (CPU) and a second portion operable to execute on a graphics processing unit (GPU). The method further includes attaching a debugging program to the first portion of the GPGPU program and modifying the first portion of the GPGPU program. The attaching of the debugging program to the first portion of the GPGPU program pauses execution of the first portion of the GPGPU program. The method further includes resuming execution of the first portion of the GPGPU program and accessing a first state information corresponding to the first portion of the GPGPU program. Execution of the first portion of the GPGPU program may then be paused.
    Type: Grant
    Filed: December 31, 2012
    Date of Patent: December 13, 2016
    Assignee: NVIDIA CORPORATION
    Inventors: Mayank Kaushik, Alban Douillet, Geoffrey Gerfin, Vyas Venkataraman, Mark Hairgrove, Riley Andrews
  • Publication number: 20150206277
    Abstract: 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: Application
    Filed: January 20, 2015
    Publication date: July 23, 2015
    Inventors: Amit RAO, Ashish SRIVASTAVA, Yogesh KINI, Alban DOUILLET, Geoffrey GERFIN, Mayank KAUSHIK, Nikita SHULGA, Vyas VENKATARAMAN, David FONTAINE, Mark HAIRGROVE, Piotr JAROSZYNSKI, Stephen JONES, Vivek KINI
  • Publication number: 20140189647
    Abstract: A system and method for debugging an executing program. The method includes executing a general-purpose computing on graphics processing units (GPGPU) program. The GPGPU program comprises a first portion operable to execute on a central processing unit (CPU) and a second portion operable to execute on a graphics processing unit (GPU). The method further includes attaching a debugging program to the first portion of the GPGPU program and modifying the first portion of the GPGPU program. The attaching of the debugging program to the first portion of the GPGPU program pauses execution of the first portion of the GPGPU program. The method further includes resuming execution of the first portion of the GPGPU program and accessing a first state information corresponding to the first portion of the GPGPU program. Execution of the first portion of the GPGPU program may then be paused.
    Type: Application
    Filed: December 31, 2012
    Publication date: July 3, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Mayank Kaushik, Alban Douillet, Geoffrey Gerfin, Vyas Venkataraman, Mark Hairgrove, Riley Andrews
  • Publication number: 20130304996
    Abstract: A system and method for detecting shared memory hazards are disclosed. The method includes, for a unit of hardware operating on a block of threads, mapping a plurality of shared memory locations assigned to the unit to a tracking table. The tracking table comprises an initialization bit as well as access type information, collectively called the state tracking bits for each shared memory location. The method also includes, for an instruction of a program within a barrier region, identifying a second access to a location in shared memory within a block of threads executed by the hardware unit. The second access is identified based on a status of the state tracking bits. The method also includes determining a hazard based on a first type of access and a second type of access to the shared memory location. Information related to the first access is provided in the table.
    Type: Application
    Filed: December 27, 2012
    Publication date: November 14, 2013
    Applicant: NVIDIA Corporation
    Inventors: Vyas Venkataraman, Jaydeep Marathe, Manjunath Kudlur, Vinod Grover, Geoffrey Gerfin, Alban Douillet, Mayank Kaushik