tests: Migrated 80.dram scons-based tests to testlib framework
"configs/dram/low_power_sweep.py" has been modified to keep the generated "lowp_sweep.cfg" file in "configs/dram". This generated file is now ignored by git. Change-Id: I700d04944fee58f8a506c71fd474b84024ec4374 Jira: https://gem5.atlassian.net/browse/GEM5-109 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25923 Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu> Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -29,3 +29,4 @@ m5out
|
|||||||
/system/arm/bootloader/arm64/boot_emm.arm64
|
/system/arm/bootloader/arm64/boot_emm.arm64
|
||||||
/system/arm/bootloader/arm64/boot_v2.arm64
|
/system/arm/bootloader/arm64/boot_v2.arm64
|
||||||
configs/example/memcheck.cfg
|
configs/example/memcheck.cfg
|
||||||
|
configs/dram/lowp_sweep.cfg
|
||||||
|
|||||||
@@ -127,8 +127,9 @@ system.mem_ctrls[0].page_policy = args.page_policy
|
|||||||
period = 250000000
|
period = 250000000
|
||||||
|
|
||||||
# We specify the states in a config file input to the traffic generator.
|
# We specify the states in a config file input to the traffic generator.
|
||||||
cfg_file_name = "configs/dram/lowp_sweep.cfg"
|
cfg_file_name = "lowp_sweep.cfg"
|
||||||
cfg_file = open(cfg_file_name, 'w')
|
cfg_file_path = os.path.dirname(__file__) + "/" +cfg_file_name
|
||||||
|
cfg_file = open(cfg_file_path, 'w')
|
||||||
|
|
||||||
# Get the number of banks
|
# Get the number of banks
|
||||||
nbr_banks = int(system.mem_ctrls[0].banks_per_rank.value)
|
nbr_banks = int(system.mem_ctrls[0].banks_per_rank.value)
|
||||||
@@ -214,7 +215,7 @@ cfg_file.write("TRANSITION %d %d 1\n" % (nxt_state, nxt_state))
|
|||||||
cfg_file.close()
|
cfg_file.close()
|
||||||
|
|
||||||
# create a traffic generator, and point it to the file we just created
|
# create a traffic generator, and point it to the file we just created
|
||||||
system.tgen = TrafficGen(config_file = cfg_file_name)
|
system.tgen = TrafficGen(config_file = cfg_file_path)
|
||||||
|
|
||||||
# add a communication monitor
|
# add a communication monitor
|
||||||
system.monitor = CommMonitor()
|
system.monitor = CommMonitor()
|
||||||
|
|||||||
14
tests/gem5/dram-lowp/ref/simout
Normal file
14
tests/gem5/dram-lowp/ref/simout
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
gem5 Simulator System. http://gem5.org
|
||||||
|
gem5 is copyrighted software; use the --copyright option for details.
|
||||||
|
|
||||||
|
|
||||||
|
Global frequency set at 1000000000000 ticks per second
|
||||||
|
--- Done DRAM low power sweep ---
|
||||||
|
Fixed params -
|
||||||
|
burst: 64, banks: 16, max stride: 512, itt min: 3332.0 ns
|
||||||
|
Swept params -
|
||||||
|
itt max multiples input: [1, 20, 100]
|
||||||
|
itt max values [46993.0, 939860.0, 4699300.0]
|
||||||
|
bank utilization values [1, 8, 16]
|
||||||
|
stride values: [64, 256, 512]
|
||||||
|
Traffic gen config file: lowp_sweep.cfg
|
||||||
51
tests/gem5/dram-lowp/test_dram_lowp.py
Normal file
51
tests/gem5/dram-lowp/test_dram_lowp.py
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
# Copyright (c) 2020 The Regents of the University of California
|
||||||
|
# All Rights Reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions are
|
||||||
|
# met: redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer;
|
||||||
|
# redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution;
|
||||||
|
# neither the name of the copyright holders nor the names of its
|
||||||
|
# contributors may be used to endorse or promote products derived from
|
||||||
|
# this software without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
from testlib import *
|
||||||
|
|
||||||
|
verifiers = (
|
||||||
|
verifier.MatchStdoutNoPerf(joinpath(getcwd(), 'ref', 'simout')),
|
||||||
|
)
|
||||||
|
|
||||||
|
gem5_verify_config(
|
||||||
|
name='test-low_power-close_adaptive',
|
||||||
|
fixtures=(),
|
||||||
|
verifiers=verifiers,
|
||||||
|
config=joinpath(config.base_dir, 'configs', 'dram','low_power_sweep.py'),
|
||||||
|
config_args=['-p', 'close_adaptive', '-r', '2'],
|
||||||
|
valid_isas=('NULL',),
|
||||||
|
valid_hosts=constants.supported_hosts,
|
||||||
|
)
|
||||||
|
|
||||||
|
gem5_verify_config(
|
||||||
|
name='test-low_power-open_adaptive',
|
||||||
|
fixtures=(),
|
||||||
|
verifiers=verifiers,
|
||||||
|
config=joinpath(config.base_dir, 'configs', 'dram','low_power_sweep.py'),
|
||||||
|
config_args=['-p', 'open_adaptive', '-r', '2'],
|
||||||
|
valid_isas=('NULL',),
|
||||||
|
valid_hosts=constants.supported_hosts,
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user