Patents by Inventor Chu-cheow Lim
Chu-cheow Lim 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: 20220004438Abstract: The present disclosure relates to methods and apparatus for graphical processing. A processing unit may generate or utilize different versions of a GPU program based on hardware resources allocated to the GPU program at runtime. The processing unit may be configured to generate a first version of a GPU program that accesses a resource from a global memory of the processing unit 120 and a second version of the GPU program that access the resource from a fast shared resource of the processing unit 120. The processing unit may utilize the first version of the GPU program if the resource cannot be stored on the fast shared resource allocated to the GPU program at run time, and may utilize the second version of the GPU program if the resource can be stored on the fast shared resource allocated to the GPU program at run time.Type: ApplicationFiled: July 2, 2020Publication date: January 6, 2022Inventors: Chunling HU, Chu-Cheow LIM
-
Patent number: 9996325Abstract: In one example, a device includes one or more processors configured to determine a set of optimization pass configuration data for code of a software program to be compiled, wherein the optimization pass configuration data defines a sequence of optimization passes for the software program during compilation, and execute the sequence of optimization passes on code for the software program based on the set of optimization pass configuration data.Type: GrantFiled: March 6, 2013Date of Patent: June 12, 2018Assignee: QUALCOMM IncorporatedInventors: Chu-Cheow Lim, David Samuel Brackman
-
Patent number: 9710245Abstract: An apparatus includes a memory and a compiling processor configured to: generate, by at least one of a group consisting of a compiler and a runtime executing on the compiling processor, arguments for executing a compiled kernel, determine, by the at least one of the group executing on the compiling processor, whether a first memory reference to a first memory region and a second memory reference to a second memory region of the arguments refer to a same memory region, generate, by the at least one of the group, metadata associated with the first memory reference and the second memory reference based on the determination, wherein the metadata indicates a relationship between the first memory region and the second memory region. The at least one of the compiler and the runtime may recompile the kernel based on the metadata, and instruct a target processor to execute the recompiled kernel.Type: GrantFiled: April 4, 2014Date of Patent: July 18, 2017Assignee: QUALCOMM IncorporatedInventors: Chu-Cheow Lim, David Samuel Brackman
-
Publication number: 20150286472Abstract: An apparatus includes a memory and a compiling processor configured to: generate, by at least one of a group consisting of a compiler and a runtime executing on the compiling processor, arguments for executing a compiled kernel, determine, by the at least one of the group executing on the compiling processor, whether a first memory reference to a first memory region and a second memory reference to a second memory region of the arguments refer to a same memory region, generate, by the at least one of the group, metadata associated with the first memory reference and the second memory reference based on the determination, wherein the metadata indicates a relationship between the first memory region and the second memory region. The at least one of the compiler and the runtime may recompile the kernel based on the metadata, and instruct a target processor to execute the recompiled kernel.Type: ApplicationFiled: April 4, 2014Publication date: October 8, 2015Applicant: QUALCOMM IncorporatedInventors: Chu-Cheow Lim, David Samuel Brackman
-
Patent number: 9027007Abstract: In one example, a device includes one or more processors configured to determine an allocated time for execution of an optimization pass for optimizing code for a software program, execute at least some instructions of the optimization pass on the code, and, in response to determining that an actual time for execution of the optimization pass has exceeded the allocated time for execution, preventing execution of subsequent instructions of the optimization pass.Type: GrantFiled: March 6, 2013Date of Patent: May 5, 2015Assignee: QUALCOMM IncorporatedInventors: David Samuel Brackman, Chu-Cheow Lim
-
Publication number: 20140258996Abstract: In one example, a device includes one or more processors configured to determine an allocated time for execution of an optimization pass for optimizing code for a software program, execute at least some instructions of the optimization pass on the code, and, in response to determining that an actual time for execution of the optimization pass has exceeded the allocated time for execution, preventing execution of subsequent instructions of the optimization pass.Type: ApplicationFiled: March 6, 2013Publication date: September 11, 2014Applicant: QUALCOMM INCORPORATEDInventors: David Samuel Brackman, Chu-Cheow Lim
-
Publication number: 20140258997Abstract: In one example, a device includes one or more processors configured to determine a set of optimization pass configuration data for code of a software program to be compiled, wherein the optimization pass configuration data defines a sequence of optimization passes for the software program during compilation, and execute the sequence of optimization passes on code for the software program based on the set of optimization pass configuration data.Type: ApplicationFiled: March 6, 2013Publication date: September 11, 2014Applicant: QUALCOMM INCORPORATEDInventors: Chu-Cheow Lim, David Samuel Brackman
-
Patent number: 7688232Abstract: A method of compressing instructions in a program may include extracting unique bit patterns from the instructions in the program and constructing a linear programming formulation or an integer programming formulation from the unique bit patterns, the instructions, and/or the size of a memory storage. The linear programming formulation or the integer programming formulation may be solved to produce a solution. The method may include compressing at least some of the instructions based on the solution by storing at least some of the unique bit patterns in a memory and placing corresponding indices to the memory in new compressed instructions.Type: GrantFiled: March 27, 2007Date of Patent: March 30, 2010Assignee: Intel CorporationInventors: Chu-Cheow Lim, Guei-Yuan Lueh, Bixia Zheng, Hong Jiang
-
Patent number: 7627864Abstract: A method to optimize speculative parallel thread execution comprises selecting a plurality of partition candidate pairs for speculative parallel thread execution, transforming each partition candidate pair of the plurality of partition candidate pairs to improve the expected performance gain of each pair, and selecting a set of one or more transformed partition candidate pairs that do not interfere with each other and produce a maximum expected performance gain.Type: GrantFiled: June 27, 2005Date of Patent: December 1, 2009Assignee: Intel CorporationInventors: Zhao Hui Du, Tin-fook Ngai, Chu-cheow Lim
-
Patent number: 7617495Abstract: Disclosed are embodiments of a compiler, methods, and system for resource-aware scheduling of instructions. A list scheduling approach is augmented to take into account resource constraints when determining priority for scheduling of instructions. Other embodiments are also described and claimed.Type: GrantFiled: March 24, 2004Date of Patent: November 10, 2009Assignee: Intel CorporationInventors: Kalyan Muthukumar, Daniel M. Lavery, Gerolf F. Hoflehner, Chu-cheow Lim, Jean-Francois Collard
-
Publication number: 20080244245Abstract: A method of compressing instructions in a program may include extracting unique bit patterns from the instructions in the program and constructing a linear programming formulation or an integer programming formulation from the unique bit patterns, the instructions, and/or the size of a memory storage. The linear programming formulation or the integer programming formulation may be solved to produce a solution. The method may include compressing at least some of the instructions based on the solution by storing at least some of the unique bit patterns in a memory and placing corresponding indices to the memory in new compressed instructions.Type: ApplicationFiled: March 27, 2007Publication date: October 2, 2008Inventors: Chu-Cheow Lim, Guei-Yuan Lueh, Bixia Zheng, Hong Jiang
-
Publication number: 20080162522Abstract: In some embodiments, a data structure may be received in a first processing system. The data structure may represent a plurality of instructions for a second processing system. For at least one instruction of the plurality of instructions, a determination may be made as to whether the instruction can be replaced by a compact instruction for the second processing system. A compact instruction may be generated if the instruction can be replaced by a compact instruction. In some embodiments, an instruction may be received in a processing system. A determination may be made as to whether the instruction is a compact instruction. A decompacted instruction may be generated if the instruction is a compact instruction.Type: ApplicationFiled: December 29, 2006Publication date: July 3, 2008Inventors: Guei-Yuan Lueh, Hong Jiang, Andrew T. Riffel, Bixia Zheng, Chu-Cheow Lim, Milind Girkar, David C. Sehr, Thomas A. Piazza
-
Patent number: 7379858Abstract: A Markov chain model of a software system may be used to compute all-pairs reaching probabilities to provide guidance in performing speculative operations with respect to the software system.Type: GrantFiled: February 17, 2004Date of Patent: May 27, 2008Assignee: Intel CorporationInventors: Chu-Cheow Lim, Zhao Hui Du, Tin-Fook Ngai
-
Publication number: 20070011684Abstract: A method to optimize speculative parallel thread execution comprises selecting a plurality of partition candidate pairs for speculative parallel thread execution, transforming each partition candidate pair of the plurality of partition candidate pairs to improve the expected performance gain of each pair, and selecting a set of one or more transformed partition candidate pairs that do not interfere with each other and produce a maximum expected performance gain.Type: ApplicationFiled: June 27, 2005Publication date: January 11, 2007Inventors: Zhao Du, Tin-fook Ngai, Chu-cheow Lim
-
Publication number: 20050216899Abstract: Disclosed are embodiments of a compiler, methods, and system for resource-aware scheduling of instructions. A list scheduling approach is augmented to take into account resource constraints when determining priority for scheduling of instructions. Other embodiments are also described and claimed.Type: ApplicationFiled: March 24, 2004Publication date: September 29, 2005Inventors: Kalyan Muthukumar, Daniel Lavery, Gerolf Hoflehner, Chu-Cheow Lim, Jean-Francois Collard
-
Publication number: 20050182602Abstract: A Markov chain model of a software system may be used to compute all-pairs reaching probabilities to provide guidance in performing speculative operations with respect to the software system.Type: ApplicationFiled: February 17, 2004Publication date: August 18, 2005Applicant: Intel CorporationInventors: Chu-Cheow Lim, Zhao Du, Tin-Fook Ngai
-
Patent number: 6880154Abstract: An apparatus, method, and program product for optimizing code that contains dynamically-allocated memory. The aliasing behavior of internal pointers of dynamically-allocated memory is used to disambiguate memory accesses and to eliminate false data dependencies. It is determined whether a dynamically-allocated array will behave like a statically-allocated array throughout the entire program execution once it has been allocated. This determination is used to improve the instruction scheduling efficiency, which yields better performance.Type: GrantFiled: June 29, 2001Date of Patent: April 12, 2005Assignee: Intel CorporationInventors: Somnath Ghosh, Rakesh Krishnaiyer, Wei Li, Abhay Kanhere, Dattatraya Kulkarni, Chu-cheow Lim, John L. Ng
-
Publication number: 20030005420Abstract: An apparatus, method, and program product for optimizing code that contains dynamically-allocated memory. The aliasing behavior of internal pointers of dynamically-allocated memory is used to disambiguate memory accesses and to eliminate false data dependencies. It is determined whether a dynamically-allocated array will behave like a statically-allocated array throughout the entire program execution once it has been allocated. This determination is used to improve the instruction scheduling efficiency, which yields better performance.Type: ApplicationFiled: June 29, 2001Publication date: January 2, 2003Inventors: Somnath Ghosh, Rakesh Krishnaiyer, Wei Li, Abhay Kanhere, Dattatraya Kulkarni, Chu-cheow Lim, John L. Ng