gpu-compute: Added functions to choose replacement policies for GPU

Adding RP_choose functions to change replacement policies among
TreePLRU, LRU, FIFO, LFU, LIP, MRU, NRU, RRIP, SecondChance AND ShiPMem replacement
policies for TCC, TCP and SQC caches for GPU

Change-Id: If84a13babf1006ad41a557747c45d48ce2ce22a9
This commit is contained in:
Jarvis Jia
2024-06-10 15:13:05 -05:00
2 changed files with 32 additions and 19 deletions

View File

@@ -380,15 +380,27 @@ parser.add_argument(
help="Gfx version for gpuNote: gfx902 is not fully supported by ROCm",
)
parser.add_argument("--tcp-rp", type=str, default="TreePLRURP", help="cache replacement policy"
"policy for tcp")
parser.add_argument(
"--tcp-rp",
type=str,
default="TreePLRURP",
help="cache replacement policy" "policy for tcp",
)
parser.add_argument("--tcc-rp", type=str, default="TreePLRURP", help="cache replacement policy"
"policy for tcc")
parser.add_argument(
"--tcc-rp",
type=str,
default="TreePLRURP",
help="cache replacement policy" "policy for tcc",
)
# sqc rp both changes sqc rp and scalar cache rp
parser.add_argument("--sqc-rp", type=str, default="TreePLRURP", help="cache replacement policy"
"policy for sqc")
parser.add_argument(
"--sqc-rp",
type=str,
default="TreePLRURP",
help="cache replacement policy" "policy for sqc",
)
Ruby.define_options(parser)
@@ -880,9 +892,9 @@ gpu_port_idx = gpu_port_idx - args.num_cp * 2
token_port_idx = 0
for i in range(len(system.ruby._cpu_ports)):
if isinstance(system.ruby._cpu_ports[i], VIPERCoalescer):
system.cpu[shader_idx].CUs[
token_port_idx
].gmTokenPort = system.ruby._cpu_ports[i].gmTokenPort
system.cpu[shader_idx].CUs[token_port_idx].gmTokenPort = (
system.ruby._cpu_ports[i].gmTokenPort
)
token_port_idx += 1
wavefront_size = args.wf_size