mem-ruby: changes to MESIThreeLevel, MIExample, OctopiCache
This commit changes MESIThreeLevel, MIExample, and OctopiCache so they work with this PR. It also adds MESIThreeLevel and OctopiCache to the testlib tests.
This commit is contained in:
@@ -151,6 +151,39 @@ def cache_factory(cache_class: str):
|
||||
size="16KiB",
|
||||
assoc=8,
|
||||
)
|
||||
elif cache_class == "MESIThreeLevel":
|
||||
from gem5.components.cachehierarchies.ruby.mesi_three_level_cache_hierarchy import (
|
||||
MESIThreeLevelCacheHierarchy,
|
||||
)
|
||||
|
||||
return MESIThreeLevelCacheHierarchy(
|
||||
l1i_size="32KiB",
|
||||
l1i_assoc="8",
|
||||
l1d_size="32KiB",
|
||||
l1d_assoc="8",
|
||||
l2_size="256KiB",
|
||||
l2_assoc="4",
|
||||
l3_size="16MiB",
|
||||
l3_assoc="16",
|
||||
num_l3_banks=1,
|
||||
)
|
||||
elif cache_class == "OctopiCache":
|
||||
from gem5.components.cachehierarchies.ruby.caches.prebuilt.octopi_cache.octopi import (
|
||||
OctopiCache,
|
||||
)
|
||||
|
||||
return OctopiCache(
|
||||
l1i_size="32KiB",
|
||||
l1i_assoc=8,
|
||||
l1d_size="32KiB",
|
||||
l1d_assoc=8,
|
||||
l2_size="256KiB",
|
||||
l2_assoc=4,
|
||||
l3_size="16MiB",
|
||||
l3_assoc=16,
|
||||
num_core_complexes=1,
|
||||
is_fullsystem=False,
|
||||
)
|
||||
else:
|
||||
raise ValueError(f"The cache class {cache_class} is not supported.")
|
||||
|
||||
@@ -188,6 +221,8 @@ parser.add_argument(
|
||||
"MESITwoLevel",
|
||||
"MIExample",
|
||||
"CHIL1",
|
||||
"MESIThreeLevel",
|
||||
"OctopiCache",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
@@ -77,13 +77,23 @@ def test_memory(
|
||||
config_args=[generator, generator_cores, cache, module]
|
||||
+ [memory]
|
||||
+ list(args),
|
||||
valid_isas=(constants.all_compiled_tag,),
|
||||
valid_isas=(constants.null_all_ruby,),
|
||||
valid_hosts=constants.supported_hosts,
|
||||
length=constants.quick_tag,
|
||||
)
|
||||
|
||||
|
||||
cache_classes = ["NoCache", "PrivateL1", "PrivateL1PrivateL2", "MESITwoLevel"]
|
||||
cache_classes = [
|
||||
"NoCache",
|
||||
"PrivateL1",
|
||||
"PrivateL1PrivateL2",
|
||||
"MESITwoLevel",
|
||||
"MIExample",
|
||||
"CHIL1",
|
||||
"MESIThreeLevel",
|
||||
"OctopiCache",
|
||||
]
|
||||
|
||||
memory_classes = [
|
||||
"SingleChannelDDR3_1600",
|
||||
"SingleChannelDDR3_2133",
|
||||
|
||||
Reference in New Issue
Block a user