Patents Examined by Jacob A. Petranek
  • Patent number: 11669491
    Abstract: Provided is an operation method of a processor including a plurality of heterogeneous cores, the operation method including selecting an execution core of the plurality of heterogeneous cores for executing an application, loading, from a memory, first data corresponding to core information of the execution core during runtime of the execution core, wherein the first data is included in compile data, the compile data including a first function compiled for each heterogeneous core of the plurality of heterogeneous cores, the first function being a function from among a plurality of functions of the application that is at least one of frequently called or having a long execution time, and processing, by the execution core, execution codes for executing the application, based on the first data.
    Type: Grant
    Filed: April 7, 2021
    Date of Patent: June 6, 2023
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Junmo Park, Dongsuk Jeon
  • Patent number: 11663003
    Abstract: An apparatus and method are described for performing efficient Boolean operations in a pipelined processor which, in one embodiment, does not natively support three operand instructions. For example, in one embodiment, a processor comprises: a set of registers for storing packed operands; Boolean operation logic to execute a single instruction which uses three or more source operands packed in the set of registers, the Boolean operation logic to read at least three source operands and an immediate value to perform a Boolean operation on the three source operands, wherein the Boolean operation comprises: combining a bit read from each of the three operands to form an index to the immediate value, the index identifying a bit position within the immediate value; reading the bit from the identified bit position of the immediate value; and storing the bit from the identified bit position of the immediate value in a destination register.
    Type: Grant
    Filed: June 25, 2019
    Date of Patent: May 30, 2023
    Assignee: INTEL CORPORATION
    Inventors: Vinodh Gopal, Wajdi Feghali, Gilbert Wolrich, Kirk Yap
  • Patent number: 11657018
    Abstract: A computer implemented method of data decompression and verification includes decompressing a compressed data segment to generate a decompressed data region. The method also includes generating a segment vector array (SVA) including a number of segment vectors corresponding to data segments within the decompressed data region, each segment vector indicating a location and a size of a corresponding data segment. The method also includes transmitting the SVA to a chain plugin module and transmitting segment vector array data to a SVA-based message constructor. The method also includes constructing a SVA-based message including the location and size of data segments within the decompressed data region, and transmitting the SVA-based message to a hardware accelerator. The method also includes performing verification sessions at the hardware accelerator, each verification session corresponding to a specific data segment indicated by the SVA-based message.
    Type: Grant
    Filed: March 29, 2021
    Date of Patent: May 23, 2023
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Colin Zou, Tao Chen
  • Patent number: 11645113
    Abstract: In some examples, a system receives a first unit of work to be scheduled in the system that includes a plurality of collections of processing units to execute units of work, where each respective collection of processing units of the plurality of collections of processing units is associated with a corresponding scheduling queue. The system selects, for the first unit of work according to a first criterion, candidate collections from among the plurality of collections of processing units, and enqueues the first unit of work in a schedule queue associated with a selected collection of processing units that is selected, according to a selection criterion, from among the candidate collections.
    Type: Grant
    Filed: April 30, 2021
    Date of Patent: May 9, 2023
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Christopher Joseph Corsi, Prashanth Soundarapandian, Matti Antero Vanninen, Siddharth Munshi
  • Patent number: 11645082
    Abstract: Embodiments described herein are directed to a programming language trigger mechanism. The trigger mechanism is a small piece of code that a software developer utilizes in a computer program. The trigger mechanism enables computing operations or tasks to be performed asynchronously and in a parallel fashion. In particular, logic (e.g., operations or tasks) associated with the trigger mechanism are provided to a plurality of resources for processing in parallel. Each resource asynchronously processes the task provided thereto and asynchronously provides the result. The results are asynchronously returned as an enumeration. The enumeration enables the software developer to enumerate through the returned elements as a simple stream of results as they are calculated.
    Type: Grant
    Filed: June 26, 2020
    Date of Patent: May 9, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Adir Hudayfi, Gal Tamir, Izhak Mashiah
  • Patent number: 11640302
    Abstract: A computing device comprising: a plurality of ALUs; a set of registers; a memory; a memory interface between the registers and the memory; a control unit controlling the ALUs by generating: at least one cycle i including both implementing at least one first computing operation by way of an arithmetic logic unit and downloading a first dataset from the memory to at least one register; at least one cycle ii, following the at least one cycle i, including implementing a second computing operation by way of an arithmetic logic unit, for which second computing operation at least part of the first dataset forms at least one operand.
    Type: Grant
    Filed: May 21, 2019
    Date of Patent: May 2, 2023
    Assignee: VSORA
    Inventors: Khaled Maalej, Trung-Dung Nguyen, Julien Schmitt, Pierre-Emmanuel Bernard
  • Patent number: 11635959
    Abstract: Representative apparatus, method, and system embodiments are disclosed for configurable computing. A representative system includes an interconnection network; a processor; and a plurality of configurable circuit clusters. Each configurable circuit cluster includes a plurality of configurable circuits arranged in an array; a synchronous network coupled to each configurable circuit of the array; and an asynchronous packet network coupled to each configurable circuit of the array.
    Type: Grant
    Filed: April 5, 2021
    Date of Patent: April 25, 2023
    Assignee: Micron Technology, Inc.
    Inventor: Tony M. Brewer
  • Patent number: 11636063
    Abstract: In various examples, a VPU and associated components may be optimized to improve VPU performance and throughput. For example, the VPU may include a min/max collector, automatic store predication functionality, a SIMD data path organization that allows for inter-lane sharing, a transposed load/store with stride parameter functionality, a load with permute and zero insertion functionality, hardware, logic, and memory layout functionality to allow for two point and two by two point lookups, and per memory bank load caching capabilities. In addition, decoupled accelerators may be used to offload VPU processing tasks to increase throughput and performance, and a hardware sequencer may be included in a DMA system to reduce programming complexity of the VPU and the DMA system. The DMA and VPU may execute a VPU configuration mode that allows the VPU and DMA to operate without a processing controller for performing dynamic region based data movement operations.
    Type: Grant
    Filed: August 2, 2021
    Date of Patent: April 25, 2023
    Assignee: NVIDIA Corporation
    Inventors: Ching-Yu Hung, Ravi P Singh, Jagadeesh Sankaran, Yen-Te Shih, Ahmad Itani
  • Patent number: 11615053
    Abstract: A processor in a network has a plurality of processing units arranged on a chip. An on-chip interconnect enables data to be exchanged between the processing units. A plurality of external interfaces are configured to communicate data off chip in the form of packets, each packet having a destination address identifying a destination of the packet. The external interfaces are connected to respective additional connected processors. A routing bus routes packets between the processing units and the external interfaces. A routing register defines a routing domain for the processor, the routing domain comprising one or more of the additional processor, and at least a subset of further additional processors of the network, wherein the additional processors of the subset are directly or indirectly connected to the processor. The routing domain can be modified by changing the contents of the routing register as a sliding window domain.
    Type: Grant
    Filed: July 13, 2021
    Date of Patent: March 28, 2023
    Assignee: GRAPHCORE LIMITED
    Inventors: Daniel John Pelham Wilkinson, Lars Paul Huse, Richard Luke Southwell Osborne, Graham Bernard Cunningham, Hachem Yassine
  • Patent number: 11609785
    Abstract: Systems, apparatuses, and methods for efficient parallel execution of multiple work units in a processor by reducing a number of memory accesses are disclosed. A computing system includes a processor core with a parallel data architecture. The processor core executes a software application with matrix operations. The processor core supports the broadcast of shared data to multiple compute units of the processor core. A compiler or other code assigns thread groups to compute units based on detecting shared data among the compute units. Rather than send multiple read accesses to a memory subsystem for the shared data, the processor core generates a single access request. The single access request includes information to identify the multiple compute units for receiving the shared data when broadcasted by the processor core.
    Type: Grant
    Filed: December 30, 2019
    Date of Patent: March 21, 2023
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Li Peng, Jian Yang, Chi Tang
  • Patent number: 11604643
    Abstract: A method for executing new instructions includes the following steps. An instruction is received. A determination is made as to whether the received instruction is a new instruction. When the received instruction is the new instruction, a emulation flag is generated. The emulation flag is a first value. A system management interrupt is generated according to the emulation flag. In response to the system management interrupt, entering the system management mode and simulating the execution of the received instruction in the system management mode to generate a simulation execution result. The simulation execution result is stored in a system management memory.
    Type: Grant
    Filed: September 10, 2021
    Date of Patent: March 14, 2023
    Assignee: SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD.
    Inventors: Weilin Wang, Yingbing Guan, Mengchen Yang
  • Patent number: 11599392
    Abstract: A system including a smart camera and a server computer. The smart camera may be configured to capture video data comprising a plurality of video frames, detect a triggering event and select a plurality of images from the plurality of video frames of the video data in response to the triggering event and communicate the plurality of images. The server computer may be configured to receive the plurality of images, analyze the plurality of images to perform an additional detection corresponding to the triggering event and generate a signal in response to the additional detection. The server computer may implement a neural network for analyzing the plurality of images. The neural network may use more computing resources than the smart camera uses for detecting the triggering event. Communicating the plurality of images may use less bandwidth than communicating the video data.
    Type: Grant
    Filed: August 14, 2019
    Date of Patent: March 7, 2023
    Assignee: KUNA SYSTEMS CORPORATION
    Inventors: Haomiao Huang, Sean Keenan
  • Patent number: 11593156
    Abstract: An instruction offload manager receives, by a processing device, a first request to execute a program, identifies one or more instructions of the program to be offloaded to a second processing device, where the second processing device includes a same instruction set architecture as the processing device, and provides the one or more instructions to a memory module comprising the second processing device. Responsive to detecting an indication to execute the one or more instructions, the instruction offload manager provides an indication to the second processing device to cause the second processing device to execute the one or more instructions, the one or more instructions to update a portion of a memory space associated with the memory module.
    Type: Grant
    Filed: August 16, 2019
    Date of Patent: February 28, 2023
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Patent number: 11579890
    Abstract: An integrated circuit (IC) may include a set of instruction list engines (ILEs) that execute in parallel, where each ILE stores a subset of a set of instructions for processing a header of a frame, and where each ILE generates an ILE result based on executing the subset of the set of instructions. The IC may include a circuit to determine a result of parsing the header of the frame based on merging ILE results generated by the set of ILEs.
    Type: Grant
    Filed: January 28, 2021
    Date of Patent: February 14, 2023
    Assignee: Synopsys, Inc.
    Inventors: Mehulkumar Kantibhai Gor, Lokesh Kabra, Anil Pothireddy
  • Patent number: 11579869
    Abstract: A device, and a method and a system for editing command sets applied to the device are provided. The system includes an editor installed in a computer device for initiating an editing interface used to edit one or more command sets applied to the device and a writer used to convert the command sets into profiles with a format specified to the device. The command sets are used to form the profiles configured to be written to the device via the writer. The command sets including a set of scripts of commands and input codes specified to the device can be edited through the editor. The device is a computer mouse with multiple keys. The keys can be used to switch the profiles stored in the device, and the command set of the profile being activated is applied to the device for operating the device.
    Type: Grant
    Filed: January 29, 2021
    Date of Patent: February 14, 2023
    Assignee: PIXART IMAGING INC.
    Inventor: Jr-Yi Li
  • Patent number: 11579883
    Abstract: Disclosed embodiments relate to systems and methods for performing instructions specifying horizontal tile operations. In one example, a processor includes fetch circuitry to fetch an instruction specifying a horizontal tile operation, a location of a M by N source matrix comprising K groups of elements, and locations of K destinations, wherein each of the K groups of elements comprises the same number of elements, decode circuitry to decode the fetched instruction, and execution circuitry to respond to the decoded instruction by generating K results, each result being generated by performing the specified horizontal tile operation across every element of a corresponding group of the K groups, and writing each generated result to a corresponding location of the K specified destination locations.
    Type: Grant
    Filed: September 14, 2018
    Date of Patent: February 14, 2023
    Assignee: Intel Corporation
    Inventors: Christopher J. Hughes, Bret Toll, Dan Baum, Elmoustapha Ould-Ahmed-Vall, Raanan Sade, Robert Valentine, Mark J. Charney, Alexander F. Heinecke
  • Patent number: 11579878
    Abstract: An apparatus is disclosed. The apparatus includes one or more processors comprising register sharing circuitry to receive meta-information indicating a number of threads that are to be disabled and provide an indication that an associated thread is disabled, a plurality of General Purpose Register Files (GRFs), wherein one or more of the plurality of GRFs is associated with one of the plurality of threads and a plurality of multiplexers coupled to the one or more GRFs to receive the indication from the register sharing circuitry and disable thread access to an associated GRF based on an indication that a thread is to be disabled.
    Type: Grant
    Filed: May 22, 2020
    Date of Patent: February 14, 2023
    Assignee: Intel Corporation
    Inventors: Pratik J. Ashar, Supratim Pal, Subramaniam Maiyuran, Wei-Yu Chen, Guei-Yuan Lueh
  • Patent number: 11567766
    Abstract: Representative apparatus, method, and system embodiments are disclosed for configurable computing. A representative system includes an interconnection network; a processor; and a plurality of configurable circuit clusters. Each configurable circuit cluster includes a plurality of configurable circuits arranged in an array; a synchronous network coupled to each configurable circuit of the array; and an asynchronous packet network coupled to each configurable circuit of the array.
    Type: Grant
    Filed: April 11, 2021
    Date of Patent: January 31, 2023
    Assignee: Micron Technology, Inc.
    Inventor: Tony M. Brewer
  • Patent number: 11561792
    Abstract: A transient load instruction for a processor may include a transient or temporary load instruction that is executed in parallel with a plurality of input operands. The temporary load instruction loads a memory value into a temporary location for use within the instruction packet. According to some examples, a VLIW based microprocessor architecture may include a temporary cache for use in writing/reading a temporary memory value during a single VLIW packet cycle. The temporary cache is different from the normal register bank that does not allow writing and then reading the value just written during the same VLIW packet cycle.
    Type: Grant
    Filed: June 8, 2015
    Date of Patent: January 24, 2023
    Assignee: Qualcomm Incorporated
    Inventors: Eric Mahurin, Jakub Pawel Golab
  • Patent number: 11561798
    Abstract: A system and method for avoiding write back collisions. The system receives a plurality of instructions at a pipeline queue. Next an issue queue determines a number of cycles for each instruction of the plurality of instructions. The issue queue further determines if a collision will occur between at least two of the instructions. Additionally, the system determines in response to a collision between at least two of the instructions, a number of cycles to delay at least one of the at least two instructions. The instructions are then executed. The system then places the results of the instruction for instructions that had a calculated delay in a result buffer for the determined number of cycles of delay. After the determined number of cycles of delay, the system sends the results to a results mux. Once received at the results mux the results are written back to the register file.
    Type: Grant
    Filed: July 30, 2020
    Date of Patent: January 24, 2023
    Assignee: International Business Machines Corporation
    Inventors: Brian D. Barrick, Maarten J. Boersma, Niels Fricke, Dung Q. Nguyen, Brian W. Thompto, Andreas Wagner