Patents by Inventor Jacob Botimer
Jacob Botimer 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: 12242380Abstract: A memory processing unit (MPU) can include a first memory, a second memory, a plurality of processing regions and control logic. The first memory can include a plurality of regions. The plurality of processing regions can be interleaved between the plurality of regions of the first memory. The processing regions can include a plurality of compute cores. The second memory can be coupled to the plurality of processing regions. The control logic can configure data flow between compute cores of one or more of the processing regions and corresponding adjacent regions of the first memory. The control logic can also configure data flow between the second memory and the compute cores of one or more of the processing regions. The control logic can also configure data flow between compute cores within one or more respective ones of the processing regions.Type: GrantFiled: September 12, 2022Date of Patent: March 4, 2025Assignee: MemryX IncorporatedInventors: Mohammed Zidan, Jacob Botimer, Timothy Wesley, Chester Liu, Zhengya Zhang, Wei Lu
-
Publication number: 20250036566Abstract: A memory processing unit (MPU) configuration method can include mapping operations of one or more neural network models to sets of cores in a plurality of processing regions. In addition, dataflow of the one or more neural network models can be mapped to the sets of cores in the plurality of processing regions. Furthermore, configuration information can be generated based on the mapping of the operations of the one or more neural network models to the set of cores in the plurality of processing regions and the mapping of dataflow of the one or more neural network models to the sets of cores in the plurality of processing regions. The method can be implemented by generating an initial graph from a neural network model. A mapping graph can then be generated from the final graph. One or more configuration files can then be generated from the mapping graph.Type: ApplicationFiled: October 17, 2024Publication date: January 30, 2025Inventors: Mohammed ZIDAN, Jacob BOTIMER, Timothy WESLEY, Chester LIU, Wei LU
-
Publication number: 20250036565Abstract: A memory processing unit (MPU) can include a first memory, a second memory, a plurality of processing regions and control logic. The first memory can include a plurality of regions. The plurality of processing regions can be interleaved between the plurality of regions of the first memory. The processing regions can include a plurality of compute cores. The second memory can be coupled to the plurality of processing regions. The control logic can configure data flow between compute cores of one or more of the processing regions and corresponding adjacent regions of the first memory. The control logic can also configure data flow between the second memory and the compute cores of one or more of the processing regions. The control logic can also configure data flow between compute cores within one or more respective ones of the processing regions. The control logic can also configure array data for storage memory of the MPU.Type: ApplicationFiled: October 16, 2024Publication date: January 30, 2025Inventors: Jacob BOTIMER, Mohammed ZIDAN, Timothy WESLEY, Chester LIU, Wei LU
-
Patent number: 12204447Abstract: A memory processing unit (MPU) configuration method can include mapping operations of one or more neural network models to sets of cores in a plurality of processing regions. In addition, dataflow of the one or more neural network models can be mapped to the sets of cores in the plurality of processing regions. Furthermore, configuration information can be generated based on the mapping of the operations of the one or more neural network models to the set of cores in the plurality of processing regions and the mapping of dataflow of the one or more neural network models to the sets of cores in the plurality of processing regions. The method can be implemented by generating an initial graph from a neural network model. A mapping graph can then be generated from the final graph. One or more configuration files can then be generated from the mapping graph.Type: GrantFiled: September 12, 2022Date of Patent: January 21, 2025Assignee: MemryX IncorporatedInventors: Mohammed Zidan, Jacob Botimer, Timothy Wesley, Chester Liu, Wei Lu
-
Publication number: 20240272821Abstract: A memory processing unit (MPU) can include a first memory, a second memory, a plurality of processing regions and control logic. The first memory can include a plurality of memory regions. The plurality of memory regions can be organized in a plurality of memory blocks. The plurality of processing regions can be interleaved between the plurality of processing regions of the first memory. The plurality of processing regions can be organized in a plurality of core groups include a plurality of compute cores. The compute groups in the processing regions can be coupled to a plurality of adjacent memory blocks in the adjacent memory regions. The second memory can be coupled to the plurality of processing regions.Type: ApplicationFiled: December 8, 2023Publication date: August 15, 2024Inventors: Timothy WESLEY, Jacob BOTIMER, Mohammed ZIDAN, Chester LIU, Wei LU
-
Publication number: 20240272797Abstract: A memory processing unit (MPU) can include a first memory including a plurality of memory regions and a plurality of processing regions. One or more of the plurality of memory regions can be configured in a corresponding pluralities of memory blocks. The memory blocks can be configured to store weights in a selected one of a plurality of bit precisions. The plurality of processing regions can be interleaved between the plurality of regions of the first memory. The processing regions can include a plurality of core groups, wherein the core groups include one or more compute cores.Type: ApplicationFiled: September 14, 2023Publication date: August 15, 2024Inventors: Jacob BOTIMER, Mohammed ZIDAN, Timothy WESLEY, Chester LIU, Wei LU
-
Publication number: 20240086257Abstract: A computing system including an application processor and a direct dataflow compute-in-memory accelerator. The direct dataflow compute-in-memory accelerator executes is configured to an execute accelerator task on accelerator data to generate an accelerator task result. An accelerator driver is configured to stream the accelerator task data from the application processor to the direct dataflow compute-in-memory architecture without placing a load on the application processor. The accelerator drive can also return the accelerator task result to the application processor.Type: ApplicationFiled: September 14, 2022Publication date: March 14, 2024Inventors: Wei LU, Keith KRESSIN, Mohammed ZIDAN, Jacob BOTIMER, Timothy WESLEY, Chester LIU
-
Publication number: 20230305807Abstract: A multi-accumulator multiply-and-accumulate (MAC) unit can include a multiplier and a plurality of accumulators. The multiplier can be configured to multiply a given element of a corresponding column of a first matrix and a plurality of elements of a corresponding row of a second matrix to generate a plurality of corresponding partial product elements that can be accumulated by corresponding ones of the plurality of accumulators.Type: ApplicationFiled: February 14, 2023Publication date: September 28, 2023Inventors: Mohammed ZIDAN, Jacob BOTIMER, Timothy WESLY, Chester LIU, Zhengya ZHANG, Wei LU
-
Publication number: 20230273729Abstract: A memory processing unit (MPU) can include a first memory, a second memory, a plurality of processing regions and control logic. The first memory can include a plurality of memory regions. The plurality of memory regions can be organized in a plurality of memory blocks. The plurality of memory regions can be configured to store integer, B-float, and/or Group B-float encode data. The plurality of processing regions can be interleaved between the plurality of processing regions of the first memory. The plurality of processing regions can be organized in a plurality of core groups include a plurality of compute cores. The compute groups in the processing regions can be coupled to a plurality of adjacent memory blocks in the adjacent memory regions. The second memory can be coupled to the plurality of processing regions.Type: ApplicationFiled: February 14, 2023Publication date: August 31, 2023Inventors: Mohammed ZIDAN, Jacob BOTIMER, Timothy WESLY, Chester LIU, Zhengya ZHANG, Wei LU
-
Publication number: 20230259282Abstract: A memory processing unit (MPU) can include a first memory, a second memory, a plurality of processing regions and control logic. The first memory can include a plurality of memory regions. The plurality of memory regions can be organized in a plurality of memory blocks. The plurality of processing regions can be interleaved between the plurality of processing regions of the first memory. The plurality of processing regions can be organized in a plurality of core groups include a plurality of compute cores. The compute groups in the processing regions can be coupled to a plurality of adjacent memory blocks in the adjacent memory regions. The second memory can be coupled to the plurality of processing regions.Type: ApplicationFiled: February 14, 2023Publication date: August 17, 2023Inventors: Mohammed ZIDAN, Jacob BOTIMER, Timothy WESLY, Chester LIU, Zhengya ZHANG, Wei LU
-
Publication number: 20230075069Abstract: A memory processing unit (MPU) can include a first memory, a second memory, a plurality of processing regions and control logic. The first memory can include a plurality of regions. The plurality of processing regions can be interleaved between the plurality of regions of the first memory. The processing regions can include a plurality of compute cores. The second memory can be coupled to the plurality of processing regions. The control logic can configure data flow between compute cores of one or more of the processing regions and corresponding adjacent regions of the first memory. The control logic can also configure data flow between the second memory and the compute cores of one or more of the processing regions. The control logic can also configure data flow between compute cores within one or more respective ones of the processing regions.Type: ApplicationFiled: September 12, 2022Publication date: March 9, 2023Inventors: Mohammed Zidan, Jacob Botimer, Timothy Wesley, Chester Liu, Zhengya Zhang, Wei Lu
-
Publication number: 20230073012Abstract: A memory processing unit (MPU) can include a first memory, a second memory, a plurality of processing regions and control logic. The first memory can include a plurality of regions. The plurality of processing regions can be interleaved between the plurality of regions of the first memory. The processing regions can include a plurality of compute cores. The second memory can be coupled to the plurality of processing regions. The control logic can configure data flow between compute cores of one or more of the processing regions and corresponding adjacent regions of the first memory. The control logic can also configure data flow between the second memory and the compute cores of one or more of the processing regions. The control logic can also configure data flow between compute cores within one or more respective ones of the processing regions. The control logic can also configure array data for storage memory of the MPU.Type: ApplicationFiled: September 12, 2022Publication date: March 9, 2023Inventors: Jacob Botimer, Mohammed Zidan, Timothy Wesley, Chester Liu, Wei Lu
-
Publication number: 20230072556Abstract: A computing system can include an off-chip memory and processing unit integrated circuitry. The processing unit IC can include on-chip compute circuitry, a first on-chip memory and a second on-chip memory. The off-chip memory can be configured to store instructions and data The first on-chip memory can be configured to store reusable portions of the instructions and or data for use by the on-chip compute circuitry. The second on-chip memory configured to cache portions of instruction and data for current use by the on-chip compute circuitry.Type: ApplicationFiled: September 13, 2022Publication date: March 9, 2023Inventors: Zih-Sing Fu, Wen-Cong Huang, Chia-Hsiang Yang, Zhengya Zhang, Timothy Wesley, Jacob Botimer
-
Publication number: 20230076473Abstract: A memory processing unit (MPU) configuration method can include mapping operations of one or more neural network models to sets of cores in a plurality of processing regions. In addition, dataflow of the one or more neural network models can be mapped to the sets of cores in the plurality of processing regions. Furthermore, configuration information can be generated based on the mapping of the operations of the one or more neural network models to the set of cores in the plurality of processing regions and the mapping of dataflow of the one or more neural network models to the sets of cores in the plurality of processing regions. The method can be implemented by generating an initial graph from a neural network model. A mapping graph can then be generated from the final graph. One or more configuration files can then be generated from the mapping graph.Type: ApplicationFiled: September 12, 2022Publication date: March 9, 2023Inventors: Mohammed ZIDAN, Jacob BOTIMER, Timothy WESLEY, Chester LIU, Wei LU
-
Publication number: 20230061711Abstract: A memory processing unit (MPU) can include a first memory, a second memory, a plurality of processing regions and control logic. The first memory can include a plurality of regions. The plurality of processing regions can be interleaved between the plurality of regions of the first memory. The processing regions can include a plurality of compute cores. The second memory can be coupled to the plurality of processing regions. The control logic can configure data flow between compute cores of one or more of the processing regions and corresponding adjacent regions of the first memory. The control logic can also configure data flow between the second memory and the compute cores of one or more of the processing regions. The control logic can also configure data flow between compute cores within one or more respective ones of the processing regions.Type: ApplicationFiled: September 12, 2022Publication date: March 2, 2023Inventors: Jacob BOTIMER, Mohammed ZIDAN, Chester LIU, Timothy WESLEY, Wei LU
-
Patent number: 11537535Abstract: A monolithic integrated circuit (IC) including one or more compute circuitry, one or more non-volatile memory circuits, one or more communication channels and one or more communication interface. The one or more communication channels can communicatively couple the one or more compute circuitry, the one or more non-volatile memory circuits and the one or more communication interface together. The one or more communication interfaces can communicatively couple one or more circuits of the monolithic integrated circuit to one or more circuits external to the monolithic integrated circuit.Type: GrantFiled: June 5, 2020Date of Patent: December 27, 2022Assignee: MemryX IncorporatedInventors: Zhengya Zhang, Mohammed Zidan, Fan-hsuan Meng, Chester Liu, Jacob Botimer, Timothy Wesley, Wei Lu
-
Publication number: 20220188492Abstract: A processing unit can include a plurality of chiplets coupled in a cascade topology by a plurality of interfaces. A set of the plurality of cascade coupled chiplets can be configured to execute a plurality of layers or blocks of layers of an artificial intelligence model. The set of cascade coupled chiplets can also be configured with parameter data of corresponding ones of the plurality of layers or blocks of layers of the artificial intelligence model.Type: ApplicationFiled: December 10, 2020Publication date: June 16, 2022Inventors: Ching-Yu KO, Chester LIU, Mohammed ZIDAN, Jacob BOTIMER, Timothy WESLEY, Zhengya ZHANG, Wei LU
-
Publication number: 20210011732Abstract: Techniques for computing matrix convolutions in a plurality of multiply and accumulate units including data reuse of adjacent values. The data reuse can include reading a current value of the first matrix in from memory for concurrent use by the plurality of multiply and accumulate units. The data reuse can also include reading a current value of the second matrix in from memory to a serial shift buffer coupled to the plurality of multiply and accumulate units. The data reuse can also include reading a current value of the second matrix in from memory for concurrent use by the plurality of multiply and accumulate units.Type: ApplicationFiled: December 31, 2019Publication date: January 14, 2021Inventors: Jacob Botimer, Mohammed Zidan, Chester Liu, Fan-hsuan Meng, Timothy Wesley, Wei Lu, Zhengya Zhang
-
Publication number: 20210011863Abstract: A monolithic integrated circuit (IC) including one or more compute circuitry, one or more non-volatile memory circuits, one or more communication channels and one or more communication interface. The one or more communication channels can communicatively couple the one or more compute circuitry, the one or more non-volatile memory circuits and the one or more communication interface together. The one or more communication interfaces can communicatively couple one or more circuits of the monolithic integrated circuit to one or more circuits external to the monolithic integrated circuit.Type: ApplicationFiled: June 5, 2020Publication date: January 14, 2021Inventors: Zhengya ZHANG, Mohammed Zidan, Fan-hsuan MENG, Chester LIU, Jacob BOTIMER, Timothy WESLEY, Wei LU