Patents by Inventor Paul Geoffrey Lowney

Paul Geoffrey Lowney 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: 20100156888
    Abstract: Embodiments of a system, program product and method are presented to perform automatic partitioning of work between host processor (such as, e.g., a CPU) and at least one additional heterogeneous processing element (such as, e.g., a GPU) through run-time adaptive mapping. The adaptive mapping may be performed by a dynamic compiler, based on projected execution times predicted by curve fitting based on actual execution times generated during a profile run of the program. Other embodiments are described and claimed.
    Type: Application
    Filed: December 23, 2008
    Publication date: June 24, 2010
    Inventors: Chi-Keung Luk, Paul Geoffrey Lowney
  • Publication number: 20030084433
    Abstract: Executable code is modified to include prefetch instructions for certain loads. The targeted loads preferably include those loads for which a compiler cannot compute a stride (which represents the difference in memory addresses used in consecutive executions of a given load). Whether prefetch instructions should be included for such loads is determined preferably by running the code with a training data set which determines the frequency of strides for each subsequent execution of a load. If a stride occurs more than once for a load, then that load is prefetched by inserting a prefetch instruction into the executable code for that load. Further, a stride value is associated with the inserted prefetch. Preferably, the stride value is the most frequently occurring stride, which can be determined based on the results of the training data set. Alternatively, the stride can be computed during run-time by the code itself.
    Type: Application
    Filed: October 31, 2001
    Publication date: May 1, 2003
    Inventors: Chi-Keung Luk, Harish Patil, Robert Muth, Paul Geoffrey Lowney, Robert Cohn, Richard Weiss
  • Publication number: 20030014737
    Abstract: Computer method and apparatus allows instrumentation of program modules while maintaining exception-handling unwinding context. In the case of instrumenting procedure prologues, the invention preserves the calling context. A sanitized copy of the prologue and rewind instructions to reverse the effects of duplicate prologue instructions are employed.
    Type: Application
    Filed: September 6, 2002
    Publication date: January 16, 2003
    Applicant: Compaq Information Technologies Group, L.P.
    Inventors: Sharon Lea Smith, David Paul Hunter, Robert Cohn, David W. Goodwin, Paul Geoffrey Lowney
  • Patent number: 6470493
    Abstract: Computer method and apparatus allows instrumentation of program modules while maintaining exception-handling unwinding context. In the case of instrumenting procedure prologues, the invention preserves the calling context. A sanitized copy of the prologue and rewind instructions to reverse the effects of duplicate prologue instructions are employed.
    Type: Grant
    Filed: September 30, 1999
    Date of Patent: October 22, 2002
    Assignee: Compaq Information Technologies Group, L.P.
    Inventors: Sharon Lea Smith, David Paul Hunter, Robert Cohn, David W. Goodwin, Paul Geoffrey Lowney
  • Patent number: 6324689
    Abstract: A method for permitting software optimization tools, software instrumenting tools and other analysis tools to re-write executables having mixed instructions and data uses a data structure having an entry for each multi-bit word in an executable file. Each entry of the data structure includes a number of flags that are set to identify the type of the multi-bit word in the associated line of the executable file. The types include instruction, data and unclassified. Each entry also includes a flag that indicates that the multi-bit word should not be optimized and a flag indicating that the multi-bit word is a problem branch. The no-optimize and problem branch flags may be used to identify multi-bit words that may be either branch instructions or data, and to ensure that such multi-bit words are not affected by optimization or other rewriting of the executable. In addition, a problem fall through flag is provided to maintain program flow for possible fall through code segments.
    Type: Grant
    Filed: September 30, 1998
    Date of Patent: November 27, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Paul Geoffrey Lowney, David William Goodwin, Robert Cohn
  • Patent number: 6163821
    Abstract: A computer method and apparatus causes the load-store instruction grouping in a microprocessor instruction pipeline to be disrupted at appropriate times. The computer method and apparatus employs a memory access member which periodically stalls the issuance of store instructions when there are prior store instructions pending in the store queue. The periodic stalls bias the issue stage to issue load groups and store instruction groups. In the latter case, the store queue is free to update the data cache with the data from previous store instructions. Thus, the invention memory access member biases issuance of store instructions in a manner that prevents the store queue from becoming full, and as such enables the store queue to write to the data cache before the store queue becomes full.
    Type: Grant
    Filed: December 18, 1998
    Date of Patent: December 19, 2000
    Assignee: Compaq Computer Corporation
    Inventors: James B. Keller, Richard E. Kessler, Stephen C. Root, Paul Geoffrey Lowney
  • Patent number: 5923863
    Abstract: Methods for handling exceptions caused by speculatively scheduled instructions or predicated instructions executed within a computer program are described. The method for speculatively scheduled instructions includes checking at a commit point of a speculatively scheduled instruction, a semaphore associated with the speculatively scheduled instruction and branching to an error handling routine if the semaphore is set. A set semaphore indicates that an exception occurred when the speculatively scheduled instruction was executed. For a predicated instruction the method includes checking a predicate of an eliminated branch and a semaphore associated with the speculative instruction at a commit point of the speculative instruction and branching to an error handling routine if the semaphore indicates that an exception occurred when said speculative instruction was executed, and the predicate is true, which indicates that said speculative instruction was properly executed.
    Type: Grant
    Filed: October 25, 1995
    Date of Patent: July 13, 1999
    Assignee: Digital Equipment Corporation
    Inventors: Michael C. Adler, Steven O. Hobbs, Paul Geoffrey Lowney
  • Patent number: 5901308
    Abstract: A method of compiling an application to reduce the occurrence of speculative exceptions is described. The method includes the steps of compiling the application to provide a speculation table and an executable file, and obtaining profile information about said compiled application using representative data sets. The compiler includes a scheduler unit for rearranging the order of the instructions in the application to provide optimal performance. The speculation table comprises a number of entries corresponding to the instructions of the application, each entry including a tag identifying the instruction and a semaphore indicating whether or not the instruction is likely to cause an exception. The executable file is run using a number of representative data sets to profile information identifying those instructions that result in exceptions, and the tag of the instruction is stored in a log file.
    Type: Grant
    Filed: March 18, 1996
    Date of Patent: May 4, 1999
    Assignee: Digital Equipment Corporation
    Inventors: Robert Cohn, Michael C. Adler, Paul Geoffrey Lowney