Patents by Inventor Shin-Ming Liu

Shin-Ming Liu 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: 20240113607
    Abstract: A resonant vibration actuator is provided, comprising: a casing, a mover, a plurality of electromagnet sets, two elastic suspensions, and a connecting circuit; the casing is provided with connection terminals for connection on the outside; the mover comprising: a mover frame, a plurality of permanent magnet units, two magnetic backs, the permanent magnet units and the magnetic backs being arranged in the mover frame; the electromagnet sets being arranged between two permanent magnet units of the mover; the elastic suspensions being connected to the casing and the mover respectively through two connection portions at both ends; the connecting circuit being used to connect the electromagnet set and the connection terminals outside the casing; wherein, by energizing the electromagnet set, the electromagnet acts on the permanent magnet unit to make the mover move relatively in the casing to generate vibration.
    Type: Application
    Filed: November 16, 2022
    Publication date: April 4, 2024
    Inventors: Chin-Sung Liu, Hsiao-Ming Chien, Chi-Ling Chang, Shin-Ter Tsai
  • Patent number: 9146719
    Abstract: One embodiment relates to a computer-implemented method of compiling a software program into an executable binary file, including determining a data layout in the binary file and a data layout in the executable's dynamically allocated memory. The method includes taking into account data types of data as a factor in determining a data layout for the binary file and for the executable's dynamically allocated memory, wherein the data types include a floating-point data type and a non-floating-point data type. Other embodiments, aspects and features are also disclosed herein.
    Type: Grant
    Filed: March 20, 2007
    Date of Patent: September 29, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Luis A. Lozano, Robert Hundt, Shin-Ming Liu, Sandya S Mannarswamy, Sungdo Moon
  • Patent number: 7996825
    Abstract: One embodiment disclosed relates to a method of compiling a computer program. A plurality of modules of source code is received, and intermediate representations corresponding to the modules are generated. A set of data from the intermediate representations is extracted to create an inliner summary for each module. Using the inliner summaries and a globally-sorted working-list based order, an inline analysis phase determines which call sites in the modules are to be inlined by substituting code from a called module. The propagation of summaries may be done elaborately, potentially throughout the call-graph. The goodness of call sites may be computed with a view to comparing them and ordering them in a descending order of goodness.
    Type: Grant
    Filed: October 31, 2003
    Date of Patent: August 9, 2011
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dhruva Ranjan Chakrabarti, Shin-Ming Liu
  • Patent number: 7814467
    Abstract: A method of generating a software program executable binary file. A first file including source code therein is accessed. A second file including object code therein and further including object file summary information is accessed. The executable binary file is generated from at least the first and second files. The object file summary information is used in optimizing the executable binary file generated.
    Type: Grant
    Filed: January 15, 2004
    Date of Patent: October 12, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Xinliang David Li, Mur Litharan Vijayasundaram, Dmitry Mikulin, Shin-Ming Liu
  • Publication number: 20080235672
    Abstract: One embodiment relates to a computer-implemented method of compiling a software program into an executable binary file, including determining a data layout in the binary file and a data layout in the executable's dynamically allocated memory. The method includes taking into account data types of data as a factor in determining a data layout for the binary file and for the executable's dynamically allocated memory, wherein the data types include a floating-point data type and a non-floating-point data type. Other embodiments, aspects and features are also disclosed herein.
    Type: Application
    Filed: March 20, 2007
    Publication date: September 25, 2008
    Inventors: Luis A. Lozano, Robert Hundt, Shin-Ming Liu, Sandya S. Mannarswamy, Sungdo Moon
  • Patent number: 7356813
    Abstract: Disclosed are systems and methods for optimizing a program.
    Type: Grant
    Filed: September 26, 2002
    Date of Patent: April 8, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Shin-Ming Liu, Dmitry Mikulin, Muralitharan Vijayasundaram, David Xinliang Li
  • Patent number: 7302679
    Abstract: One embodiment disclosed relates to a method of compiling a computer program from a plurality of files of source code. An inline analysis determines which call sites in the plurality of files to make inline. An inline transformation performs the inlining within currently opened files. The transformer dynamically determines the order of inlines independent of the analyzer by taking into account the disk input-output pressure during compilation. The resulting inline order minimizes the input and output of files from and to disk respectively by considering the inline affinity between files and maintains the best run-time performance by preserving the dependences between call sites. During the inline transformation, a determination of which files to open and close is made in dependence on an affinity weighting between the files.
    Type: Grant
    Filed: October 31, 2003
    Date of Patent: November 27, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dhruva Ranjan Chakrabarti, Shin-Ming Liu
  • Patent number: 7275242
    Abstract: The present disclosure relates to whole program analysis and, more particularly, short data optimization obtained through whole program analysis. In one embodiment, short data optimization is achieved by analyzing the program to estimate the size of existing short data and the size of any linkage tables, providing the size estimates to a compiler that is to compile the program, and compiling the program with the compiler in view of the size estimates such that a relatively large amount of data is allocated to a short data area.
    Type: Grant
    Filed: October 4, 2002
    Date of Patent: September 25, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Shin-Ming Liu, Dmitry Mikulin, Muralitharan Vijayasundaram, David Xinliang Li
  • Patent number: 7165162
    Abstract: Techniques for partitioning modules into smaller groups are disclosed. In various embodiments, cross-module optimization may be performed on these smaller groups. Further, related modules are grouped together based on a predefined algorithm. Relatedness, or closeness, or affinity, of modules are considered based on various factors including, for example, the number of calls between routines in different modules, possibility of in-lining a first routine in a first module into a second routine in a second module, characteristics of parameters being passed between routines in different modules, etc.
    Type: Grant
    Filed: January 13, 2004
    Date of Patent: January 16, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: XinLiang David Li, Shin-Ming Liu, Dhruva R. Chakrabarti, Robert Hundt
  • Publication number: 20050160058
    Abstract: One embodiment disclosed relates to a method of generating a software program executable binary file. A first file including source code therein is accessed. A second file including object code therein and further including object file summary information is accessed. The executable binary file is generated from at least the first and second files. The object file summary information is used in optimizing the executable binary file generated.
    Type: Application
    Filed: January 15, 2004
    Publication date: July 21, 2005
    Inventors: Xinliang Li, Mur Vijayasundaram, Dmitry Mikulin, Shin-Ming Liu
  • Publication number: 20050155023
    Abstract: Techniques for partitioning modules into smaller groups are disclosed. In various embodiments, cross-module optimization may be performed on these smaller groups. Further, related modules are grouped together based on a predefined algorithm. Relatedness, or closeness, or affinity, of modules are considered based on various factors including, for example, the number of calls between routines in different modules, possibility of in-lining a first routine in a first module into a second routine in a second module, characteristics of parameters being passed between routines in different modules, etc.
    Type: Application
    Filed: January 13, 2004
    Publication date: July 14, 2005
    Inventors: XinLiang Li, Shin-Ming Liu, Dhruva Chakrabarti, Robert Hundt
  • Publication number: 20050097527
    Abstract: One embodiment disclosed relates to a method of compiling a computer program from a plurality of files of source code. An inline analysis determines which call sites in the plurality of files to make inline. An inline transformation performs the inlining within currently opened files. The transformer dynamically determines the order of inlines independent of the analyzer by taking into account the disk input-output pressure during compilation. The resulting inline order minimizes the input and output of files from and to disk respectively by considering the inline affinity between files and maintains the best run-time performance by preserving the dependences between call sites. During the inline transformation, a determination of which files to open and close is made in dependence on an affinity weighting between the files.
    Type: Application
    Filed: October 31, 2003
    Publication date: May 5, 2005
    Inventors: Dhruva Chakrabarti, Shin-Ming Liu
  • Publication number: 20050097528
    Abstract: One embodiment disclosed relates to a method of compiling a computer program. A plurality of modules of source code is received, and intermediate representations corresponding to the modules are generated. A set of data from the intermediate representations is extracted to create an inliner summary for each module. Using the inliner summaries and a globally-sorted working-list based order, an inline analysis phase determines which call sites in the modules are to be inlined by substituting code from a called module. The propagation of summaries may be done elaborately, potentially throughout the call-graph. The goodness of call sites may be computed with a view to comparing them and ordering them in a descending order of goodness.
    Type: Application
    Filed: October 31, 2003
    Publication date: May 5, 2005
    Inventors: Dhruva Chakrabarti, Shin-Ming Liu
  • Publication number: 20050097533
    Abstract: One embodiment disclosed presents a framework for performing inline specialization with the aim of improving run-time performance at a low compile-time cost. Given a call-graph, if multiple call-chains in it have at least one common call site, the ability, to inline a common call site in one or more (but not all) of the call-chains, is termed inline specialization. In accordance with an embodiment disclosed, our framework implements this functionality by adding new call sites to the program as and when necessary. This leads to the introduction of a dependence relationship between call sites. An inline analyzer in accordance with the embodiment requires materialization of summary information for these new edges and considers them for inlines. The inline transformation phase uses the dependence relationship to patch up the intermediate representation on the dependent edges before inlining them, if necessary.
    Type: Application
    Filed: October 31, 2003
    Publication date: May 5, 2005
    Inventors: Dhruva Chakrabarti, Shin-Ming Liu
  • Publication number: 20040068719
    Abstract: The present disclosure relates to whole program analysis and, more particularly, short data optimization obtained through whole program analysis. In one embodiment, short data optimization is achieved by analyzing the program to estimate the size of existing short data and the size of any linkage tables, providing the size estimates to a compiler that is to compile the program, and compiling the program with the compiler in view of the size estimates such that a relatively large amount of data is allocated to a short data area.
    Type: Application
    Filed: October 4, 2002
    Publication date: April 8, 2004
    Inventors: Shin-Ming Liu, Dmitry Mikulin, Muralitharan Vijayasundaram, David Xinliang Li
  • Publication number: 20040064809
    Abstract: Disclosed are systems and methods for optimizing a program.
    Type: Application
    Filed: September 26, 2002
    Publication date: April 1, 2004
    Inventors: Shin-Ming Liu, Dmitry Mikulin, Muralitharan Vijayasundaram, David Xinliang Li
  • Patent number: 6301704
    Abstract: A method, system, and computer product uses a hashed static single assignment (SSA) form as a program representation and a medium for performing global scalar optimization. A compiler, after expressing the computer program in SSA form, can perform one or more static single assignment (SSA)-based, SSA-preserving global scalar optimization procedures on the SSA representation. Such a procedure modifies, (i.e., optimizes) the SSA representation of the program while preserving the utility of its embedded use-deprogram information for purposes of subsequent SSA-based, SSA-preserving global scalar optimizations. This saves the overhead expense of having to explicitly regenerate use-def program information for successive SSA-based, SSA-preserving global scalar optimizations.
    Type: Grant
    Filed: June 16, 1998
    Date of Patent: October 9, 2001
    Assignee: Silicon Graphics, Inc.
    Inventors: Frederick Chow, Sun Chan, Peter Dahl, Robert Kennedy, Shin-Ming Liu, Raymond Lo, Mark Streich, Peng Tu
  • Patent number: 6131189
    Abstract: A system and method for an optimizer of a compilation suite for representing aliases and indirect memory operations in static single assignment (SSA) during compilation of a program having one or more basic blocks of source code. The optimizer converts all scalar variables of said program to SSA form, wherein said SSA form includes a plurality of variable versions, zero or more occurrences of a .chi. function, zero or more occurences of a .phi. function, and zero or more occurrences of a .mu. function. The .chi. function, .phi. function, and .mu. function are inserted for the variable versions. The optimizer also determines whether a variable version can be renamed to a zero version, and upon such a determination, the optimizer renames the variable version to a zero version.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: October 10, 2000
    Assignee: Silicon Graphics, Inc.
    Inventors: Frederick Chow, Sun Chan, Shin-Ming Liu, Raymond Lo, Mark Streich
  • Patent number: 6128775
    Abstract: A method, system, and computer program product for performing register promotion, that optimizes placement of load and store operations of a computer program within a compiler. Based on the observation that the circumstances for promoting a memory location's value to register coincide with situations where the program exhibits partial redundancy between accesses to the memory location, the system is an approach to register promotion that models the optimization as two separate problems: (1) the partial redundancy elimination (PRE) of loads and (2) the PRE of stores. Both of these problems are solved through a sparse approach to PRE. The static single assignment PRE (SSAPRE) method for eliminating partial redundancy using a sparse SSA representation representations the foundation in eliminating redundancy among memory accesses, enabling the achievement of both computational and live range optimality in register promotion results.
    Type: Grant
    Filed: June 16, 1998
    Date of Patent: October 3, 2000
    Assignee: Silicon Graphics, Incorporated
    Inventors: Frederick Chow, Robert Kennedy, Shin-Ming Liu, Raymond Lo, Peng Tu, Sun C. Chan
  • Patent number: 6026241
    Abstract: Partial redundancy elimination of a computer program is described that operates using a static single assignment (SSA) representation of a computer program. The SSA representation of the computer program is processed to eliminate partially redundant expressions in the computer program. This processing involves inserting .PHI. functions for expressions where different values of the expressions reach common points in the computer program. A result of each of the .PHI. functions is stored in a hypothetical variable h. The processing also involves a renaming step where SSA versions are assigned to hypothetical variables h in the computer program, a down safety step of determining whether each .PHI. function in the computer program is down safe, and a will be available step of determining whether each expression in the computer program will be available at each .PHI. function following eventual insertion of code into the computer program for purposes of partial redundancy elimination.
    Type: Grant
    Filed: June 13, 1997
    Date of Patent: February 15, 2000
    Assignee: Silicon Graphics, Inc.
    Inventors: Frederick Chow, Sun Chan, Robert Kennedy, Shin-Ming Liu, Raymond Lo, Peng Tu