US 12,147,811 B2
Warp scheduling method for adjusting number of schedulable warps based on load/store unit stall cycle proportion
Chung-ho Chen, Tainan (TW); Chien-ming Chiu, Tainan (TW); and Yu-hsiang Wang, Tainan (TW)
Filed by NATIONAL CHENG KUNG UNIVERSITY, Tainan (TW)
Filed on Apr. 12, 2021, as Appl. No. 17/227,422.
Claims priority of application No. 110100892 (TW), filed on Jan. 8, 2021.
Prior Publication US 2022/0220644 A1, Jul. 14, 2022
Int. Cl. G06F 9/38 (2018.01)
CPC G06F 9/3836 (2013.01) [G06F 9/3851 (2013.01); G06F 9/3888 (2023.08)] 5 Claims
OG exemplary drawing
 
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.