US 12,260,165 B2
Systems and methods for intelligently buffer tracking for optimized dataflow within an integrated circuit architecture
Pei-Ci Wu, Millbrae, CA (US); Andrew Morten, Cupertino, CA (US); Anthony Romano, Austin, TX (US); Balaji Iyer, Austin, TX (US); Alexander Dang-Tran, Austin, TX (US); Eric Stotzer, Austin, TX (US); and David Fick, Cedar Park, TX (US)
Assigned to Mythic, Inc., Round Rock, TX (US)
Filed by Mythic, Inc., Round Rock, TX (US)
Filed on Oct. 10, 2023, as Appl. No. 18/378,384.
Application 18/378,384 is a continuation of application No. 17/339,291, filed on Jun. 4, 2021, granted, now 11,822,376.
Application 17/339,291 is a continuation of application No. 17/192,302, filed on Mar. 4, 2021, granted, now 11,068,641, issued on Jul. 20, 2021.
Claims priority of provisional application 63/028,180, filed on May 21, 2020.
Claims priority of provisional application 62/984,934, filed on Mar. 4, 2020.
Prior Publication US 2024/0037314 A1, Feb. 1, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 30/398 (2020.01); G06N 3/063 (2023.01)
CPC G06F 30/398 (2020.01) [G06N 3/063 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method for optimizing a movement of data based on state data of data buffer, the method comprising:
implementing a task scheduler that causes an execution of a target task of a pair of dependent tasks based on identifying a state of a data buffer utilized by the pair of dependent tasks,
wherein:
the task scheduler tracks either a read token or a write token that is generated based on a performance of one task of the pair of dependent tasks,
the performance of the one task includes either executing a write operation to the data buffer or executing a read operation of the data buffer, and
tracking either the read token or the write token informs the state of the data buffer; and
configuring the task scheduler based on:
(i) a task graph for a target application, and
(ii) allocations of data buffers for distinct pairs of dependent tasks of the task graph,
wherein configuring the task scheduler includes:
programming token-based launching conditions based on one or more data dependencies between the pairs of dependent tasks, that when satisfied, causes the task scheduler to cause an execution of one or more tasks of the pair of dependent tasks.