configs,gpu-compute,mem-ruby: connect gmTokenPorts in apu_se

This patch adds gmTokenPorts to the ComputeUnit and RubyGPUCoalescer
python classes so the gmTokenPorts can be connected in apu_se.

Change-Id: Icf3cb05c757754d6935b46f14e4b1b1d5072c4ca
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/32677
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Kyle Roarty
2020-08-13 17:27:06 -05:00
parent 17afbc2416
commit b872f02ab1
3 changed files with 5 additions and 0 deletions

View File

@@ -569,6 +569,8 @@ for i in range(n_cu):
for j in range(wavefront_size):
system.cpu[shader_idx].CUs[i].memory_port[j] = \
system.ruby._cpu_ports[gpu_port_idx].slave[j]
system.cpu[shader_idx].CUs[i].gmTokenPort = \
system.ruby._cpu_ports[gpu_port_idx].gmTokenPort
gpu_port_idx += 1
for i in range(n_cu):

View File

@@ -165,6 +165,7 @@ class ComputeUnit(ClockedObject):
sqc_tlb_port = MasterPort("Port to the TLB for the SQC (I-cache)")
scalar_port = MasterPort("Port to the scalar data cache")
scalar_tlb_port = MasterPort("Port to the TLB for the scalar data cache")
gmTokenPort = MasterPort("Port to the GPU coalesecer for sharing tokens")
perLaneTLB = Param.Bool(False, "enable per-lane TLB")
prefetch_depth = Param.Int(0, "Number of prefetches triggered at a time"\
"(0 turns off prefetching)")

View File

@@ -52,3 +52,5 @@ class RubyGPUCoalescer(RubyPort):
"max outstanding cycles for a request before " \
"deadlock/livelock declared")
garnet_standalone = Param.Bool(False, "")
gmTokenPort = SlavePort("Port to the CU for sharing tokens")