Patents by Inventor Michael L. Chu
Michael L. Chu 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: 20240111672Abstract: A processing system allocates memory to co-locate input and output operands for operations for processing in memory (PIM) execution in the same PIM-local memory while exploiting row-buffer locality and complying with conventional memory abstraction. The processing system identifies as “super rows” virtual rows that span all the banks of a memory device. Each super row has a different bank-interleaving pattern, referred to as a “color”. A group of contiguous super rows that has the same PIM-interleaving pattern is referred to as a “color group”. The processing system assigns memory addresses to each operand (e.g., vector) of an operation for PIM execution to a super row having a different color within the same color group to co-locate the operands for each PIM execution unit and uses address hashing to alternate between banks assigned to elements of a first operand and elements of a second operand of the operation.Type: ApplicationFiled: September 30, 2022Publication date: April 4, 2024Inventors: Benjamin Youngjae Cho, Armand Bahram Behroozi, Michael L. Chu, Ashwin Aji
-
Patent number: 11934827Abstract: An apparatus that manages multi-process execution in a processing-in-memory (“PIM”) device includes a gatekeeper configured to: receive an identification of one or more registered PIM processes; receive, from a process, a memory request that includes a PIM command; if the requesting process is a registered PIM process and another registered PIM process is active on the PIM device, perform a context switch of PIM state between the registered PIM processes; and issue the PIM command of the requesting process to the PIM device.Type: GrantFiled: December 20, 2021Date of Patent: March 19, 2024Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Sooraj Puthoor, Muhammad Amber Hassaan, Ashwin Aji, Michael L. Chu, Nuwan Jayasena
-
Patent number: 11934698Abstract: Process isolation for a PIM device through exclusive locking includes receiving, from a process, a call requesting ownership of a PIM device. The request includes one or more PIM configuration parameters. The exclusive locking technique also includes granting the process ownership of the PIM device responsive to determining that ownership is available. The PIM device is configured according to the PIM configuration parameters.Type: GrantFiled: December 20, 2021Date of Patent: March 19, 2024Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Sooraj Puthoor, Muhammad Amber Hassaan, Ashwin Aji, Michael L. Chu, Nuwan Jayasena
-
Publication number: 20240065836Abstract: Components for valve treatment systems are disclosed. Valve treatment systems can include a delivery system for an implantable device. The delivery system can include one or more of clasp control components slidably disposed on a catheter handle, a control element for opening and closing the implantable device, a catheter assembly with features to reduce friction with another catheter assembly, grips for attaching catheter assemblies to clamps, catheter assemblies with features that stiffen or provide variable stiffness, and catheter assemblies with one or more steering control lumens incorporated into a reinforcement layer.Type: ApplicationFiled: October 27, 2023Publication date: February 29, 2024Inventors: Michael J. Popp, Nicolas Schleiger, Kevin Gantz, George Lee Matlock, Aric Daniel Stone, Eric Robert Dixon, Charles Henry Bloodworth, IV, Gregory Scott Tyler, II, Asher L. Metchik, Robert Bowes, Waina Michelle Chu, Zachary James Zira, Steven Park
-
Patent number: 11868306Abstract: A processing system includes a processing unit and a memory device. The memory device includes a processing-in-memory (PIM) module that performs processing operations on behalf of the processing unit. An instruction set architecture (ISA) of the PIM module has fewer instructions than an ISA of the processing unit. Instructions received from the processing unit are translated such that processing resources of the PIM module are virtualized. As a result, the PIM module concurrently performs processing operations for multiple threads or applications of the processing unit.Type: GrantFiled: September 13, 2022Date of Patent: January 9, 2024Assignee: Advanced Micro Devices, Inc.Inventors: Michael L. Chu, Ashwin Aji, Muhammad Amber Hassaan
-
Publication number: 20230195459Abstract: An apparatus that manages multi-process execution in a processing-in-memory (“PIM”) device includes a gatekeeper configured to: receive an identification of one or more registered PIM processes; receive, from a process, a memory request that includes a PIM command; if the requesting process is a registered PIM process and another registered PIM process is active on the PIM device, perform a context switch of PIM state between the registered PIM processes; and issue the PIM command of the requesting process to the PIM device.Type: ApplicationFiled: December 20, 2021Publication date: June 22, 2023Inventors: SOORAJ PUTHOOR, MUHAMMAD AMBER HASSAAN, ASHWIN AJI, MICHAEL L. CHU, NUWAN JAYASENA
-
Publication number: 20230195375Abstract: Process isolation for a PIM device through exclusive locking includes receiving, from a process, a call requesting ownership of a PIM device. The request includes one or more PIM configuration parameters. The exclusive locking technique also includes granting the process ownership of the PIM device responsive to determining that ownership is available. The PIM device is configured according to the PIM configuration parameters.Type: ApplicationFiled: December 20, 2021Publication date: June 22, 2023Inventors: SOORAJ PUTHOOR, MUHAMMAD AMBER HASSAAN, ASHWIN AJI, MICHAEL L. CHU, NUWAN JAYASENA
-
Publication number: 20230195645Abstract: Process isolation for a PIM device includes: receiving, from a process, a call to allocate a virtual address space where the process stores a PIM configuration context; allocating the virtual address space including mapping a physical address space including PIM device configuration registers to the virtual address space only if the physical address space is not mapped to another process's virtual address space; and programming the PIM device configuration space according to the configuration context. When a PIM command is executed, a translation mechanism determines whether there is a valid mapping of a virtual address of the PIM command to a physical address of a PIM resource, such as a LIS entry. If a valid mapping exists, the translation is completed and the resource is accessed, but if there is not a valid mapping, the translation fails and the process is blocked from accessing the PIM resource.Type: ApplicationFiled: December 20, 2021Publication date: June 22, 2023Inventors: SOORAJ PUTHOOR, MUHAMMAD AMBER HASSAAN, ASHWIN AJI, MICHAEL L. CHU, NUWAN JAYASENA
-
Patent number: 11630994Abstract: A method of training a neural network includes, at a local computing node, receiving remote parameters from a set of one or more remote computing nodes, initiating execution of a forward pass in a local neural network in the local computing node to determine a final output based on the remote parameters, initiating execution of a backward pass in the local neural network to determine updated parameters for the local neural network, and prior to completion of the backward pass, transmitting a subset of the updated parameters to the set of remote computing nodes.Type: GrantFiled: February 17, 2018Date of Patent: April 18, 2023Assignee: Advanced Micro Devices, Inc.Inventors: Khaled Hamidouche, Michael W LeBeane, Walter B Benton, Michael L Chu
-
Publication number: 20230099163Abstract: A processing system includes a processing unit and a memory device. The memory device includes a processing-in-memory (PIM) module that performs processing operations on behalf of the processing unit. An instruction set architecture (ISA) of the PIM module has fewer instructions than an ISA of the processing unit. Instructions received from the processing unit are translated such that processing resources of the PIM module are virtualized. As a result, the PIM module concurrently performs processing operations for multiple threads or applications of the processing unit.Type: ApplicationFiled: September 13, 2022Publication date: March 30, 2023Inventors: Michael L. Chu, Ashwin Aji, Muhammad Amber Hassaan
-
Patent number: 11468001Abstract: A processing system includes a processing unit and a memory device. The memory device includes a processing-in-memory (PIM) module that performs processing operations on behalf of the processing unit. An instruction set architecture (ISA) of the PIM module has fewer instructions than an ISA of the processing unit. Instructions received from the processing unit are translated such that processing resources of the PIM module are virtualized. As a result, the PIM module concurrently performs processing operations for multiple threads or applications of the processing unit.Type: GrantFiled: March 30, 2021Date of Patent: October 11, 2022Assignee: Advanced Micro Devices, Inc.Inventors: Muhammad Amber Hassaan, Michael L. Chu, Ashwin Aji
-
Publication number: 20220318012Abstract: A processing system includes a processing unit and a memory device. The memory device includes a processing-in-memory (PIM) module that performs processing operations on behalf of the processing unit. An instruction set architecture (ISA) of the PIM module has fewer instructions than an ISA of the processing unit. Instructions received from the processing unit are translated such that processing resources of the PIM module are virtualized. As a result, the PIM module concurrently performs processing operations for multiple threads or applications of the processing unit.Type: ApplicationFiled: March 30, 2021Publication date: October 6, 2022Inventors: Muhammad Amber HASSAAN, Michael L. CHU, Ashwin AJI
-
Publication number: 20220092724Abstract: One or more processing units, such as a graphics processing unit (GPU), execute an application. A resource manager selectively allocates a first memory portion or a second memory portion to the processing units based on memory access characteristics. The first memory portion has a first latency that is lower that a second latency of the second memory portion. In some cases, the memory access characteristics indicate a latency sensitivity. In some cases, hints included in corresponding program code are used to determine the memory access characteristics. The memory access characteristics can also be determined by monitoring memory access requests, measuring a cache miss rate or a row buffer miss rate for the monitored memory access requests, and determining the memory access characteristics based on the cache miss rate or the row buffer miss rate.Type: ApplicationFiled: September 23, 2020Publication date: March 24, 2022Inventors: Niti MADAN, Michael L. CHU, Ashwin AJI
-
Patent number: 10592218Abstract: An execution environment in a computer system provides dynamic data and compute resources elasticity for user code to improve execution efficiency. The execution environment translates the user code into a runtime agnostic representation with a set of tasks. For each task, the execution environment determines a level of concurrency for executing the task based on the size of the set of input data for the task, the amount of compute resources available at the time of invocation of the task, and any context-sensitive heuristics provided by the user code.Type: GrantFiled: March 21, 2017Date of Patent: March 17, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Krishnan Varadarajan, Michael L. Chu
-
Patent number: 10585653Abstract: An execution environment in a computer system supports a declarative programming model where user code is written with a query syntax in a native programming language to express inherent parallelism in terms of data flow. The execution environment translates queries in the user code into a runtime agnostic representation and dynamically selects an execution runtime for executing the runtime agnostic representation.Type: GrantFiled: March 21, 2017Date of Patent: March 10, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Krishnan Varadarajan, Michael L. Chu
-
Patent number: 10579349Abstract: Functionality is described for providing a compiled program that can be executed in a parallel and a distributed manner by any selected runtime environment. The functionality includes a compiler module for producing the compiled program based on a dataflow representation of a program (i.e., a dataflow-expressed program). The dataflow-expressed program, in turn, includes a plurality of tasks that are connected together in a manner specified by a graph (such as a directed acyclic graph). The compiler module also involves performing static type-checking on the dataflow-expressed program to identify the presence of any mismatch errors in the dataflow-expressed program. By virtue of this approach, the above-described functionality can identify any errors in constructing the graph prior to its instantiation and execution in a runtime environment.Type: GrantFiled: September 12, 2017Date of Patent: March 3, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Krishnan Varadarajan, Michael L. Chu
-
Publication number: 20190258924Abstract: A method of training a neural network includes, at a local computing node, receiving remote parameters from a set of one or more remote computing nodes, initiating execution of a forward pass in a local neural network in the local computing node to determine a final output based on the remote parameters, initiating execution of a backward pass in the local neural network to determine updated parameters for the local neural network, and prior to completion of the backward pass, transmitting a subset of the updated parameters to the set of remote computing nodes.Type: ApplicationFiled: February 17, 2018Publication date: August 22, 2019Inventors: Khaled Hamidouche, Michael W LeBeane, Walter B Benton, Michael L Chu
-
Publication number: 20180004495Abstract: Functionality is described for providing a compiled program that can be executed in a parallel and a distributed manner by any selected runtime environment. The functionality includes a compiler module for producing the compiled program based on a dataflow representation of a program (i.e., a dataflow-expressed program). The dataflow-expressed program, in turn, includes a plurality of tasks that are connected together in a manner specified by a graph (such as a directed acyclic graph). The compiler module also involves performing static type-checking on the dataflow-expressed program to identify the presence of any mismatch errors in the dataflow-expressed program. By virtue of this approach, the above-described functionality can identify any errors in constructing the graph prior to its instantiation and execution in a runtime environment.Type: ApplicationFiled: September 12, 2017Publication date: January 4, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Krishnan Varadarajan, Michael L. Chu
-
Patent number: 9760348Abstract: Functionality is described for providing a compiled program that can be executed in a parallel and a distributed manner by any selected runtime environment. The functionality includes a compiler module for producing the compiled program based on a dataflow representation of a program (i.e., a dataflow-expressed program). The dataflow-expressed program, in turn, includes a plurality of tasks that are connected together in a manner specified by a graph (such as a directed acyclic graph). The compiler module also involves performing static type-checking on the dataflow-expressed program to identify the presence of any mismatch errors in the dataflow-expressed program. By virtue of this approach, the above-described functionality can identify any errors in constructing the graph prior to its instantiation and execution in a runtime environment.Type: GrantFiled: November 29, 2010Date of Patent: September 12, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Krishnan Varadarajan, Michael L. Chu
-
Publication number: 20170192762Abstract: An execution environment in a computer system supports a declarative programming model where user code is written with a query syntax in a native programming language to express inherent parallelism in terms of data flow. The execution environment translates queries in the user code into a runtime agnostic representation and dynamically selects an execution runtime for executing the runtime agnostic representation.Type: ApplicationFiled: March 21, 2017Publication date: July 6, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Krishnan Varadarajan, Michael L. Chu