Patents by Inventor Michael Champigny

Michael Champigny 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: 11340942
    Abstract: A method for use in a computing system having a central processing unit (CPU) and a graphics processing unit (GPU), the method comprising: assigning a first memory portion and a second memory portion to: a worker thread of a work-stealing scheduler and an execution unit that is part of the GPU; retrieving a task from a queue associated with the worker thread; detecting, by the worker thread, whether a cutoff condition for the task is satisfied; when the cutoff condition is not satisfied, dividing the task into two or more additional tasks and adding the two or more additional tasks to the queue; when the cutoff condition is satisfied, storing first data corresponding to the task in the second memory portion, the first data being stored in the second memory portion by the worker thread; issuing a memory fence acquire instruction; and storing a first value in the first memory portion.
    Type: Grant
    Filed: January 19, 2021
    Date of Patent: May 24, 2022
    Assignee: Raytheon Company
    Inventor: Michael Champigny
  • Publication number: 20210294648
    Abstract: A method for use in a computing system having a central processing unit (CPU) and a graphics processing unit (GPU), the method comprising: assigning a first memory portion and a second memory portion to: a worker thread of a work-stealing scheduler and an execution unit that is part of the GPU; retrieving a task from a queue associated with the worker thread; detecting, by the worker thread, whether a cutoff condition for the task is satisfied; when the cutoff condition is not satisfied, dividing the task into two or more additional tasks and adding the two or more additional tasks to the queue; when the cutoff condition is satisfied, storing first data corresponding to the task in the second memory portion, the first data being stored in the second memory portion by the worker thread; issuing a memory fence acquire instruction; and storing a first value in the first memory portion.
    Type: Application
    Filed: January 19, 2021
    Publication date: September 23, 2021
    Applicant: Raytheon Company
    Inventor: Michael Champigny
  • Patent number: 10963300
    Abstract: A method includes: forming a virtual tile cluster having tiles, wherein a tile comprises a processor and memory from a CPU device and a GPU device, and a tile in the GPU device further comprises subprocessors; forming a virtual unified memory that is accessible by the CPU and GPU devices; receiving a task; assigning the task to a tile of the virtual tile cluster according to a pre-defined rule. When the task is assigned to a tile in the GPU device, the method further performs: broadcasting the task to the subprocessors of a tile using a GPU shuffle instruction; and dividing data for the task and assigning the divided data to the subprocessors, wherein each subprocessor runs a codelet using the each of divided data. The task is executed by the at least one tile of the virtual tile cluster.
    Type: Grant
    Filed: April 2, 2019
    Date of Patent: March 30, 2021
    Assignee: Raytheon Company
    Inventor: Michael Champigny
  • Patent number: 10838624
    Abstract: Example implementations relate to allocating an I/O request. In an example, a demultiplexer may forward an I/O request to a file system instance to which the I/O request belongs. The file system instance may tag the I/O request with a file system instance identifier associated with that file system instance. A volume manager may identify an extent pool to which the I/O request is to be allocated from among a plurality of extent pools of a storage based on the file system instance identifier tagged to the I/O request.
    Type: Grant
    Filed: January 31, 2018
    Date of Patent: November 17, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Glenn S. Watkins, Curtis Mello, Michael Champigny, John Michael Czerkowicz
  • Publication number: 20200183738
    Abstract: A method includes: forming a virtual tile cluster having tiles, wherein a tile comprises a processor and memory from a CPU device and a GPU device, and a tile in the GPU device further comprises subprocessors; forming a virtual unified memory that is accessible by the CPU and GPU devices; receiving a task; assigning the task to a tile of the virtual tile cluster according to a pre-defined rule. When the task is assigned to a tile in the GPU device, the method further performs: broadcasting the task to the subprocessors of a tile using a GPU shuffle instruction; and dividing data for the task and assigning the divided data to the subprocessors, wherein each subprocessor runs a codelet using the each of divided data. The task is executed by the at least one tile of the virtual tile cluster.
    Type: Application
    Filed: April 2, 2019
    Publication date: June 11, 2020
    Applicant: Raytheon Company
    Inventor: Michael Champigny
  • Patent number: 10565125
    Abstract: Example implementations relate to objects in extents on a storage resource. In an example, an extent identifier is persisted to a storage allocation table, where the extent identifier locates an extent on a storage resource. An extent map tracks which objects in the extent are deallocated. A virtual block address is generated allocating an object to store data. The virtual block address may include a storage allocation table key that locates the extent identifier in the storage allocation table and an extent offset to locate the object within the extent.
    Type: Grant
    Filed: February 27, 2018
    Date of Patent: February 18, 2020
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Curtis Mello, Michael Champigny, Glenn S. Watkins, John Michael Czerkowicz
  • Publication number: 20190266100
    Abstract: Example implementations relate to objects in extents on a storage resource. In an example, an extent identifier is persisted to a storage allocation table, where the extent identifier locates an extent on a storage resource. An extent map tracks which objects in the extent are deallocated. A virtual block address is generated allocating an object to store data. The virtual block address may include a storage allocation table key that locates the extent identifier in the storage allocation table and an extent offset to locate the object within the extent.
    Type: Application
    Filed: February 27, 2018
    Publication date: August 29, 2019
    Inventors: Curtis Mello, Michael Champigny, Glenn S. Watkins, John Michael Czerkowicz
  • Publication number: 20190235761
    Abstract: Example implementations relate to allocating an I/O request. In an example, a demultiplexer may forward an I/O request to a file system instance to which the I/O request belongs. The file system instance may tag the I/O request with a file system instance identifier associated with that file system instance. A volume manager may identify an extent pool to which the I/O request is to be allocated from among a plurality of extent pools of a storage based on the file system instance identifier tagged to the I/O request.
    Type: Application
    Filed: January 31, 2018
    Publication date: August 1, 2019
    Inventors: Glenn S. Watkins, Curtis Mello, Michael Champigny, John Michael Czerkowicz