Patents by Inventor Deepak Mital

Deepak Mital 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: 20240070583
    Abstract: The online concierge system generates task units based on orders and assigns batches of task units to pickers. The online concierge system generates task units based on received orders. The online concierge system generates permutations of these task units to generate candidate sets of task batches. The online concierge system scores each of these candidate sets, and selects a set of task batches to assign to pickers based on the scores. Additionally, to determine which task UI to display to the picker, the picker client device uses a UI state machine. The UI state machine is a state machine where each state corresponds to a task UI to display on the picker client device. The state transitions between the UI states of the UI state machine indicate which UI state to transition to from a current UI state based on the next task unit in the received task batch.
    Type: Application
    Filed: August 31, 2022
    Publication date: February 29, 2024
    Inventors: Amod Mital, Sherin Kurian, Kevin Ryan, Shouvik Dutta, Jason He, Aneesh Mannava, Ralph Samuel, Jagannath Putrevu, Deepak Tirumalasetty, Krishna Kumar Selvam, Wei Gao, Xiangpeng Li
  • Publication number: 20230169318
    Abstract: A method, apparatus, and system are discussed to efficiently process and execute Artificial Intelligence operations. An integrated circuit has a tailored architecture to process and execute Artificial Intelligence operations, including computations for a neural network having weights with a sparse value. The integrated circuit contains at least a scheduler, one or more arithmetic logic units, and one or more random access memories configured to cooperate with each other to process and execute these computations for the neural network having weights with the sparse value.
    Type: Application
    Filed: January 11, 2023
    Publication date: June 1, 2023
    Inventor: Deepak Mital
  • Publication number: 20230118981
    Abstract: An integrated circuit with a neural network can reduce the number of accesses off circuit by embedding a dedicated processor for each cluster in a neural network. The integrated circuit has a neural network of multiple arithmetic logic units arranged in clusters. Each arithmetic logic unit have one or more computing engines and a local arithmetic memory. The integrated circuit can associate a scheduler with each cluster. The integrated circuit can associate a cluster local memory with each cluster. The integrated circuit can associate a dedicated embedded processor with each cluster. The dedicated embedded processor is capable of performing general purpose operations. The integrated circuit can execute a non-computational operation offloaded from the cluster.
    Type: Application
    Filed: October 18, 2022
    Publication date: April 20, 2023
    Applicant: Roviero, Inc.
    Inventors: Deepak Mital, Ravi Sreenivasa Setty, Vlad Ionut Ursachi, Venkateswarlu Bandaaru, Xiaochun Li, Tianran Chen
  • Publication number: 20230120227
    Abstract: An artificial intelligence processor can optimize the usage of its neural network to process a data set more efficiently. The artificial intelligence processor can have a neural network of multiple arithmetic logic units each having one or more computing engines and a local arithmetic memory divided into a set of clusters arranged into a node ring. A scheduler with a local scheduler memory for each cluster. An advanced extensible interface can read a data set model from an external memory in a single data read. A memory manager can control the node ring. When a data size of the data set is larger than a processing model layer for processing the data set, the memory manager can slice the data set into data set chunks. The memory manager can assign a data set chunk to a data cluster. The memory manager can broadcast channel instructions from the processing model layer to every cluster.
    Type: Application
    Filed: October 18, 2022
    Publication date: April 20, 2023
    Applicant: Roviero, Inc.
    Inventors: Deepak Mital, Ravi Sreenivasa Setty, Vlad Ionut Ursachi, Venkateswarlu Bandaaru
  • Publication number: 20230118325
    Abstract: An artificial intelligence processor can optimize the usage of its neural network to reduce the need to access external memory during operations. The artificial intelligence processor can have multiple arithmetic logic units each configured to have one or more computing engines to perform the computations for the AI system. A set of schedulers are each configured to have a local scheduler memory. A memory manager is configured to execute an instruction set from a compiler. The compiler is configured to divide the multiple arithmetic logic units into multiple clusters. The compiler is configured to assign each cluster a scheduler from the set of schedulers. The scheduler is configured to cooperate with a memory manager so that a fetch of data from an external memory to the local scheduler memory occurs a single time per calculation.
    Type: Application
    Filed: October 18, 2022
    Publication date: April 20, 2023
    Inventors: Deepak Mital, Sambhu Surya Mohan, Anoop Basil, Thomas Paul
  • Patent number: 11580371
    Abstract: A method, apparatus, and system are discussed to efficiently process and execute Artificial Intelligence operations. An integrated circuit has a tailored architecture to process and execute Artificial Intelligence operations, including computations for a neural network having weights with a sparse value. The integrated circuit contains at least a scheduler, one or more arithmetic logic units, and one or more random access memories configured to cooperate with each other to process and execute these computations for the neural network having weights with the sparse value.
    Type: Grant
    Filed: March 12, 2020
    Date of Patent: February 14, 2023
    Assignee: Roviero, Inc.
    Inventor: Deepak Mital
  • Publication number: 20200293868
    Abstract: A method, apparatus, and system are discussed to efficiently process and execute Artificial Intelligence operations. An integrated circuit has a tailored architecture to process and execute Artificial Intelligence operations, including computations for a neural network having weights with a sparse value. The integrated circuit contains at least a scheduler, one or more arithmetic logic units, and one or more random access memories configured to cooperate with each other to process and execute these computations for the neural network having weights with the sparse value.
    Type: Application
    Filed: March 12, 2020
    Publication date: September 17, 2020
    Inventor: Deepak Mital
  • Patent number: 9864633
    Abstract: An network processor is described that is configured to multicast multiple data packets to one or more engines. In one or more implementations, the network processor includes an input/output adapter configured to parse a plurality of tasks. The input/output adapter includes a multicast module configured to determine a reference count value based upon a maximum multicast value of the plurality of tasks. The input/output adapter is also configured to set a reference count decrement value within the control data portion of the plurality of tasks. The reference count decrement value is based upon the maximum multicast value. The input/output adapter is also configured to decrement the reference count value by a corresponding reference count decrement value upon receiving an indication from an engine.
    Type: Grant
    Filed: July 27, 2015
    Date of Patent: January 9, 2018
    Assignee: Intel Corporation
    Inventors: Deepak Mital, Joseph A. Manzella, Ritchie J. Peachey, William Burroughs
  • Patent number: 9461930
    Abstract: Described embodiments classify packets received by a network processor. A processing module of the network processor generates tasks corresponding to each received packet. A scheduler generates contexts corresponding to tasks received by the packet classification processor from corresponding processing modules, each context corresponding to a given flow, and stores each context in a corresponding per-flow first-in, first-out buffer of the scheduler. A packet modifier generates a modified packet based on threads of instructions, each thread of instructions corresponding to a context received from the scheduler. The modified packet is generated before queuing the packet for transmission as an output packet of the network processor, and the packet modifier processes instructions for generating the modified packet in the order in which the contexts were generated for each flow, without head-of-line blocking between flows.
    Type: Grant
    Filed: November 28, 2012
    Date of Patent: October 4, 2016
    Assignee: Intel Corporation
    Inventors: Steven J. Pollock, Deepak Mital, James T. Clee
  • Publication number: 20150331718
    Abstract: An network processor is described that is configured to multicast multiple data packets to one or more engines. In one or more implementations, the network processor includes an input/output adapter configured to parse a plurality of tasks. The input/output adapter includes a multicast module configured to determine a reference count value based upon a maximum multicast value of the plurality of tasks. The input/output adapter is also configured to set a reference count decrement value within the control data portion of the plurality of tasks. The reference count decrement value is based upon the maximum multicast value. The input/output adapter is also configured to decrement the reference count value by a corresponding reference count decrement value upon receiving an indication from an engine.
    Type: Application
    Filed: July 27, 2015
    Publication date: November 19, 2015
    Inventors: Deepak Mital, Joseph A. Manzella, Ritchie J. Peachey, William Burroughs
  • Patent number: 9154442
    Abstract: Described embodiments process hash operation requests of a network processor. A hash processor determines a job identifier, a corresponding hash table, and a setting of a traversal indicator for a received hash operation request that includes a desired key. The hash processor concurrently generates a read request for a first bucket of the hash table, and provides the job identifier, the key and the traversal indicator to a read return processor. The read return processor stores the key and traversal indicator in a job memory and stores, in a return memory, entries of the first bucket of the hash table. If a stored entry matches the desired key, the read return processor determines, based on the traversal indicator, whether to read a next bucket of the hash table and provides the job identifier, the matching key, and the address of the bucket containing the matching key to the hash processor.
    Type: Grant
    Filed: July 17, 2013
    Date of Patent: October 6, 2015
    Assignee: Intel Corporation
    Inventors: Deepak Mital, Mohammad Reza Hakami, William Burroughs
  • Patent number: 9152564
    Abstract: Described embodiments provide an input/output interface of a network processor that generates a request to store received packets to a system cache. If an entry associated with the received packet does not exist in the system cache, the system cache determines whether a backpressure indicator of the system cache is set. If the backpressure indicator is set, the received packet is written to the shared memory. If the backpressure indicator is not set, the system cache determines whether to evict data from the system cache in order to store the received packet. If an eviction rate of the system cache has reached a threshold, the system cache sets a backpressure indicator and writes the received packet to the shared memory. If the eviction rate has not reached the threshold, the system cache determines an available entry and writes the received packet to the available entry in the system cache.
    Type: Grant
    Filed: November 28, 2012
    Date of Patent: October 6, 2015
    Assignee: Intel Corporation
    Inventors: Deepak Mital, William Burroughs
  • Patent number: 9094219
    Abstract: An network processor is described that is configured to multicast multiple data packets to one or more engines. In one or more implementations, the network processor includes an input/output adapter configured to parse a plurality of tasks. The input/output adapter includes a multicast module configured to determine a reference count value based upon a maximum multicast value of the plurality of tasks. The input/output adapter is also configured to set a reference count decrement value within the control data portion of the plurality of tasks. The reference count decrement value is based upon the maximum multicast value. The input/output adapter is also configured to decrement the reference count value by a corresponding reference count decrement value upon receiving an indication from an engine.
    Type: Grant
    Filed: March 12, 2013
    Date of Patent: July 28, 2015
    Assignee: Intel Corporation
    Inventors: Deepak Mital, Joseph A. Manzella, Ritchie J. Peachey, William Burroughs
  • Patent number: 9081742
    Abstract: Described embodiments provide a system having a plurality of processor cores and common memory in direct communication with the cores. A source processing core communicates with a task destination core by generating a task message for the task destination core. The task source core transmits the task message directly to a receiving processing core adjacent to the task source core. If the receiving processing core is not the task destination core, the receiving processing core passes the task message unchanged to a processing core adjacent the receiving processing core. If the receiving processing core is the task destination core, the task destination core processes the message.
    Type: Grant
    Filed: May 18, 2010
    Date of Patent: July 14, 2015
    Assignee: Intel Corporation
    Inventors: David P. Sonnier, William G. Burroughs, Narender R. Vangati, Deepak Mital, Robert J. Munoz
  • Patent number: 8949838
    Abstract: Described embodiments process multiple threads of commands in a network processor. One or more tasks are generated corresponding to each received packet, and the tasks are provided to a packet processor module (MPP). A scheduler associates each received task with a command flow. A thread updater writes state data corresponding to the flow to a context memory. The scheduler determines an order of processing of the command flows. When a processing thread of a multi-thread processor is available, the thread updater loads, from the context memory, state data for at least one scheduled flow to one of the multi-thread processors. The multi-thread processor processes a next command of the flow based on the loaded state data. If the processed command requires operation of a co-processor module, the multi-thread processor sends a co-processor request and switches command processing from the first flow to a second flow.
    Type: Grant
    Filed: May 17, 2012
    Date of Patent: February 3, 2015
    Assignee: LSI Corporation
    Inventors: Deepak Mital, William Burroughs, Eran Dosh, Eyal Rosin
  • Patent number: 8949582
    Abstract: Described embodiments classify packets received by a network processor. A processing module of the network processor generates tasks corresponding to each received packet. A packet classification processor determines, independent of a flow identifier of the received task, control data corresponding to each task. A multi-thread instruction engine processes threads of instructions corresponding to received tasks, each task corresponding to a packet flow of the network processor and maintains a thread status table and a sequence counter for each flow. Active threads are tracked by the thread status table, and each status entry includes a sequence value and a flow value identifying the flow. Each sequence counter generates a sequence value for each thread by incrementing the sequence counter each time processing of a thread for the associated flow is started, and decrementing the sequence counter each time a thread for the associated flow is completed.
    Type: Grant
    Filed: November 28, 2012
    Date of Patent: February 3, 2015
    Assignee: LSI Corporation
    Inventors: Deepak Mital, James Clee, Jerry Pirog, Te Khac Ma, Steven J. Pollock
  • Patent number: 8943507
    Abstract: Described embodiments provide a packet assembler for a network processor. The network processor includes a plurality of processing modules for processing received packets into one or more processed-packet portions. A shared system memory of the network processor receives processed-packet portions corresponding to packet assemblies. Each of the packet assemblies has associated tasks. A packet assembly processor constructs an output packet for each packet assembly from the processed-packet portions in accordance with instructions from the tasks associated with the packet assembly. The packet assembly processor coordinates storage of the processed-packet portions for each output packet that is read from the system memory based on the instructions from the tasks associated with the corresponding packet assembly.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: January 27, 2015
    Inventors: Deepak Mital, James Clee, Jerry Pirog
  • Patent number: 8910171
    Abstract: Described embodiments provide a packet classifier for a network processor that generates tasks corresponding to each received packet. The packet classifier includes a scheduler to generate contexts corresponding to tasks received by the packet classifier from a plurality of processing modules of the network processor. A multi-thread instruction engine processes threads of instructions, each thread of instructions corresponding to a context received from the scheduler. A thread status manager maintains a thread status table having N entries to track up to N active threads. Each status entry includes a valid status indicator, a sequence value, and a thread indicator. A sequence counter generates a sequence value for each thread and is incremented when processing of a thread is started, and is decremented when a thread is completed, by the multi-thread instruction engine. Instructions are processed by the multi-thread instruction engine in the order in which the threads were started.
    Type: Grant
    Filed: December 21, 2010
    Date of Patent: December 9, 2014
    Assignee: LSI Corporation
    Inventors: Deepak Mital, James Clee, Jerry Pirog
  • Patent number: 8910168
    Abstract: Described embodiments generate tasks corresponding to packets received by a network processor. A source processing module sends task messages including a task identifier and a task size to a destination processing module. The destination module receives the task message and determines a queue in which to store the task. Based on a used cache counter of the queue and a number of cache lines for the received task, the destination module determines whether the queue has reached a usage threshold. If the queue has reached the threshold, the destination module sends a backpressure message to the source module. Otherwise, if the queue has not reached the threshold, the destination module accepts the received task, stores data of the received task in the queue, increments the used cache counter for the queue corresponding to the number of cache lines for the received task, and processes the received task.
    Type: Grant
    Filed: November 28, 2012
    Date of Patent: December 9, 2014
    Assignee: LSI Corporation
    Inventors: Deepak Mital, William Burroughs, Michael R. Betker
  • Patent number: 8874878
    Abstract: Described embodiments provide a packet classifier for a network processor that generates tasks corresponding to each received packet. The packet classifier includes a scheduler to generate contexts corresponding to tasks received by the packet classifier from processing modules of the network processor. The packet classifier processes threads of instructions, each thread of instructions corresponding to a context received from the scheduler, and each thread associated with a data flow. A thread status table has N entries to track up to N active threads. Each status entry includes a valid status indicator, a sequence value, a thread indicator and a flow indicator. A sequence counter generates a sequence value for each data flow of each thread and is incremented when processing of a thread is started, and is decremented when a thread is completed. Instructions are processed in the order in which the threads were started for each data flow.
    Type: Grant
    Filed: November 28, 2012
    Date of Patent: October 28, 2014
    Assignee: LSI Corporation
    Inventors: Deepak Mital, James Clee, Jerry Pirog