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_v2.arm64
|
||||
configs/example/memcheck.cfg
|
||||
configs/dram/lowp_sweep.cfg
|
||||
|
||||
@@ -127,8 +127,9 @@ system.mem_ctrls[0].page_policy = args.page_policy
|
||||
period = 250000000
|
||||
|
||||
# We specify the states in a config file input to the traffic generator.
|
||||
cfg_file_name = "configs/dram/lowp_sweep.cfg"
|
||||
cfg_file = open(cfg_file_name, 'w')
|
||||
cfg_file_name = "lowp_sweep.cfg"
|
||||
cfg_file_path = os.path.dirname(__file__) + "/" +cfg_file_name
|
||||
cfg_file = open(cfg_file_path, 'w')
|
||||
|
||||
# Get the number of banks
|
||||
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()
|
||||
|
||||
# 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
|
||||
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