gpu-compute: Support for dynamic register alloc
authorgauravjain14 <gjain6@wisc.edu>
Sat, 19 Oct 2019 23:51:41 +0000 (18:51 -0500)
committerMatt Sinclair <mattdsinclair@gmail.com>
Thu, 14 Jan 2021 17:04:27 +0000 (17:04 +0000)
commitc29523665e2e5baded8d1b9466bff3e92764bd0e
tree7899d4d3aeb31f356b2bed31c44aa3fa681c29bd
parent3972d9dd93994f2a908f09c7ecc14264bab682cc
gpu-compute: Support for dynamic register alloc

SimplePoolManager doesn't allow mapping of two WGs
simultaneously on the same Compute Unit (provided
the previous WG has been mapped to all the SIMDs)
even if there is sufficient VRF and SRF space
available.

DynPoolManager takes care of that by dynamically
allocating and deallocating register file space
to wavefronts

Change-Id: I2255c68d4b421615d7b231edc05d3ebb27cbd66c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/32034
Maintainer: Matt Sinclair <mattdsinclair@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Alexandru Duțu <alexandru.dutu@amd.com>
configs/example/apu_se.py
src/gpu-compute/GPU.py
src/gpu-compute/SConscript
src/gpu-compute/compute_unit.cc
src/gpu-compute/compute_unit.hh
src/gpu-compute/dyn_pool_manager.cc [new file with mode: 0644]
src/gpu-compute/dyn_pool_manager.hh [new file with mode: 0644]
src/gpu-compute/pool_manager.hh
src/gpu-compute/shader.cc
src/gpu-compute/static_register_manager_policy.cc