CPC G06F 9/3836 (2013.01) [G06F 9/3851 (2013.01); G06F 9/3888 (2023.08)] | 5 Claims |
1. A warp scheduling method adapted in a stream multiprocessor of a graphics processing unit, the stream multiprocessor comprising a plurality of processing modules, the method comprising steps of:
storing a plurality of first warps issued to the stream multiprocessor in an instruction buffer module;
marking a plurality of second warps being schedulable in the first warps by a schedulable warp indication window, wherein a number of the marked second warps is a size of the schedulable warp indication window;
sampling a load/store unit (LSU) stall cycle at each time interval to obtain an LSU stall cycle proportion;
comparing the LSU stall cycle proportion with a stall cycle threshold value, and adjusting the size of the schedulable warp indication window and determining the second warps according to a comparison result, wherein the second warps comprise sequential warps Wi−W(i+n−1), wherein “n” is an adjusted size, “i” is a cardinal number of a 1st warp in the second warps, wherein “i” is given by a formula: i=j & (˜(n−1)), wherein i≤j≤(i+n−1), and “j” is a cardinal number of a last warp issuing a data request, wherein “i”, “j”, “n” are binary values, “&” represents a logical AND operation, and “˜” represents a logical NOT operation; and
issuing the second warps sequentially from the instruction buffer module to a corresponding one of the processing modules for execution.
|