Patents by Inventor Cotton Seed

Cotton Seed 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: 8438552
    Abstract: In some embodiments, a method and apparatus for automatically parallelizing a sequential network application through pipeline transformation are described. In one embodiment, the method includes the configuration of a network processor into a D-stage processor pipeline. Once configured, a sequential network application program is transformed into D-pipeline stages. Once transformed, the D-pipeline stages are executed in parallel within the D-stage processor pipeline. In one embodiment, transformation of a sequential application program is performed by modeling the sequential network program as a flow network model and selecting from the flow network model into a plurality of preliminary pipeline stages. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 31, 2010
    Date of Patent: May 7, 2013
    Assignee: Intel Corporation
    Inventors: Jinquan Dai, Luddy Harrison, Bo Huang, Cotton Seed, Long Li
  • Patent number: 7793276
    Abstract: In some embodiments, a method and apparatus for automatically parallelizing a sequential network application through pipeline transformation are described. In one embodiment, the method includes the configuration of a network processor into a D-stage processor pipeline. Once configured, a sequential network application program is transformed into D-pipeline stages. Once transformed, the D-pipeline stages are executed in parallel within the D-stage processor pipeline. In one embodiment, transformation of a sequential application program is performed by modeling the sequential network program as a flow network model and selecting from the flow network model into a plurality of preliminary pipeline stages. Other embodiments are described and claimed.
    Type: Grant
    Filed: November 14, 2003
    Date of Patent: September 7, 2010
    Assignee: Intel Corporation
    Inventors: Jinquan Dai, Luddy Harrison, Bo Huang, Cotton Seed, Long Li
  • Publication number: 20100223605
    Abstract: In some embodiments, a method and apparatus for automatically parallelizing a sequential network application through pipeline transformation are described. In one embodiment, the method includes the configuration of a network processor into a D-stage processor pipeline. Once configured, a sequential network application program is transformed into D-pipeline stages. Once transformed, the D-pipeline stages are executed in parallel within the D-stage processor pipeline. In one embodiment, transformation of a sequential application program is performed by modeling the sequential network program as a flow network model and selecting from the flow network model into a plurality of preliminary pipeline stages. Other embodiments are described and claimed.
    Type: Application
    Filed: March 31, 2010
    Publication date: September 2, 2010
    Inventors: Jinquan Dai, Luddy Harrison, Bo Huang, Cotton Seed, Long Li
  • Patent number: 7634767
    Abstract: A method is presented including assigning a first register class to at least one symbolic register in at least one instruction, determining and assigning a second register class to the at least one register, reducing register class fixups and renaming the at least one symbolic register. Also presented is a system including a processor having at least one register and a compiler executing in the processor that inputs a source program having many operation blocks. The compiler assigns a first register class in at least one instruction to at least one symbolic register, determines and assigns a second register class to the at least one symbolic register, reduces register class fixups, and renames the at least one symbolic register.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: December 15, 2009
    Assignee: Intel Corporation
    Inventors: Bo Huang, Jinquan Dai, Cotton Seed
  • Patent number: 7581214
    Abstract: A program may be partitioned into at least two stages, where at least one of the stages comprises more than one parallel thread. Data required by each of the stages, which data is defined in a previous stage may be identified. Transmission of the required data between consecutive stages may then be provided for.
    Type: Grant
    Filed: April 15, 2004
    Date of Patent: August 25, 2009
    Assignee: Intel Corporation
    Inventors: Jinquan Dai, Luddy Harrison, Cotton Seed, Bo Huang
  • Patent number: 7140006
    Abstract: The invention provides a method and apparatus for optimizing code. Embodiments of the present invention comprise, for each expression in an intermediate program representation, transparently forwarding definitions of variables in said expression as said expression is being parsed by a term rewriter, the intermediate program representation being left unchanged; determining whether a term rewriting rule exists in the term rewriter for said expression; and rewriting said expression in the intermediate program representation according to said rule.
    Type: Grant
    Filed: October 11, 2001
    Date of Patent: November 21, 2006
    Assignee: Intel Corporation
    Inventors: Williams L. Harrison, III, Cotton Seed
  • Patent number: 7117490
    Abstract: The invention provides a method and apparatus for doing program analysis. According to embodiments of the invention program analysis comprises assigning an alias to each equivalence class of possibly overlapping memory accesses as defined by an alias analysis of an intermediate language program; and defining a definition-use relationship between statements in each equivalence class wherein definition statements which belong to the equivalence class reference the alias associated with that class, and wherein use statements which belong to the equivalence class reference the alias associated with for that class. The invention also provides a program analysis algorithm which utilizes a dependence flow graph having the property that the edge cardinality is independent of the definition-use of structure the program being analyzed.
    Type: Grant
    Filed: October 11, 2001
    Date of Patent: October 3, 2006
    Assignee: Intel Corporation
    Inventors: Williams L. Harrison, III, Cotton Seed
  • Patent number: 7032215
    Abstract: A method and system for type demotion of expressions and variables by bitwise propagation is disclosed. In one embodiment, a method, comprises determining when an operation on a larger data type may be replaced by the operation on a smaller data type having a reduced precision, wherein the operation is contained in code associated with a language implementation system; and replacing the operation on the larger data type by the operation on the smaller data type.
    Type: Grant
    Filed: October 11, 2001
    Date of Patent: April 18, 2006
    Assignee: Intel Corporation
    Inventors: Williams Ludwell Harrison, III, Cotton Seed
  • Publication number: 20050235276
    Abstract: A program may be partitioned into at least two stages, where at least one of the stages comprises more than one parallel thread. Data required by each of the stages, which data is defined in a previous stage may be identified. Transmission of the required data between consecutive stages may then be provided for.
    Type: Application
    Filed: April 15, 2004
    Publication date: October 20, 2005
    Applicant: INTEL CORPORATION
    Inventors: Jinquan Dai, Luddy Harrison, Cotton Seed, Bo Huang
  • Publication number: 20050229169
    Abstract: A method is presented including assigning a first register class to at least one symbolic register in at least one instruction, determining and assigning a second register class to the at least one register, reducing register class fixups and renaming the at least one symbolic register. Also presented is a system including a processor having at least one register and a compiler executing in the processor that inputs a source program having many operation blocks. The compiler assigns a first register class in at least one instruction to at least one symbolic register, determines and assigns a second register class to the at least one symbolic register, reduces register class fixups, and renames the at least one symbolic register.
    Type: Application
    Filed: March 31, 2004
    Publication date: October 13, 2005
    Inventors: Bo Huang, Jinquan Dai, Cotton Seed
  • Publication number: 20050125786
    Abstract: A method of scheduling a sequence of instructions is described. A target program is read, a pipeline control hazard is identified within the sequence of instructions, and a selected sequence of instructions is re-ordered. Two steps for re-ordering are applied to the selected sequence of instructions. First, a backward scheduling method is performed, and second, a forward scheduling method is performed.
    Type: Application
    Filed: December 9, 2003
    Publication date: June 9, 2005
    Inventors: Jinquan Dai, Cotton Seed, Bo Huang, Luddy Harrison
  • Publication number: 20050108695
    Abstract: In some embodiments, a method and apparatus for an automatic thread-partition compiler are described. In one embodiment, the method includes the transformation of a sequential application program into a plurality of application program threads. Once partitioned, the plurality of application program threads are concurrently executed as respective threads of a multi-threaded architecture. Hence, a performance improvement of the parallel multi-threaded architecture is achieved by hiding memory access latency through or by overlapping memory access with computations or with other memory accesses. Other embodiments are described and claimed.
    Type: Application
    Filed: November 14, 2003
    Publication date: May 19, 2005
    Inventors: Long Li, Cotton Seed, Bo Huang, Luddy Harrison, Jinquan Dai
  • Publication number: 20050108696
    Abstract: In some embodiments, a method and apparatus for automatically parallelizing a sequential network application through pipeline transformation are described. In one embodiment, the method includes the configuration of a network processor into a D-stage processor pipeline. Once configured, a sequential network application program is transformed into D-pipeline stages. Once transformed, the D-pipeline stages are executed in parallel within the D-stage processor pipeline. In one embodiment, transformation of a sequential application program is performed by modeling the sequential network program as a flow network model and selecting from the flow network model into a plurality of preliminary pipeline stages. Other embodiments are described and claimed.
    Type: Application
    Filed: November 14, 2003
    Publication date: May 19, 2005
    Inventors: Jinquan Dai, Luddy Harrison, Bo Huang, Cotton Seed, Long Li
  • Patent number: 6848099
    Abstract: A method and system for bidirectional bitwise constant propogation by abstract interpretation is disclosed. In one embodiment, the method performs optimizing an implementation of a programming language, comprising; analyzing one or more values computed by a program written in the programming language, wherein analyzing one or more values comprises; representing each bit within a value of the one or more values as an abstract element of a lattice having a set of abstract elements including 0A, 1A, ?A and TA, wherein the lattice is an abstraction of a concrete domain containing 0, 1, and ?; analyzing one or more output bits that are produced by an operation in terms of one or more input bits that are input to the operation; and analyzing the input bits that are input to the operation in terms of the output bits that are produced by the operation.
    Type: Grant
    Filed: October 11, 2001
    Date of Patent: January 25, 2005
    Assignee: Intel Corporation
    Inventors: Williams Ludwell Harrison, III, Cotton Seed
  • Publication number: 20030167462
    Abstract: A method and system for bidirectional bitwise constant propagation by abstract interpretation is disclosed. In one embodiment, the method performs optimizing an implementation of a programming language, comprising; analyzing one or more values computed by a program written in the programming language, wherein analyzing one or more values comprises; representing each bit within a value of the one or more values as an abstract element of a lattice having a set of abstract elements including 0A, 1A, ⊥A and TA, wherein the lattice is an abstraction of a concrete domain containing 0, 1, and ⊥; analyzing one or more output bits that are produced by an operation in terms of one or more input bits that are input to the operation; and analyzing the input bits that are input to the operation in terms of the output bits that are produced by the operation.
    Type: Application
    Filed: October 11, 2001
    Publication date: September 4, 2003
    Inventors: Williams Ludwell Harrison, Cotton Seed
  • Publication number: 20030121029
    Abstract: A method and system for type demotion of expressions and variables by bitwise propagation is disclosed. In one embodiment, a method, comprises determining when an operation on a larger data type may be replaced by the operation on a smaller data type having a reduced precision, wherein the operation is contained in code associated with a language implementation system; and replacing the operation on the larger data type by the operation on the smaller data type.
    Type: Application
    Filed: October 11, 2001
    Publication date: June 26, 2003
    Inventors: Williams Ludwell Harrison, Cotton Seed
  • Publication number: 20030101441
    Abstract: The invention provides a method and apparatus for optimizing code. Embodiments of the present invention comprise, for each expression in an intermediate program representation, transparently forwarding definitions of variables in said expression as said expression is being parsed by a term rewriter, the intermediate program representation being left unchanged; determining whether a term rewriting rule exists in the term rewriter for said expression; and rewriting said expression in the intermediate program representation according to said rule.
    Type: Application
    Filed: October 11, 2001
    Publication date: May 29, 2003
    Inventors: Williams L. Harrison, Cotton Seed
  • Publication number: 20030074652
    Abstract: The invention provides a method and apparatus for doing program analysis. According to embodiments of the invention program analysis comprises assigning an alias to each equivalence class of possibly overlapping memory accesses as defined by an alias analysis of an intermediate language program; and defining a definition-use relationship between statements in each equivalence class wherein definition statements which belong to the equivalence class reference the alias associated with that class, and wherein use statements which belong to the equivalence class reference the alias associated with for that class. The invention also provides a program analysis algorithm which utilizes a dependence flow graph having the property that the edge cardinality is independent of the definition-use of structure the program being analyzed.
    Type: Application
    Filed: October 11, 2001
    Publication date: April 17, 2003
    Inventors: Williams L. Harrison, Cotton Seed