US 12,079,632 B2
Sequence partition based schedule optimization
Jens Huthmann, Hyogo (JP); Sakyasingha Dasgupta, Tokyo (JP); and Nikolay Nez, Tokyo (JP)
Assigned to EDGECORTIX INC., Tokyo (JP)
Filed by EDGECORTIX INC., Tokyo (JP)
Filed on Dec. 16, 2022, as Appl. No. 18/067,016.
Prior Publication US 2024/0202001 A1, Jun. 20, 2024
Int. Cl. G06F 9/38 (2018.01); G06F 5/01 (2006.01); G06F 7/32 (2006.01)
CPC G06F 9/3838 (2013.01) [G06F 5/01 (2013.01); G06F 7/32 (2013.01); G06F 9/3856 (2023.08); G06F 9/3861 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable medium including instructions executable by a processor to cause the processor to perform operations comprising:
assigning each instruction among a plurality of instructions of a data dependency graph to a corresponding computation unit among a plurality of computation units and each buffer among a plurality of buffers of the data dependency graph to a corresponding memory unit among a plurality of memory units;
ordering the plurality of instructions and the plurality of buffers to produce a sequence;
producing a schedule based on the sequence;
dividing the sequence into a plurality of sequence partitions based on the schedule and the data dependency graph, each sequence partition including a portion of the plurality of instructions and a portion of the plurality of buffers;
performing, for each sequence partition, a plurality of partition optimizing iterations of allotting the instructions among the portion of the plurality of instructions and the buffers among the portion of the plurality of buffers in the sequence partition to intervals of time to produce a partition schedule,
restoring the sequence partition of a previous iteration in response to determining that a partition schedule of the previous iteration is more optimal than the partition schedule of a current iteration, and
mutating the sequence partition; and
merging the plurality of sequence partitions to produce a merged schedule.