misc: Run pre-commit run --all-files
This ensures `isort` is applied to all files in the repo. Change-Id: Ib7ced1c924ef1639542bf0d1a01c5737f6ba43e9
This commit is contained in:
@@ -43,7 +43,6 @@ import os.path
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
import importer
|
import importer
|
||||||
|
|
||||||
from code_formatter import code_formatter
|
from code_formatter import code_formatter
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
@@ -59,8 +58,8 @@ importer.install()
|
|||||||
module = importlib.import_module(args.modpath)
|
module = importlib.import_module(args.modpath)
|
||||||
sim_object = getattr(module, sim_object_name)
|
sim_object = getattr(module, sim_object_name)
|
||||||
|
|
||||||
from m5.params import isSimObjectClass
|
|
||||||
import m5.params
|
import m5.params
|
||||||
|
from m5.params import isSimObjectClass
|
||||||
|
|
||||||
code = code_formatter()
|
code = code_formatter()
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ import os.path
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
import importer
|
import importer
|
||||||
|
|
||||||
from code_formatter import code_formatter
|
from code_formatter import code_formatter
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ import os.path
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
import importer
|
import importer
|
||||||
|
|
||||||
from code_formatter import code_formatter
|
from code_formatter import code_formatter
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ import os.path
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
import importer
|
import importer
|
||||||
|
|
||||||
from code_formatter import code_formatter
|
from code_formatter import code_formatter
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ import os.path
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
import importer
|
import importer
|
||||||
|
|
||||||
from code_formatter import code_formatter
|
from code_formatter import code_formatter
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ import os.path
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
import importer
|
import importer
|
||||||
|
|
||||||
from code_formatter import code_formatter
|
from code_formatter import code_formatter
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
|||||||
@@ -24,8 +24,14 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
from common.SysPaths import script, disk, binary
|
|
||||||
from os import environ as env
|
from os import environ as env
|
||||||
|
|
||||||
|
from common.SysPaths import (
|
||||||
|
binary,
|
||||||
|
disk,
|
||||||
|
script,
|
||||||
|
)
|
||||||
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -40,14 +40,15 @@
|
|||||||
# Configure the M5 cache hierarchy config in one place
|
# Configure the M5 cache hierarchy config in one place
|
||||||
#
|
#
|
||||||
|
|
||||||
|
from common import ObjectList
|
||||||
|
from common.Caches import *
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.runtime import get_runtime_isa
|
from gem5.runtime import get_runtime_isa
|
||||||
|
|
||||||
from common.Caches import *
|
|
||||||
from common import ObjectList
|
|
||||||
|
|
||||||
|
|
||||||
def _get_hwp(hwp_option):
|
def _get_hwp(hwp_option):
|
||||||
if hwp_option == None:
|
if hwp_option == None:
|
||||||
|
|||||||
@@ -39,6 +39,7 @@
|
|||||||
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.runtime import get_runtime_isa
|
from gem5.runtime import get_runtime_isa
|
||||||
|
|
||||||
|
|||||||
@@ -33,8 +33,8 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
from m5 import fatal
|
|
||||||
import m5.objects
|
import m5.objects
|
||||||
|
from m5 import fatal
|
||||||
|
|
||||||
|
|
||||||
def config_etrace(cpu_cls, cpu_list, options):
|
def config_etrace(cpu_cls, cpu_list, options):
|
||||||
|
|||||||
@@ -38,12 +38,13 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
from common import ObjectList
|
||||||
|
from common.Benchmarks import *
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
import m5.defines
|
import m5.defines
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.util import *
|
from m5.util import *
|
||||||
from common.Benchmarks import *
|
|
||||||
from common import ObjectList
|
|
||||||
|
|
||||||
# Populate to reflect supported os types per target ISA
|
# Populate to reflect supported os types per target ISA
|
||||||
os_types = set()
|
os_types = set()
|
||||||
|
|||||||
@@ -36,18 +36,31 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
import getpass
|
||||||
|
import operator
|
||||||
|
import os
|
||||||
|
import platform
|
||||||
|
from functools import reduce
|
||||||
|
from os import (
|
||||||
|
access,
|
||||||
|
getpid,
|
||||||
|
listdir,
|
||||||
|
makedirs,
|
||||||
|
mkdir,
|
||||||
|
stat,
|
||||||
|
)
|
||||||
|
from os.path import isdir
|
||||||
|
from os.path import join as joinpath
|
||||||
|
from pwd import getpwuid
|
||||||
|
from shutil import (
|
||||||
|
copyfile,
|
||||||
|
rmtree,
|
||||||
|
)
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.util.convert import *
|
from m5.util.convert import *
|
||||||
|
|
||||||
from functools import reduce
|
|
||||||
import operator, os, platform, getpass
|
|
||||||
from os import mkdir, makedirs, getpid, listdir, stat, access
|
|
||||||
from pwd import getpwuid
|
|
||||||
from os.path import join as joinpath
|
|
||||||
from os.path import isdir
|
|
||||||
from shutil import rmtree, copyfile
|
|
||||||
|
|
||||||
|
|
||||||
def hex_mask(terms):
|
def hex_mask(terms):
|
||||||
dec_mask = reduce(operator.or_, [2**i for i in terms], 0)
|
dec_mask = reduce(operator.or_, [2**i for i in terms], 0)
|
||||||
|
|||||||
@@ -33,9 +33,12 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
from common import (
|
||||||
|
HMC,
|
||||||
|
ObjectList,
|
||||||
|
)
|
||||||
|
|
||||||
import m5.objects
|
import m5.objects
|
||||||
from common import ObjectList
|
|
||||||
from common import HMC
|
|
||||||
|
|
||||||
|
|
||||||
def create_mem_intf(intf, r, i, intlv_bits, intlv_size, xor_low_bit):
|
def create_mem_intf(intf, r, i, intlv_bits, intlv_size, xor_low_bit):
|
||||||
@@ -174,6 +177,7 @@ def config_mem(options, system):
|
|||||||
nbr_mem_ctrls = opt_mem_channels
|
nbr_mem_ctrls = opt_mem_channels
|
||||||
|
|
||||||
import math
|
import math
|
||||||
|
|
||||||
from m5.util import fatal
|
from m5.util import fatal
|
||||||
|
|
||||||
intlv_bits = int(math.log(nbr_mem_ctrls, 2))
|
intlv_bits = int(math.log(nbr_mem_ctrls, 2))
|
||||||
|
|||||||
@@ -34,13 +34,15 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
from gem5.runtime import get_supported_isas
|
|
||||||
import m5.objects
|
|
||||||
import m5.internal.params
|
|
||||||
import inspect
|
import inspect
|
||||||
import sys
|
import sys
|
||||||
from textwrap import TextWrapper
|
from textwrap import TextWrapper
|
||||||
|
|
||||||
|
import m5.internal.params
|
||||||
|
import m5.objects
|
||||||
|
|
||||||
|
from gem5.runtime import get_supported_isas
|
||||||
|
|
||||||
|
|
||||||
class ObjectList:
|
class ObjectList:
|
||||||
"""Creates a list of objects that are sub-classes of a given class."""
|
"""Creates a list of objects that are sub-classes of a given class."""
|
||||||
|
|||||||
@@ -38,13 +38,13 @@
|
|||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
|
from common import ObjectList
|
||||||
|
from common.Benchmarks import *
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
|
||||||
from common.Benchmarks import *
|
|
||||||
from common import ObjectList
|
|
||||||
|
|
||||||
vio_9p_help = """\
|
vio_9p_help = """\
|
||||||
Enable the Virtio 9P device and set the path to share. The default 9p path is
|
Enable the Virtio 9P device and set the path to share. The default 9p path is
|
||||||
m5ou5/9p/share, and it can be changed by setting VirtIO9p.root with --param. A
|
m5ou5/9p/share, and it can be changed by setting VirtIO9p.root with --param. A
|
||||||
|
|||||||
@@ -34,12 +34,12 @@ from each class instead of only from the configuration script.
|
|||||||
# Module-level variable to track if we've called the parse_args function yet
|
# Module-level variable to track if we've called the parse_args function yet
|
||||||
called_parse_args = False
|
called_parse_args = False
|
||||||
|
|
||||||
# For fatal
|
|
||||||
import m5
|
|
||||||
|
|
||||||
# import the argument parser
|
# import the argument parser
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
|
|
||||||
|
# For fatal
|
||||||
|
import m5
|
||||||
|
|
||||||
# add the args we want to be able to control from the command line
|
# add the args we want to be able to control from the command line
|
||||||
parser = ArgumentParser()
|
parser = ArgumentParser()
|
||||||
|
|
||||||
|
|||||||
@@ -41,8 +41,10 @@ import sys
|
|||||||
from os import getcwd
|
from os import getcwd
|
||||||
from os.path import join as joinpath
|
from os.path import join as joinpath
|
||||||
|
|
||||||
from common import CpuConfig
|
from common import (
|
||||||
from common import ObjectList
|
CpuConfig,
|
||||||
|
ObjectList,
|
||||||
|
)
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
@@ -128,9 +130,12 @@ def findCptDir(options, cptdir, testsys):
|
|||||||
the appropriate directory.
|
the appropriate directory.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from os.path import isdir, exists
|
|
||||||
from os import listdir
|
|
||||||
import re
|
import re
|
||||||
|
from os import listdir
|
||||||
|
from os.path import (
|
||||||
|
exists,
|
||||||
|
isdir,
|
||||||
|
)
|
||||||
|
|
||||||
if not isdir(cptdir):
|
if not isdir(cptdir):
|
||||||
fatal("checkpoint dir %s does not exist!", cptdir)
|
fatal("checkpoint dir %s does not exist!", cptdir)
|
||||||
|
|||||||
@@ -24,7 +24,8 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import os, sys
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
config_path = os.path.dirname(os.path.abspath(__file__))
|
config_path = os.path.dirname(os.path.abspath(__file__))
|
||||||
config_root = os.path.dirname(config_path)
|
config_root = os.path.dirname(config_path)
|
||||||
|
|||||||
@@ -34,6 +34,7 @@
|
|||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
|
||||||
from .O3_ARM_v7a import O3_ARM_v7a_3
|
from .O3_ARM_v7a import O3_ARM_v7a_3
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -33,8 +33,8 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
from pkgutil import iter_modules
|
|
||||||
from importlib import import_module
|
from importlib import import_module
|
||||||
|
from pkgutil import iter_modules
|
||||||
|
|
||||||
_cpu_modules = [name for _, name, ispkg in iter_modules(__path__) if not ispkg]
|
_cpu_modules = [name for _, name, ispkg in iter_modules(__path__) if not ispkg]
|
||||||
|
|
||||||
|
|||||||
@@ -26,8 +26,15 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from os.path import basename, exists, join as joinpath, normpath
|
from os.path import (
|
||||||
from os.path import isdir, isfile, islink
|
basename,
|
||||||
|
exists,
|
||||||
|
isdir,
|
||||||
|
isfile,
|
||||||
|
islink,
|
||||||
|
)
|
||||||
|
from os.path import join as joinpath
|
||||||
|
from os.path import normpath
|
||||||
|
|
||||||
spec_dist = os.environ.get("M5_CPU2000", "/dist/m5/cpu2000")
|
spec_dist = os.environ.get("M5_CPU2000", "/dist/m5/cpu2000")
|
||||||
|
|
||||||
|
|||||||
@@ -45,25 +45,31 @@ import sys
|
|||||||
import m5
|
import m5
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.util import addToPath, fatal, warn
|
from m5.util import (
|
||||||
|
addToPath,
|
||||||
|
fatal,
|
||||||
|
warn,
|
||||||
|
)
|
||||||
from m5.util.fdthelper import *
|
from m5.util.fdthelper import *
|
||||||
|
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.runtime import get_runtime_isa
|
from gem5.runtime import get_runtime_isa
|
||||||
|
|
||||||
addToPath("../../")
|
addToPath("../../")
|
||||||
|
|
||||||
from ruby import Ruby
|
from common import (
|
||||||
|
CacheConfig,
|
||||||
|
CpuConfig,
|
||||||
|
MemConfig,
|
||||||
|
ObjectList,
|
||||||
|
Options,
|
||||||
|
Simulation,
|
||||||
|
)
|
||||||
|
from common.Benchmarks import *
|
||||||
|
from common.Caches import *
|
||||||
from common.FSConfig import *
|
from common.FSConfig import *
|
||||||
from common.SysPaths import *
|
from common.SysPaths import *
|
||||||
from common.Benchmarks import *
|
from ruby import Ruby
|
||||||
from common import Simulation
|
|
||||||
from common import CacheConfig
|
|
||||||
from common import CpuConfig
|
|
||||||
from common import MemConfig
|
|
||||||
from common import ObjectList
|
|
||||||
from common.Caches import *
|
|
||||||
from common import Options
|
|
||||||
|
|
||||||
|
|
||||||
def cmd_line_template():
|
def cmd_line_template():
|
||||||
|
|||||||
@@ -41,30 +41,36 @@
|
|||||||
# "m5 test.py"
|
# "m5 test.py"
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.params import NULL
|
from m5.params import NULL
|
||||||
from m5.util import addToPath, fatal, warn
|
from m5.util import (
|
||||||
|
addToPath,
|
||||||
|
fatal,
|
||||||
|
warn,
|
||||||
|
)
|
||||||
|
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.runtime import get_runtime_isa
|
from gem5.runtime import get_runtime_isa
|
||||||
|
|
||||||
addToPath("../../")
|
addToPath("../../")
|
||||||
|
|
||||||
from ruby import Ruby
|
from common import (
|
||||||
|
CacheConfig,
|
||||||
from common import Options
|
CpuConfig,
|
||||||
from common import Simulation
|
MemConfig,
|
||||||
from common import CacheConfig
|
ObjectList,
|
||||||
from common import CpuConfig
|
Options,
|
||||||
from common import ObjectList
|
Simulation,
|
||||||
from common import MemConfig
|
)
|
||||||
from common.FileSystemConfig import config_filesystem
|
|
||||||
from common.Caches import *
|
from common.Caches import *
|
||||||
from common.cpu2000 import *
|
from common.cpu2000 import *
|
||||||
|
from common.FileSystemConfig import config_filesystem
|
||||||
|
from ruby import Ruby
|
||||||
|
|
||||||
|
|
||||||
def get_processes(args):
|
def get_processes(args):
|
||||||
|
|||||||
@@ -33,18 +33,20 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import gzip
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import gzip
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
|
||||||
from m5.stats import periodicStatDump
|
from m5.stats import periodicStatDump
|
||||||
|
from m5.util import addToPath
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
from common import ObjectList
|
from common import (
|
||||||
from common import MemConfig
|
MemConfig,
|
||||||
|
ObjectList,
|
||||||
|
)
|
||||||
|
|
||||||
addToPath("../../util")
|
addToPath("../../util")
|
||||||
import protolib
|
import protolib
|
||||||
|
|||||||
@@ -37,13 +37,15 @@ import argparse
|
|||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
|
||||||
from m5.stats import periodicStatDump
|
from m5.stats import periodicStatDump
|
||||||
|
from m5.util import addToPath
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
from common import ObjectList
|
from common import (
|
||||||
from common import MemConfig
|
MemConfig,
|
||||||
|
ObjectList,
|
||||||
|
)
|
||||||
|
|
||||||
# This script aims at triggering low power state transitions in the DRAM
|
# This script aims at triggering low power state transitions in the DRAM
|
||||||
# controller. The traffic generator is used in DRAM mode and traffic
|
# controller. The traffic generator is used in DRAM mode and traffic
|
||||||
|
|||||||
@@ -33,18 +33,20 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import math
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import math
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
|
||||||
from m5.stats import periodicStatDump
|
from m5.stats import periodicStatDump
|
||||||
|
from m5.util import addToPath
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
from common import ObjectList
|
from common import (
|
||||||
from common import MemConfig
|
MemConfig,
|
||||||
|
ObjectList,
|
||||||
|
)
|
||||||
|
|
||||||
# this script is helpful to sweep the efficiency of a specific memory
|
# this script is helpful to sweep the efficiency of a specific memory
|
||||||
# controller configuration, by varying the number of banks accessed,
|
# controller configuration, by varying the number of banks accessed,
|
||||||
|
|||||||
@@ -27,28 +27,32 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import argparse, os, re, getpass
|
import argparse
|
||||||
import math
|
import getpass
|
||||||
import glob
|
import glob
|
||||||
import inspect
|
import inspect
|
||||||
|
import math
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
from m5.util import addToPath
|
||||||
|
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.runtime import get_runtime_isa
|
from gem5.runtime import get_runtime_isa
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
from ruby import Ruby
|
|
||||||
|
|
||||||
from common import Options
|
|
||||||
from common import Simulation
|
|
||||||
from common import GPUTLBOptions, GPUTLBConfig
|
|
||||||
|
|
||||||
import hsaTopology
|
import hsaTopology
|
||||||
from common import FileSystemConfig
|
from common import (
|
||||||
|
FileSystemConfig,
|
||||||
|
GPUTLBConfig,
|
||||||
|
GPUTLBOptions,
|
||||||
|
Options,
|
||||||
|
Simulation,
|
||||||
|
)
|
||||||
|
from ruby import Ruby
|
||||||
|
|
||||||
# Adding script options
|
# Adding script options
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
|||||||
@@ -39,24 +39,29 @@ Research Starter Kit on System Modeling. More information can be found
|
|||||||
at: http://www.arm.com/ResearchEnablement/SystemModeling
|
at: http://www.arm.com/ResearchEnablement/SystemModeling
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import argparse
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.util import addToPath
|
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.options import *
|
from m5.options import *
|
||||||
|
from m5.util import addToPath
|
||||||
|
|
||||||
from gem5.simulate.exit_event import ExitEvent
|
from gem5.simulate.exit_event import ExitEvent
|
||||||
import argparse
|
|
||||||
|
|
||||||
m5.util.addToPath("../..")
|
m5.util.addToPath("../..")
|
||||||
|
|
||||||
from common import SysPaths
|
|
||||||
from common import MemConfig
|
|
||||||
from common import ObjectList
|
|
||||||
from common.cores.arm import HPI
|
|
||||||
from common.cores.arm import O3_ARM_v7a
|
|
||||||
|
|
||||||
import devices
|
import devices
|
||||||
import workloads
|
import workloads
|
||||||
|
from common import (
|
||||||
|
MemConfig,
|
||||||
|
ObjectList,
|
||||||
|
SysPaths,
|
||||||
|
)
|
||||||
|
from common.cores.arm import (
|
||||||
|
HPI,
|
||||||
|
O3_ARM_v7a,
|
||||||
|
)
|
||||||
|
|
||||||
# Pre-defined CPU configurations. Each tuple must be ordered as : (cpu_class,
|
# Pre-defined CPU configurations. Each tuple must be ordered as : (cpu_class,
|
||||||
# l1_icache_class, l1_dcache_class, walk_cache_class, l2_Cache_class). Any of
|
# l1_icache_class, l1_dcache_class, walk_cache_class, l2_Cache_class). Any of
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ import m5
|
|||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
|
||||||
m5.util.addToPath("../../")
|
m5.util.addToPath("../../")
|
||||||
from common.Caches import *
|
|
||||||
from common import ObjectList
|
from common import ObjectList
|
||||||
|
from common.Caches import *
|
||||||
|
|
||||||
have_kvm = "ArmV8KvmCPU" in ObjectList.cpu_list.get_names()
|
have_kvm = "ArmV8KvmCPU" in ObjectList.cpu_list.get_names()
|
||||||
have_fastmodel = "FastModelCortexA76" in ObjectList.cpu_list.get_names()
|
have_fastmodel = "FastModelCortexA76" in ObjectList.cpu_list.get_names()
|
||||||
|
|||||||
@@ -39,11 +39,11 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
import fs_bigLITTLE as bL
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
|
||||||
import fs_bigLITTLE as bL
|
|
||||||
|
|
||||||
m5.util.addToPath("../../dist")
|
m5.util.addToPath("../../dist")
|
||||||
import sw
|
import sw
|
||||||
|
|
||||||
|
|||||||
@@ -34,18 +34,18 @@
|
|||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
import os
|
|
||||||
import m5
|
|
||||||
from m5.util import addToPath
|
|
||||||
from m5.objects import *
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import os
|
||||||
import shlex
|
import shlex
|
||||||
|
|
||||||
|
import m5
|
||||||
|
from m5.objects import *
|
||||||
|
from m5.util import addToPath
|
||||||
|
|
||||||
m5.util.addToPath("../..")
|
m5.util.addToPath("../..")
|
||||||
|
|
||||||
from common import ObjectList
|
|
||||||
|
|
||||||
import devices
|
import devices
|
||||||
|
from common import ObjectList
|
||||||
|
|
||||||
|
|
||||||
def get_processes(cmd):
|
def get_processes(cmd):
|
||||||
|
|||||||
@@ -39,21 +39,29 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
import m5.util
|
import m5.util
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
|
||||||
m5.util.addToPath("../../")
|
m5.util.addToPath("../../")
|
||||||
|
|
||||||
from common import FSConfig
|
|
||||||
from common import SysPaths
|
|
||||||
from common import ObjectList
|
|
||||||
from common import Options
|
|
||||||
from common.cores.arm import ex5_big, ex5_LITTLE
|
|
||||||
|
|
||||||
import devices
|
import devices
|
||||||
from devices import AtomicCluster, KvmCluster, FastmodelCluster
|
from common import (
|
||||||
|
FSConfig,
|
||||||
|
ObjectList,
|
||||||
|
Options,
|
||||||
|
SysPaths,
|
||||||
|
)
|
||||||
|
from common.cores.arm import (
|
||||||
|
ex5_big,
|
||||||
|
ex5_LITTLE,
|
||||||
|
)
|
||||||
|
from devices import (
|
||||||
|
AtomicCluster,
|
||||||
|
FastmodelCluster,
|
||||||
|
KvmCluster,
|
||||||
|
)
|
||||||
|
|
||||||
default_disk = "aarch64-ubuntu-trusty-headless.img"
|
default_disk = "aarch64-ubuntu-trusty-headless.img"
|
||||||
|
|
||||||
@@ -410,7 +418,8 @@ def build(options):
|
|||||||
system.generateDtb(system.workload.dtb_filename)
|
system.generateDtb(system.workload.dtb_filename)
|
||||||
|
|
||||||
if devices.have_fastmodel and issubclass(big_model, FastmodelCluster):
|
if devices.have_fastmodel and issubclass(big_model, FastmodelCluster):
|
||||||
from m5 import arm_fast_model as fm, systemc as sc
|
from m5 import arm_fast_model as fm
|
||||||
|
from m5 import systemc as sc
|
||||||
|
|
||||||
# setup FastModels for simulation
|
# setup FastModels for simulation
|
||||||
fm.setup_simulation("cortexa76")
|
fm.setup_simulation("cortexa76")
|
||||||
|
|||||||
@@ -39,11 +39,14 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import m5
|
|
||||||
from m5.objects import MathExprPowerModel, PowerModel
|
|
||||||
|
|
||||||
import fs_bigLITTLE as bL
|
import fs_bigLITTLE as bL
|
||||||
|
|
||||||
|
import m5
|
||||||
|
from m5.objects import (
|
||||||
|
MathExprPowerModel,
|
||||||
|
PowerModel,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class CpuPowerOn(MathExprPowerModel):
|
class CpuPowerOn(MathExprPowerModel):
|
||||||
def __init__(self, cpu_path, **kwargs):
|
def __init__(self, cpu_path, **kwargs):
|
||||||
|
|||||||
@@ -33,24 +33,28 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
import argparse
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.util import addToPath
|
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.options import *
|
from m5.options import *
|
||||||
import argparse
|
from m5.util import addToPath
|
||||||
|
|
||||||
m5.util.addToPath("../..")
|
m5.util.addToPath("../..")
|
||||||
|
|
||||||
from common import MemConfig
|
|
||||||
from common import ObjectList
|
|
||||||
from common import Options
|
|
||||||
from common import SysPaths
|
|
||||||
from common.cores.arm import O3_ARM_v7a, HPI
|
|
||||||
from ruby import Ruby
|
|
||||||
|
|
||||||
import devices
|
import devices
|
||||||
|
from common import (
|
||||||
|
MemConfig,
|
||||||
|
ObjectList,
|
||||||
|
Options,
|
||||||
|
SysPaths,
|
||||||
|
)
|
||||||
|
from common.cores.arm import (
|
||||||
|
HPI,
|
||||||
|
O3_ARM_v7a,
|
||||||
|
)
|
||||||
|
from ruby import Ruby
|
||||||
|
|
||||||
default_kernel = "vmlinux.arm64"
|
default_kernel = "vmlinux.arm64"
|
||||||
default_disk = "linaro-minimal-aarch64.img"
|
default_disk = "linaro-minimal-aarch64.img"
|
||||||
|
|||||||
@@ -38,22 +38,26 @@ Research Starter Kit on System Modeling. More information can be found
|
|||||||
at: http://www.arm.com/ResearchEnablement/SystemModeling
|
at: http://www.arm.com/ResearchEnablement/SystemModeling
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import argparse
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.util import addToPath
|
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.options import *
|
from m5.options import *
|
||||||
import argparse
|
from m5.util import addToPath
|
||||||
|
|
||||||
m5.util.addToPath("../..")
|
m5.util.addToPath("../..")
|
||||||
|
|
||||||
from common import SysPaths
|
|
||||||
from common import ObjectList
|
|
||||||
from common import MemConfig
|
|
||||||
from common.cores.arm import O3_ARM_v7a, HPI
|
|
||||||
|
|
||||||
import devices
|
import devices
|
||||||
|
from common import (
|
||||||
|
MemConfig,
|
||||||
|
ObjectList,
|
||||||
|
SysPaths,
|
||||||
|
)
|
||||||
|
from common.cores.arm import (
|
||||||
|
HPI,
|
||||||
|
O3_ARM_v7a,
|
||||||
|
)
|
||||||
|
|
||||||
default_kernel = "vmlinux.arm64"
|
default_kernel = "vmlinux.arm64"
|
||||||
default_disk = "linaro-minimal-aarch64.img"
|
default_disk = "linaro-minimal-aarch64.img"
|
||||||
|
|||||||
@@ -38,21 +38,22 @@ Research Starter Kit on System Modeling. More information can be found
|
|||||||
at: http://www.arm.com/ResearchEnablement/SystemModeling
|
at: http://www.arm.com/ResearchEnablement/SystemModeling
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
|
||||||
import m5
|
|
||||||
from m5.util import addToPath
|
|
||||||
from m5.objects import *
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import os
|
||||||
import shlex
|
import shlex
|
||||||
|
|
||||||
|
import m5
|
||||||
|
from m5.objects import *
|
||||||
|
from m5.util import addToPath
|
||||||
|
|
||||||
m5.util.addToPath("../..")
|
m5.util.addToPath("../..")
|
||||||
|
|
||||||
from common import ObjectList
|
|
||||||
from common import MemConfig
|
|
||||||
from common.cores.arm import HPI
|
|
||||||
|
|
||||||
import devices
|
import devices
|
||||||
|
from common import (
|
||||||
|
MemConfig,
|
||||||
|
ObjectList,
|
||||||
|
)
|
||||||
|
from common.cores.arm import HPI
|
||||||
|
|
||||||
# Pre-defined CPU configurations. Each tuple must be ordered as : (cpu_class,
|
# Pre-defined CPU configurations. Each tuple must be ordered as : (cpu_class,
|
||||||
# l1_icache_class, l1_dcache_class, walk_cache_class, l2_Cache_class). Any of
|
# l1_icache_class, l1_dcache_class, walk_cache_class, l2_Cache_class). Any of
|
||||||
|
|||||||
@@ -35,13 +35,17 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
import inspect
|
import inspect
|
||||||
|
|
||||||
|
from common.ObjectList import ObjectList
|
||||||
|
from common.SysPaths import (
|
||||||
|
binary,
|
||||||
|
disk,
|
||||||
|
)
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.options import *
|
from m5.options import *
|
||||||
|
|
||||||
from common.ObjectList import ObjectList
|
|
||||||
from common.SysPaths import binary, disk
|
|
||||||
|
|
||||||
|
|
||||||
class ArmBaremetal(ArmFsWorkload):
|
class ArmBaremetal(ArmFsWorkload):
|
||||||
"""Baremetal workload"""
|
"""Baremetal workload"""
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
|
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
|
||||||
traffic_gen = PyTrafficGen()
|
traffic_gen = PyTrafficGen()
|
||||||
|
|||||||
@@ -37,13 +37,18 @@
|
|||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
from m5.util import addToPath, fatal
|
from m5.util import (
|
||||||
|
addToPath,
|
||||||
|
fatal,
|
||||||
|
)
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
from common import Options
|
from common import (
|
||||||
from common import Simulation
|
MemConfig,
|
||||||
from common import MemConfig
|
Options,
|
||||||
|
Simulation,
|
||||||
|
)
|
||||||
from common.Caches import *
|
from common.Caches import *
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,11 +26,14 @@
|
|||||||
#
|
#
|
||||||
# Author: Tushar Krishna
|
# Author: Tushar Krishna
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
from m5.util import addToPath
|
||||||
import os, argparse, sys
|
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
|
|||||||
@@ -41,15 +41,15 @@ scons build/ARM/gem5.opt
|
|||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from gem5.isas import ISA
|
|
||||||
from gem5.utils.requires import requires
|
|
||||||
from gem5.resources.resource import obtain_resource
|
|
||||||
from gem5.components.memory import SingleChannelDDR3_1600
|
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.components.boards.simple_board import SimpleBoard
|
from gem5.components.boards.simple_board import SimpleBoard
|
||||||
from gem5.components.cachehierarchies.classic.no_cache import NoCache
|
from gem5.components.cachehierarchies.classic.no_cache import NoCache
|
||||||
|
from gem5.components.memory import SingleChannelDDR3_1600
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
|
from gem5.isas import ISA
|
||||||
|
from gem5.resources.resource import obtain_resource
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
# This check ensures the gem5 binary is compiled to the ARM ISA target. If not,
|
# This check ensures the gem5 binary is compiled to the ARM ISA target. If not,
|
||||||
# an exception will be thrown.
|
# an exception will be thrown.
|
||||||
|
|||||||
@@ -40,18 +40,20 @@ scons build/ARM/gem5.opt -j<NUM_CPUS>
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from gem5.isas import ISA
|
from m5.objects import (
|
||||||
from m5.objects import ArmDefaultRelease
|
ArmDefaultRelease,
|
||||||
from gem5.utils.requires import requires
|
VExpress_GEM5_Foundation,
|
||||||
from gem5.resources.resource import obtain_resource
|
)
|
||||||
from gem5.simulate.simulator import Simulator
|
|
||||||
from m5.objects import VExpress_GEM5_Foundation
|
|
||||||
from gem5.coherence_protocol import CoherenceProtocol
|
from gem5.coherence_protocol import CoherenceProtocol
|
||||||
from gem5.components.boards.arm_board import ArmBoard
|
from gem5.components.boards.arm_board import ArmBoard
|
||||||
from gem5.components.memory import DualChannelDDR4_2400
|
from gem5.components.memory import DualChannelDDR4_2400
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
|
from gem5.isas import ISA
|
||||||
|
from gem5.resources.resource import obtain_resource
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
# This runs a check to ensure the gem5 binary is compiled for ARM and the
|
# This runs a check to ensure the gem5 binary is compiled for ARM and the
|
||||||
# protocol is CHI.
|
# protocol is CHI.
|
||||||
|
|||||||
@@ -38,20 +38,23 @@ scons build/ARM_MESI_Three_Level/gem5.opt -j `nproc`
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
from m5.objects import ArmDefaultRelease, VExpress_GEM5_Foundation
|
from m5.objects import (
|
||||||
|
ArmDefaultRelease,
|
||||||
|
VExpress_GEM5_Foundation,
|
||||||
|
)
|
||||||
|
|
||||||
from gem5.utils.requires import requires
|
from gem5.coherence_protocol import CoherenceProtocol
|
||||||
from gem5.components.boards.arm_board import ArmBoard
|
from gem5.components.boards.arm_board import ArmBoard
|
||||||
from gem5.components.memory import DualChannelDDR4_2400
|
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.components.cachehierarchies.ruby.caches.mesi_three_level.octopi import (
|
from gem5.components.cachehierarchies.ruby.caches.mesi_three_level.octopi import (
|
||||||
OctopiCache,
|
OctopiCache,
|
||||||
)
|
)
|
||||||
|
from gem5.components.memory import DualChannelDDR4_2400
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.coherence_protocol import CoherenceProtocol
|
|
||||||
from gem5.simulate.simulator import Simulator
|
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
num_ccds = 1 # CCDs
|
num_ccds = 1 # CCDs
|
||||||
num_cores_per_ccd = 8 # 8 cores/CCD
|
num_cores_per_ccd = 8 # 8 cores/CCD
|
||||||
|
|||||||
@@ -46,15 +46,15 @@ scons build/RISCV/gem5.opt
|
|||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from gem5.isas import ISA
|
|
||||||
from gem5.utils.requires import requires
|
|
||||||
from gem5.resources.resource import obtain_resource
|
|
||||||
from gem5.components.memory import SingleChannelDDR3_1600
|
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.components.boards.simple_board import SimpleBoard
|
from gem5.components.boards.simple_board import SimpleBoard
|
||||||
from gem5.components.cachehierarchies.classic.no_cache import NoCache
|
from gem5.components.cachehierarchies.classic.no_cache import NoCache
|
||||||
|
from gem5.components.memory import SingleChannelDDR3_1600
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
|
from gem5.isas import ISA
|
||||||
|
from gem5.resources.resource import obtain_resource
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
# This check ensures the gem5 binary is compiled to the RISCV ISA target.
|
# This check ensures the gem5 binary is compiled to the RISCV ISA target.
|
||||||
# If not, an exception will be thrown.
|
# If not, an exception will be thrown.
|
||||||
|
|||||||
@@ -44,15 +44,16 @@ scons build/RISCV/gem5.opt
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
from gem5.isas import ISA
|
|
||||||
from gem5.utils.requires import requires
|
|
||||||
from gem5.resources.resource import obtain_resource
|
|
||||||
from gem5.components.memory import SingleChannelDDR3_1600
|
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.components.boards.simple_board import SimpleBoard
|
from gem5.components.boards.simple_board import SimpleBoard
|
||||||
from gem5.components.cachehierarchies.classic.no_cache import NoCache
|
from gem5.components.cachehierarchies.classic.no_cache import NoCache
|
||||||
|
from gem5.components.memory import SingleChannelDDR3_1600
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
|
from gem5.isas import ISA
|
||||||
|
from gem5.resources.resource import obtain_resource
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
|
||||||
|
|||||||
@@ -48,22 +48,23 @@ scons build/X86/gem5.opt
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
from gem5.components.boards.simple_board import SimpleBoard
|
||||||
|
from gem5.components.cachehierarchies.classic.no_cache import NoCache
|
||||||
|
from gem5.components.memory.single_channel import SingleChannelDDR3_1600
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
|
from gem5.isas import ISA
|
||||||
|
from gem5.resources.resource import (
|
||||||
|
SimpointResource,
|
||||||
|
obtain_resource,
|
||||||
|
)
|
||||||
|
from gem5.resources.workload import Workload
|
||||||
from gem5.simulate.exit_event import ExitEvent
|
from gem5.simulate.exit_event import ExitEvent
|
||||||
|
from gem5.simulate.exit_event_generators import save_checkpoint_generator
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import Simulator
|
||||||
from gem5.utils.requires import requires
|
from gem5.utils.requires import requires
|
||||||
from gem5.components.boards.simple_board import SimpleBoard
|
|
||||||
from gem5.components.memory.single_channel import SingleChannelDDR3_1600
|
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.isas import ISA
|
|
||||||
from gem5.resources.workload import Workload
|
|
||||||
from gem5.resources.resource import obtain_resource, SimpointResource
|
|
||||||
from pathlib import Path
|
|
||||||
from gem5.components.cachehierarchies.classic.no_cache import NoCache
|
|
||||||
from gem5.simulate.exit_event_generators import (
|
|
||||||
save_checkpoint_generator,
|
|
||||||
)
|
|
||||||
|
|
||||||
requires(isa_required=ISA.X86)
|
requires(isa_required=ISA.X86)
|
||||||
|
|
||||||
|
|||||||
@@ -52,23 +52,29 @@ scons build/X86/gem5.opt
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from gem5.simulate.exit_event import ExitEvent
|
from pathlib import Path
|
||||||
from gem5.simulate.simulator import Simulator
|
|
||||||
from gem5.utils.requires import requires
|
from m5.stats import (
|
||||||
|
dump,
|
||||||
|
reset,
|
||||||
|
)
|
||||||
|
|
||||||
|
from gem5.components.boards.simple_board import SimpleBoard
|
||||||
from gem5.components.cachehierarchies.classic.private_l1_private_l2_cache_hierarchy import (
|
from gem5.components.cachehierarchies.classic.private_l1_private_l2_cache_hierarchy import (
|
||||||
PrivateL1PrivateL2CacheHierarchy,
|
PrivateL1PrivateL2CacheHierarchy,
|
||||||
)
|
)
|
||||||
from gem5.components.boards.simple_board import SimpleBoard
|
|
||||||
from gem5.components.memory import DualChannelDDR4_2400
|
from gem5.components.memory import DualChannelDDR4_2400
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.resources.resource import SimpointResource, obtain_resource
|
from gem5.resources.resource import (
|
||||||
|
SimpointResource,
|
||||||
|
obtain_resource,
|
||||||
|
)
|
||||||
from gem5.resources.workload import Workload
|
from gem5.resources.workload import Workload
|
||||||
from gem5.resources.resource import SimpointResource
|
from gem5.simulate.exit_event import ExitEvent
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
from pathlib import Path
|
from gem5.utils.requires import requires
|
||||||
from m5.stats import reset, dump
|
|
||||||
|
|
||||||
requires(isa_required=ISA.X86)
|
requires(isa_required=ISA.X86)
|
||||||
|
|
||||||
|
|||||||
@@ -33,17 +33,17 @@ DRRAMSys simulator. Please consult 'ext/dramsys/README' on how to compile
|
|||||||
correctly. If this is not done correctly this script will run with error.
|
correctly. If this is not done correctly this script will run with error.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from gem5.isas import ISA
|
|
||||||
from gem5.utils.requires import requires
|
|
||||||
from gem5.resources.resource import obtain_resource
|
|
||||||
from gem5.components.memory import DRAMSysDDR3_1600
|
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.components.boards.simple_board import SimpleBoard
|
from gem5.components.boards.simple_board import SimpleBoard
|
||||||
from gem5.components.cachehierarchies.classic.private_l1_cache_hierarchy import (
|
from gem5.components.cachehierarchies.classic.private_l1_cache_hierarchy import (
|
||||||
PrivateL1CacheHierarchy,
|
PrivateL1CacheHierarchy,
|
||||||
)
|
)
|
||||||
|
from gem5.components.memory import DRAMSysDDR3_1600
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
|
from gem5.isas import ISA
|
||||||
|
from gem5.resources.resource import obtain_resource
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
# This check ensures the gem5 binary is compiled to the ARM ISA target. If not,
|
# This check ensures the gem5 binary is compiled to the ARM ISA target. If not,
|
||||||
# an exception will be thrown.
|
# an exception will be thrown.
|
||||||
|
|||||||
@@ -32,8 +32,8 @@ DRRAMSys simulator. Please consult 'ext/dramsys/README' on how to compile
|
|||||||
correctly. If this is not done correctly this script will run with error.
|
correctly. If this is not done correctly this script will run with error.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from gem5.components.memory.dramsys import DRAMSysMem
|
|
||||||
from gem5.components.boards.test_board import TestBoard
|
from gem5.components.boards.test_board import TestBoard
|
||||||
|
from gem5.components.memory.dramsys import DRAMSysMem
|
||||||
from gem5.components.processors.linear_generator import LinearGenerator
|
from gem5.components.processors.linear_generator import LinearGenerator
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import Simulator
|
||||||
|
|
||||||
|
|||||||
@@ -47,22 +47,22 @@ scons build/X86/gem5.opt
|
|||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from gem5.simulate.exit_event import ExitEvent
|
import argparse
|
||||||
from gem5.simulate.simulator import Simulator
|
from pathlib import Path
|
||||||
from gem5.utils.requires import requires
|
|
||||||
from gem5.components.cachehierarchies.classic.no_cache import NoCache
|
|
||||||
from gem5.components.boards.simple_board import SimpleBoard
|
from gem5.components.boards.simple_board import SimpleBoard
|
||||||
|
from gem5.components.cachehierarchies.classic.no_cache import NoCache
|
||||||
from gem5.components.memory.single_channel import SingleChannelDDR3_1600
|
from gem5.components.memory.single_channel import SingleChannelDDR3_1600
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
from pathlib import Path
|
from gem5.simulate.exit_event import ExitEvent
|
||||||
from gem5.simulate.exit_event_generators import (
|
from gem5.simulate.exit_event_generators import (
|
||||||
looppoint_save_checkpoint_generator,
|
looppoint_save_checkpoint_generator,
|
||||||
)
|
)
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
import argparse
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
requires(isa_required=ISA.X86)
|
requires(isa_required=ISA.X86)
|
||||||
|
|
||||||
|
|||||||
@@ -42,19 +42,23 @@ Usage
|
|||||||
"""
|
"""
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
from gem5.simulate.exit_event import ExitEvent
|
from m5.stats import (
|
||||||
from gem5.simulate.simulator import Simulator
|
dump,
|
||||||
from gem5.utils.requires import requires
|
reset,
|
||||||
|
)
|
||||||
|
|
||||||
|
from gem5.components.boards.simple_board import SimpleBoard
|
||||||
from gem5.components.cachehierarchies.classic.private_l1_private_l2_cache_hierarchy import (
|
from gem5.components.cachehierarchies.classic.private_l1_private_l2_cache_hierarchy import (
|
||||||
PrivateL1PrivateL2CacheHierarchy,
|
PrivateL1PrivateL2CacheHierarchy,
|
||||||
)
|
)
|
||||||
from gem5.components.boards.simple_board import SimpleBoard
|
|
||||||
from gem5.components.memory import DualChannelDDR4_2400
|
from gem5.components.memory import DualChannelDDR4_2400
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
from m5.stats import reset, dump
|
from gem5.simulate.exit_event import ExitEvent
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
requires(isa_required=ISA.X86)
|
requires(isa_required=ISA.X86)
|
||||||
|
|
||||||
|
|||||||
@@ -36,14 +36,12 @@ and this channel is driven with 32GiB/s of traffic for 1ms.
|
|||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
from m5.objects import MemorySize
|
from m5.objects import MemorySize
|
||||||
from gem5.components.boards.test_board import TestBoard
|
|
||||||
|
|
||||||
|
from gem5.components.boards.test_board import TestBoard
|
||||||
|
from gem5.components.memory.dram_interfaces.hbm import HBM_2000_4H_1x64
|
||||||
|
from gem5.components.memory.hbm import HighBandwidthMemory
|
||||||
from gem5.components.processors.linear_generator import LinearGenerator
|
from gem5.components.processors.linear_generator import LinearGenerator
|
||||||
from gem5.components.processors.random_generator import RandomGenerator
|
from gem5.components.processors.random_generator import RandomGenerator
|
||||||
|
|
||||||
from gem5.components.memory.hbm import HighBandwidthMemory
|
|
||||||
from gem5.components.memory.dram_interfaces.hbm import HBM_2000_4H_1x64
|
|
||||||
|
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import Simulator
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -41,15 +41,15 @@ scons build/POWER/gem5.opt
|
|||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from gem5.isas import ISA
|
|
||||||
from gem5.utils.requires import requires
|
|
||||||
from gem5.resources.resource import obtain_resource
|
|
||||||
from gem5.components.memory import SingleChannelDDR4_2400
|
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.components.boards.simple_board import SimpleBoard
|
from gem5.components.boards.simple_board import SimpleBoard
|
||||||
from gem5.components.cachehierarchies.classic.no_cache import NoCache
|
from gem5.components.cachehierarchies.classic.no_cache import NoCache
|
||||||
|
from gem5.components.memory import SingleChannelDDR4_2400
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
|
from gem5.isas import ISA
|
||||||
|
from gem5.resources.resource import obtain_resource
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
# This check ensures the gem5 binary is compiled to the POWER ISA target.
|
# This check ensures the gem5 binary is compiled to the POWER ISA target.
|
||||||
# If not, an exception will be thrown.
|
# If not, an exception will be thrown.
|
||||||
|
|||||||
@@ -40,16 +40,16 @@ Characteristics
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
from gem5.components.boards.riscv_board import RiscvBoard
|
from gem5.components.boards.riscv_board import RiscvBoard
|
||||||
from gem5.components.memory import SingleChannelDDR3_1600
|
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
|
||||||
from gem5.components.cachehierarchies.classic.private_l1_private_l2_cache_hierarchy import (
|
from gem5.components.cachehierarchies.classic.private_l1_private_l2_cache_hierarchy import (
|
||||||
PrivateL1PrivateL2CacheHierarchy,
|
PrivateL1PrivateL2CacheHierarchy,
|
||||||
)
|
)
|
||||||
|
from gem5.components.memory import SingleChannelDDR3_1600
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.utils.requires import requires
|
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
# Run a check to ensure the right version of gem5 is being used.
|
# Run a check to ensure the right version of gem5 is being used.
|
||||||
requires(isa_required=ISA.RISCV)
|
requires(isa_required=ISA.RISCV)
|
||||||
|
|||||||
@@ -43,14 +43,14 @@ scons build/RISCV/gem5.opt
|
|||||||
import m5
|
import m5
|
||||||
from m5.objects import Root
|
from m5.objects import Root
|
||||||
|
|
||||||
from gem5.utils.requires import requires
|
|
||||||
from gem5.components.boards.riscv_board import RiscvBoard
|
from gem5.components.boards.riscv_board import RiscvBoard
|
||||||
from gem5.components.memory import DualChannelDDR4_2400
|
from gem5.components.memory import DualChannelDDR4_2400
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.simulate.simulator import Simulator
|
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
# This runs a check to ensure the gem5 binary is compiled for RISCV.
|
# This runs a check to ensure the gem5 binary is compiled for RISCV.
|
||||||
|
|
||||||
|
|||||||
@@ -38,14 +38,14 @@ scons build/RISCV/gem5.opt
|
|||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from gem5.prebuilt.riscvmatched.riscvmatched_board import RISCVMatchedBoard
|
|
||||||
from gem5.utils.requires import requires
|
|
||||||
from gem5.isas import ISA
|
|
||||||
from gem5.simulate.simulator import Simulator
|
|
||||||
from gem5.resources.resource import obtain_resource
|
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
|
from gem5.isas import ISA
|
||||||
|
from gem5.prebuilt.riscvmatched.riscvmatched_board import RISCVMatchedBoard
|
||||||
|
from gem5.resources.resource import obtain_resource
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
requires(isa_required=ISA.RISCV)
|
requires(isa_required=ISA.RISCV)
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(
|
||||||
|
|||||||
@@ -37,10 +37,10 @@ scons build/RISCV/gem5.opt
|
|||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from gem5.isas import ISA
|
||||||
|
from gem5.prebuilt.riscvmatched.riscvmatched_board import RISCVMatchedBoard
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import Simulator
|
||||||
from gem5.prebuilt.riscvmatched.riscvmatched_board import RISCVMatchedBoard
|
|
||||||
from gem5.isas import ISA
|
|
||||||
from gem5.utils.requires import requires
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
requires(isa_required=ISA.RISCV)
|
requires(isa_required=ISA.RISCV)
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ The print statements in the script are for illustrative purposes only,
|
|||||||
and are not required to run the script.
|
and are not required to run the script.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from gem5.isas import ISA
|
||||||
|
from gem5.prebuilt.riscvmatched.riscvmatched_board import RISCVMatchedBoard
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import Simulator
|
||||||
from gem5.prebuilt.riscvmatched.riscvmatched_board import RISCVMatchedBoard
|
|
||||||
from gem5.isas import ISA
|
|
||||||
from gem5.utils.requires import requires
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
requires(isa_required=ISA.RISCV)
|
requires(isa_required=ISA.RISCV)
|
||||||
|
|||||||
@@ -48,24 +48,24 @@ scons build/X86/gem5.opt
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import time
|
|
||||||
import sys
|
import sys
|
||||||
|
import time
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import Root
|
from m5.objects import Root
|
||||||
|
|
||||||
from gem5.utils.requires import requires
|
from gem5.coherence_protocol import CoherenceProtocol
|
||||||
from gem5.components.boards.x86_board import X86Board
|
from gem5.components.boards.x86_board import X86Board
|
||||||
from gem5.components.memory import DualChannelDDR4_2400
|
from gem5.components.memory import DualChannelDDR4_2400
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_switchable_processor import (
|
from gem5.components.processors.simple_switchable_processor import (
|
||||||
SimpleSwitchableProcessor,
|
SimpleSwitchableProcessor,
|
||||||
)
|
)
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.coherence_protocol import CoherenceProtocol
|
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
from gem5.simulate.simulator import Simulator
|
|
||||||
from gem5.simulate.exit_event import ExitEvent
|
from gem5.simulate.exit_event import ExitEvent
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
requires(
|
requires(
|
||||||
isa_required=ISA.X86,
|
isa_required=ISA.X86,
|
||||||
|
|||||||
@@ -50,22 +50,23 @@ import time
|
|||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import Root
|
from m5.objects import Root
|
||||||
|
from m5.stats.gem5stats import get_simstat
|
||||||
|
from m5.util import warn
|
||||||
|
|
||||||
from gem5.utils.requires import requires
|
from gem5.coherence_protocol import CoherenceProtocol
|
||||||
from gem5.components.boards.x86_board import X86Board
|
from gem5.components.boards.x86_board import X86Board
|
||||||
from gem5.components.memory import DualChannelDDR4_2400
|
from gem5.components.memory import DualChannelDDR4_2400
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_switchable_processor import (
|
from gem5.components.processors.simple_switchable_processor import (
|
||||||
SimpleSwitchableProcessor,
|
SimpleSwitchableProcessor,
|
||||||
)
|
)
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.coherence_protocol import CoherenceProtocol
|
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import (
|
||||||
from gem5.simulate.simulator import ExitEvent
|
ExitEvent,
|
||||||
|
Simulator,
|
||||||
from m5.stats.gem5stats import get_simstat
|
)
|
||||||
from m5.util import warn
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
requires(
|
requires(
|
||||||
isa_required=ISA.X86,
|
isa_required=ISA.X86,
|
||||||
|
|||||||
@@ -50,18 +50,18 @@ import time
|
|||||||
import m5
|
import m5
|
||||||
from m5.objects import Root
|
from m5.objects import Root
|
||||||
|
|
||||||
from gem5.utils.requires import requires
|
from gem5.coherence_protocol import CoherenceProtocol
|
||||||
from gem5.components.boards.x86_board import X86Board
|
from gem5.components.boards.x86_board import X86Board
|
||||||
from gem5.components.memory import DualChannelDDR4_2400
|
from gem5.components.memory import DualChannelDDR4_2400
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_switchable_processor import (
|
from gem5.components.processors.simple_switchable_processor import (
|
||||||
SimpleSwitchableProcessor,
|
SimpleSwitchableProcessor,
|
||||||
)
|
)
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.coherence_protocol import CoherenceProtocol
|
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
from gem5.simulate.simulator import Simulator
|
|
||||||
from gem5.simulate.exit_event import ExitEvent
|
from gem5.simulate.exit_event import ExitEvent
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
# We check for the required gem5 build.
|
# We check for the required gem5 build.
|
||||||
|
|
||||||
|
|||||||
@@ -49,29 +49,33 @@ scons build/X86/gem5.opt
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import time
|
|
||||||
import os
|
|
||||||
import json
|
import json
|
||||||
|
import os
|
||||||
|
import time
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import Root
|
from m5.objects import Root
|
||||||
|
from m5.stats.gem5stats import get_simstat
|
||||||
|
from m5.util import (
|
||||||
|
fatal,
|
||||||
|
warn,
|
||||||
|
)
|
||||||
|
|
||||||
from gem5.utils.requires import requires
|
from gem5.coherence_protocol import CoherenceProtocol
|
||||||
from gem5.components.boards.x86_board import X86Board
|
from gem5.components.boards.x86_board import X86Board
|
||||||
from gem5.components.memory import DualChannelDDR4_2400
|
from gem5.components.memory import DualChannelDDR4_2400
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_switchable_processor import (
|
from gem5.components.processors.simple_switchable_processor import (
|
||||||
SimpleSwitchableProcessor,
|
SimpleSwitchableProcessor,
|
||||||
)
|
)
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.coherence_protocol import CoherenceProtocol
|
from gem5.resources.resource import (
|
||||||
from gem5.resources.resource import Resource, DiskImageResource
|
DiskImageResource,
|
||||||
from gem5.simulate.simulator import Simulator
|
Resource,
|
||||||
|
)
|
||||||
from gem5.simulate.exit_event import ExitEvent
|
from gem5.simulate.exit_event import ExitEvent
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
from m5.stats.gem5stats import get_simstat
|
from gem5.utils.requires import requires
|
||||||
from m5.util import warn
|
|
||||||
from m5.util import fatal
|
|
||||||
|
|
||||||
# We check for the required gem5 build.
|
# We check for the required gem5 build.
|
||||||
|
|
||||||
|
|||||||
@@ -47,29 +47,33 @@ scons build/X86/gem5.opt
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import time
|
|
||||||
import os
|
|
||||||
import json
|
import json
|
||||||
|
import os
|
||||||
|
import time
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import Root
|
from m5.objects import Root
|
||||||
|
from m5.stats.gem5stats import get_simstat
|
||||||
|
from m5.util import (
|
||||||
|
fatal,
|
||||||
|
warn,
|
||||||
|
)
|
||||||
|
|
||||||
from gem5.utils.requires import requires
|
from gem5.coherence_protocol import CoherenceProtocol
|
||||||
from gem5.components.boards.x86_board import X86Board
|
from gem5.components.boards.x86_board import X86Board
|
||||||
from gem5.components.memory import DualChannelDDR4_2400
|
from gem5.components.memory import DualChannelDDR4_2400
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_switchable_processor import (
|
from gem5.components.processors.simple_switchable_processor import (
|
||||||
SimpleSwitchableProcessor,
|
SimpleSwitchableProcessor,
|
||||||
)
|
)
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.coherence_protocol import CoherenceProtocol
|
from gem5.resources.resource import (
|
||||||
from gem5.resources.resource import obtain_resource, DiskImageResource
|
DiskImageResource,
|
||||||
from gem5.simulate.simulator import Simulator
|
obtain_resource,
|
||||||
|
)
|
||||||
from gem5.simulate.exit_event import ExitEvent
|
from gem5.simulate.exit_event import ExitEvent
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
from m5.stats.gem5stats import get_simstat
|
from gem5.utils.requires import requires
|
||||||
from m5.util import warn
|
|
||||||
from m5.util import fatal
|
|
||||||
|
|
||||||
# We check for the required gem5 build.
|
# We check for the required gem5 build.
|
||||||
|
|
||||||
|
|||||||
@@ -38,21 +38,21 @@ scons build/X86/gem5.opt -j`nproc`
|
|||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from gem5.utils.requires import requires
|
from gem5.coherence_protocol import CoherenceProtocol
|
||||||
from gem5.components.boards.x86_board import X86Board
|
from gem5.components.boards.x86_board import X86Board
|
||||||
from gem5.components.cachehierarchies.ruby.mesi_two_level_cache_hierarchy import (
|
from gem5.components.cachehierarchies.ruby.mesi_two_level_cache_hierarchy import (
|
||||||
MESITwoLevelCacheHierarchy,
|
MESITwoLevelCacheHierarchy,
|
||||||
)
|
)
|
||||||
from gem5.components.memory.single_channel import SingleChannelDDR4_2400
|
from gem5.components.memory.single_channel import SingleChannelDDR4_2400
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_switchable_processor import (
|
from gem5.components.processors.simple_switchable_processor import (
|
||||||
SimpleSwitchableProcessor,
|
SimpleSwitchableProcessor,
|
||||||
)
|
)
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.coherence_protocol import CoherenceProtocol
|
|
||||||
from gem5.simulate.simulator import Simulator
|
|
||||||
from gem5.simulate.exit_event import ExitEvent
|
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
|
from gem5.simulate.exit_event import ExitEvent
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
# This simulation requires using KVM with gem5 compiled for X86 simulation
|
# This simulation requires using KVM with gem5 compiled for X86 simulation
|
||||||
# and with MESI_Two_Level cache coherence protocol.
|
# and with MESI_Two_Level cache coherence protocol.
|
||||||
|
|||||||
@@ -40,18 +40,18 @@ scons build/X86/gem5.opt
|
|||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from gem5.utils.requires import requires
|
from gem5.coherence_protocol import CoherenceProtocol
|
||||||
from gem5.components.boards.x86_board import X86Board
|
from gem5.components.boards.x86_board import X86Board
|
||||||
from gem5.components.memory.single_channel import SingleChannelDDR3_1600
|
from gem5.components.memory.single_channel import SingleChannelDDR3_1600
|
||||||
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
from gem5.components.processors.simple_switchable_processor import (
|
from gem5.components.processors.simple_switchable_processor import (
|
||||||
SimpleSwitchableProcessor,
|
SimpleSwitchableProcessor,
|
||||||
)
|
)
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.coherence_protocol import CoherenceProtocol
|
|
||||||
from gem5.simulate.simulator import Simulator
|
|
||||||
from gem5.simulate.exit_event import ExitEvent
|
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
|
from gem5.simulate.exit_event import ExitEvent
|
||||||
|
from gem5.simulate.simulator import Simulator
|
||||||
|
from gem5.utils.requires import requires
|
||||||
|
|
||||||
# This runs a check to ensure the gem5 binary is compiled to X86 and to the
|
# This runs a check to ensure the gem5 binary is compiled to X86 and to the
|
||||||
# MESI Two Level coherence protocol.
|
# MESI Two Level coherence protocol.
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ from gem5.prebuilt.demo.x86_demo_board import X86DemoBoard
|
|||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
from gem5.simulate.simulator import Simulator
|
from gem5.simulate.simulator import Simulator
|
||||||
|
|
||||||
|
|
||||||
# Here we setup the board. The prebuilt X86DemoBoard allows for Full-System X86
|
# Here we setup the board. The prebuilt X86DemoBoard allows for Full-System X86
|
||||||
# simulation.
|
# simulation.
|
||||||
board = X86DemoBoard()
|
board = X86DemoBoard()
|
||||||
|
|||||||
@@ -27,13 +27,13 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
from m5.objects import *
|
|
||||||
from m5.util import fatal
|
|
||||||
|
|
||||||
from importlib import *
|
from importlib import *
|
||||||
|
|
||||||
from network import Network
|
from network import Network
|
||||||
|
|
||||||
|
from m5.objects import *
|
||||||
|
from m5.util import fatal
|
||||||
|
|
||||||
|
|
||||||
class DisjointSimple(SimpleNetwork):
|
class DisjointSimple(SimpleNetwork):
|
||||||
def __init__(self, ruby_system):
|
def __init__(self, ruby_system):
|
||||||
|
|||||||
@@ -27,14 +27,14 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
from example.gpufs.DisjointNetwork import *
|
||||||
|
from ruby import Ruby
|
||||||
|
from ruby.GPU_VIPER import *
|
||||||
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.util import fatal
|
from m5.util import fatal
|
||||||
|
|
||||||
from example.gpufs.DisjointNetwork import *
|
|
||||||
from ruby.GPU_VIPER import *
|
|
||||||
from ruby import Ruby
|
|
||||||
|
|
||||||
|
|
||||||
class DummySystem:
|
class DummySystem:
|
||||||
def __init__(self, mem_ranges):
|
def __init__(self, mem_ranges):
|
||||||
|
|||||||
@@ -27,18 +27,21 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import m5
|
|
||||||
import runfs
|
|
||||||
import tempfile
|
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
|
import tempfile
|
||||||
|
|
||||||
|
import runfs
|
||||||
from amd import AmdGPUOptions
|
from amd import AmdGPUOptions
|
||||||
from common import Options
|
from common import (
|
||||||
from common import GPUTLBOptions
|
GPUTLBOptions,
|
||||||
|
Options,
|
||||||
|
)
|
||||||
from ruby import Ruby
|
from ruby import Ruby
|
||||||
|
|
||||||
|
import m5
|
||||||
|
|
||||||
cookbook_runscript = """\
|
cookbook_runscript = """\
|
||||||
export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH
|
||||||
export HSA_ENABLE_INTERRUPT=0
|
export HSA_ENABLE_INTERRUPT=0
|
||||||
|
|||||||
@@ -27,19 +27,22 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import m5
|
|
||||||
import runfs
|
|
||||||
import base64
|
|
||||||
import tempfile
|
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
import base64
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
|
import tempfile
|
||||||
|
|
||||||
|
import runfs
|
||||||
from amd import AmdGPUOptions
|
from amd import AmdGPUOptions
|
||||||
from common import Options
|
from common import (
|
||||||
from common import GPUTLBOptions
|
GPUTLBOptions,
|
||||||
|
Options,
|
||||||
|
)
|
||||||
from ruby import Ruby
|
from ruby import Ruby
|
||||||
|
|
||||||
|
import m5
|
||||||
|
|
||||||
rodinia_runscript = """\
|
rodinia_runscript = """\
|
||||||
export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH
|
||||||
export HSA_ENABLE_INTERRUPT=0
|
export HSA_ENABLE_INTERRUPT=0
|
||||||
|
|||||||
@@ -27,18 +27,21 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import m5
|
|
||||||
import runfs
|
|
||||||
import tempfile
|
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
|
import tempfile
|
||||||
|
|
||||||
|
import runfs
|
||||||
from amd import AmdGPUOptions
|
from amd import AmdGPUOptions
|
||||||
from common import Options
|
from common import (
|
||||||
from common import GPUTLBOptions
|
GPUTLBOptions,
|
||||||
|
Options,
|
||||||
|
)
|
||||||
from ruby import Ruby
|
from ruby import Ruby
|
||||||
|
|
||||||
|
import m5
|
||||||
|
|
||||||
samples_runscript = """\
|
samples_runscript = """\
|
||||||
export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH
|
||||||
export HSA_ENABLE_INTERRUPT=0
|
export HSA_ENABLE_INTERRUPT=0
|
||||||
|
|||||||
@@ -29,8 +29,8 @@
|
|||||||
|
|
||||||
# System includes
|
# System includes
|
||||||
import argparse
|
import argparse
|
||||||
import math
|
|
||||||
import hashlib
|
import hashlib
|
||||||
|
import math
|
||||||
|
|
||||||
# gem5 related
|
# gem5 related
|
||||||
import m5
|
import m5
|
||||||
@@ -39,13 +39,15 @@ from m5.util import addToPath
|
|||||||
|
|
||||||
# gem5 options and objects
|
# gem5 options and objects
|
||||||
addToPath("../../")
|
addToPath("../../")
|
||||||
from ruby import Ruby
|
|
||||||
from common import Simulation
|
|
||||||
from common import ObjectList
|
|
||||||
from common import Options
|
|
||||||
from common import GPUTLBOptions
|
|
||||||
from common import GPUTLBConfig
|
|
||||||
from amd import AmdGPUOptions
|
from amd import AmdGPUOptions
|
||||||
|
from common import (
|
||||||
|
GPUTLBConfig,
|
||||||
|
GPUTLBOptions,
|
||||||
|
ObjectList,
|
||||||
|
Options,
|
||||||
|
Simulation,
|
||||||
|
)
|
||||||
|
from ruby import Ruby
|
||||||
|
|
||||||
# GPU FS related
|
# GPU FS related
|
||||||
from system.system import makeGpuFSSystem
|
from system.system import makeGpuFSSystem
|
||||||
|
|||||||
@@ -27,18 +27,18 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
from common import (
|
||||||
|
GPUTLBConfig,
|
||||||
|
Simulation,
|
||||||
|
)
|
||||||
|
from common.Benchmarks import *
|
||||||
|
from common.FSConfig import *
|
||||||
|
from example.gpufs.Disjoint_VIPER import *
|
||||||
|
from ruby import Ruby
|
||||||
from system.amdgpu import *
|
from system.amdgpu import *
|
||||||
|
|
||||||
from m5.util import panic
|
from m5.util import panic
|
||||||
|
|
||||||
from common.Benchmarks import *
|
|
||||||
from common.FSConfig import *
|
|
||||||
from common import GPUTLBConfig
|
|
||||||
from common import Simulation
|
|
||||||
from ruby import Ruby
|
|
||||||
|
|
||||||
from example.gpufs.Disjoint_VIPER import *
|
|
||||||
|
|
||||||
|
|
||||||
def makeGpuFSSystem(args):
|
def makeGpuFSSystem(args):
|
||||||
# Boot options are standard gem5 options plus:
|
# Boot options are standard gem5 options plus:
|
||||||
|
|||||||
@@ -27,19 +27,21 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import m5
|
|
||||||
import runfs
|
|
||||||
import base64
|
|
||||||
import tempfile
|
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
import base64
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
|
import tempfile
|
||||||
|
|
||||||
|
import runfs
|
||||||
from amd import AmdGPUOptions
|
from amd import AmdGPUOptions
|
||||||
from common import Options
|
from common import (
|
||||||
from common import GPUTLBOptions
|
GPUTLBOptions,
|
||||||
|
Options,
|
||||||
|
)
|
||||||
from ruby import Ruby
|
from ruby import Ruby
|
||||||
|
|
||||||
|
import m5
|
||||||
|
|
||||||
demo_runscript_without_checkpoint = """\
|
demo_runscript_without_checkpoint = """\
|
||||||
export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH
|
||||||
|
|||||||
@@ -30,19 +30,21 @@
|
|||||||
#
|
#
|
||||||
# Author: Éder F. Zulian
|
# Author: Éder F. Zulian
|
||||||
|
|
||||||
import sys
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import sys
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.util import *
|
from m5.util import *
|
||||||
|
|
||||||
from gem5.runtime import get_runtime_isa
|
from gem5.runtime import get_runtime_isa
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
from common import MemConfig
|
from common import (
|
||||||
from common import HMC
|
HMC,
|
||||||
|
MemConfig,
|
||||||
|
)
|
||||||
|
|
||||||
pd = "Simple 'hello world' example using HMC as main memory"
|
pd = "Simple 'hello world' example using HMC as main memory"
|
||||||
parser = argparse.ArgumentParser(description=pd)
|
parser = argparse.ArgumentParser(description=pd)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import sys
|
|
||||||
import argparse
|
import argparse
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import sys
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
@@ -9,8 +9,10 @@ from m5.util import *
|
|||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
from common import MemConfig
|
from common import (
|
||||||
from common import HMC
|
HMC,
|
||||||
|
MemConfig,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def add_options(parser):
|
def add_options(parser):
|
||||||
|
|||||||
@@ -27,14 +27,26 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import m5
|
|
||||||
|
|
||||||
import operator
|
import operator
|
||||||
from os import mkdir, makedirs, getpid, listdir, fsync
|
from os import (
|
||||||
from os.path import join as joinpath
|
fsync,
|
||||||
|
getpid,
|
||||||
|
listdir,
|
||||||
|
makedirs,
|
||||||
|
mkdir,
|
||||||
|
)
|
||||||
from os.path import isdir
|
from os.path import isdir
|
||||||
from shutil import rmtree, copyfile
|
from os.path import join as joinpath
|
||||||
from m5.util.convert import toFrequency, toMemorySize
|
from shutil import (
|
||||||
|
copyfile,
|
||||||
|
rmtree,
|
||||||
|
)
|
||||||
|
|
||||||
|
import m5
|
||||||
|
from m5.util.convert import (
|
||||||
|
toFrequency,
|
||||||
|
toMemorySize,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def file_append(path, contents):
|
def file_append(path, contents):
|
||||||
|
|||||||
@@ -33,18 +33,18 @@ Characteristics
|
|||||||
* Automatically generates the DTB file
|
* Automatically generates the DTB file
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import Root
|
from m5.objects import Root
|
||||||
|
|
||||||
from gem5.components.boards.experimental.lupv_board import LupvBoard
|
from gem5.components.boards.experimental.lupv_board import LupvBoard
|
||||||
from gem5.components.memory.single_channel import SingleChannelDDR3_1600
|
from gem5.components.memory.single_channel import SingleChannelDDR3_1600
|
||||||
from gem5.components.processors.simple_processor import SimpleProcessor
|
|
||||||
from gem5.components.processors.cpu_types import CPUTypes
|
from gem5.components.processors.cpu_types import CPUTypes
|
||||||
|
from gem5.components.processors.simple_processor import SimpleProcessor
|
||||||
from gem5.isas import ISA
|
from gem5.isas import ISA
|
||||||
from gem5.utils.requires import requires
|
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
|
from gem5.utils.requires import requires
|
||||||
import argparse
|
|
||||||
|
|
||||||
# Run a check to ensure the right version of gem5 is being used.
|
# Run a check to ensure the right version of gem5 is being used.
|
||||||
requires(isa_required=ISA.RISCV)
|
requires(isa_required=ISA.RISCV)
|
||||||
|
|||||||
@@ -45,23 +45,28 @@ from os import path
|
|||||||
import m5
|
import m5
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.util import addToPath, fatal, warn
|
from m5.util import (
|
||||||
|
addToPath,
|
||||||
|
fatal,
|
||||||
|
warn,
|
||||||
|
)
|
||||||
from m5.util.fdthelper import *
|
from m5.util.fdthelper import *
|
||||||
|
|
||||||
addToPath("../../")
|
addToPath("../../")
|
||||||
|
|
||||||
from ruby import Ruby
|
from common import (
|
||||||
|
CacheConfig,
|
||||||
|
CpuConfig,
|
||||||
|
MemConfig,
|
||||||
|
ObjectList,
|
||||||
|
Options,
|
||||||
|
Simulation,
|
||||||
|
)
|
||||||
|
from common.Benchmarks import *
|
||||||
|
from common.Caches import *
|
||||||
from common.FSConfig import *
|
from common.FSConfig import *
|
||||||
from common.SysPaths import *
|
from common.SysPaths import *
|
||||||
from common.Benchmarks import *
|
from ruby import Ruby
|
||||||
from common import Simulation
|
|
||||||
from common import CacheConfig
|
|
||||||
from common import CpuConfig
|
|
||||||
from common import MemConfig
|
|
||||||
from common import ObjectList
|
|
||||||
from common.Caches import *
|
|
||||||
from common import Options
|
|
||||||
|
|
||||||
# ------------------------- Usage Instructions ------------------------- #
|
# ------------------------- Usage Instructions ------------------------- #
|
||||||
# Common system confirguration options (cpu types, num cpus, checkpointing
|
# Common system confirguration options (cpu types, num cpus, checkpointing
|
||||||
|
|||||||
@@ -25,11 +25,14 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
from m5.util import addToPath
|
||||||
import os, argparse, sys
|
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
|
|||||||
@@ -27,11 +27,14 @@
|
|||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
from m5.util import addToPath
|
||||||
import os, argparse, sys
|
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
|
|||||||
@@ -25,11 +25,14 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
from m5.util import addToPath
|
||||||
import os, argparse, sys
|
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
|
|||||||
@@ -25,11 +25,14 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
from m5.util import addToPath
|
||||||
import os, argparse, sys
|
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,10 @@
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import SystemC_Kernel, Root
|
from m5.objects import (
|
||||||
|
Root,
|
||||||
|
SystemC_Kernel,
|
||||||
|
)
|
||||||
|
|
||||||
# pylint:disable=unused-variable
|
# pylint:disable=unused-variable
|
||||||
|
|
||||||
|
|||||||
@@ -24,15 +24,15 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
from os import path
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from os import path
|
|
||||||
|
|
||||||
# For downloading the disk image
|
# For downloading the disk image
|
||||||
from gem5.resources.resource import obtain_resource
|
from gem5.resources.resource import obtain_resource
|
||||||
|
|
||||||
import argparse
|
|
||||||
|
|
||||||
|
|
||||||
def generateMemNode(state, mem_range):
|
def generateMemNode(state, mem_range):
|
||||||
node = FdtNode(f"memory@{int(mem_range.start):x}")
|
node = FdtNode(f"memory@{int(mem_range.start):x}")
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ import m5
|
|||||||
|
|
||||||
# import all of the SimObjects
|
# import all of the SimObjects
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
|
||||||
from gem5.runtime import get_runtime_isa
|
from gem5.runtime import get_runtime_isa
|
||||||
|
|
||||||
# Add the common scripts to our path
|
# Add the common scripts to our path
|
||||||
|
|||||||
@@ -37,9 +37,11 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
|
|||||||
import math
|
import math
|
||||||
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
from m5.util import fatal, panic
|
|
||||||
|
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
from m5.util import (
|
||||||
|
fatal,
|
||||||
|
panic,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class MyCacheSystem(RubySystem):
|
class MyCacheSystem(RubySystem):
|
||||||
|
|||||||
@@ -39,9 +39,11 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
|
|||||||
import math
|
import math
|
||||||
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
from m5.util import fatal, panic
|
|
||||||
|
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
from m5.util import (
|
||||||
|
fatal,
|
||||||
|
panic,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class MyCacheSystem(RubySystem):
|
class MyCacheSystem(RubySystem):
|
||||||
|
|||||||
@@ -33,14 +33,14 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from test_caches import TestCacheSystem
|
||||||
|
|
||||||
# import the m5 (gem5) library created when gem5 is built
|
# import the m5 (gem5) library created when gem5 is built
|
||||||
import m5
|
import m5
|
||||||
|
|
||||||
# import all of the SimObjects
|
# import all of the SimObjects
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
|
||||||
from test_caches import TestCacheSystem
|
|
||||||
|
|
||||||
# create the system we are going to simulate
|
# create the system we are going to simulate
|
||||||
system = System()
|
system = System()
|
||||||
|
|
||||||
|
|||||||
@@ -34,12 +34,15 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from msi_caches import (
|
||||||
|
DirController,
|
||||||
|
L1Cache,
|
||||||
|
MyNetwork,
|
||||||
|
)
|
||||||
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
from m5.util import fatal
|
|
||||||
|
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
from m5.util import fatal
|
||||||
from msi_caches import L1Cache, DirController, MyNetwork
|
|
||||||
|
|
||||||
|
|
||||||
class TestCacheSystem(RubySystem):
|
class TestCacheSystem(RubySystem):
|
||||||
|
|||||||
@@ -25,10 +25,15 @@
|
|||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import math
|
import math
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
from m5.util import addToPath, fatal, warn
|
from m5.objects import *
|
||||||
|
from m5.util import (
|
||||||
|
addToPath,
|
||||||
|
fatal,
|
||||||
|
warn,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def define_options(parser):
|
def define_options(parser):
|
||||||
|
|||||||
@@ -33,18 +33,20 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import math
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import math
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
|
||||||
from m5.stats import periodicStatDump
|
from m5.stats import periodicStatDump
|
||||||
|
from m5.util import addToPath
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
from common import ObjectList
|
from common import (
|
||||||
from common import MemConfig
|
MemConfig,
|
||||||
|
ObjectList,
|
||||||
|
)
|
||||||
|
|
||||||
# this script is helpful to sweep the efficiency of a specific memory
|
# this script is helpful to sweep the efficiency of a specific memory
|
||||||
# controller configuration, by varying the number of banks accessed,
|
# controller configuration, by varying the number of banks accessed,
|
||||||
|
|||||||
@@ -33,18 +33,20 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import math
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import math
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
|
||||||
from m5.stats import periodicStatDump
|
from m5.stats import periodicStatDump
|
||||||
|
from m5.util import addToPath
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
from common import ObjectList
|
from common import (
|
||||||
from common import MemConfig
|
MemConfig,
|
||||||
|
ObjectList,
|
||||||
|
)
|
||||||
|
|
||||||
# this script is helpful to sweep the efficiency of a specific memory
|
# this script is helpful to sweep the efficiency of a specific memory
|
||||||
# controller configuration, by varying the number of banks accessed,
|
# controller configuration, by varying the number of banks accessed,
|
||||||
|
|||||||
@@ -28,10 +28,15 @@
|
|||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import math
|
import math
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
from m5.util import addToPath, convert
|
from m5.objects import *
|
||||||
|
from m5.util import (
|
||||||
|
addToPath,
|
||||||
|
convert,
|
||||||
|
)
|
||||||
|
|
||||||
from .CntrlBase import *
|
from .CntrlBase import *
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|||||||
@@ -34,8 +34,9 @@
|
|||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
|
from m5.objects import *
|
||||||
|
|
||||||
from .Ruby import create_topology
|
from .Ruby import create_topology
|
||||||
|
|
||||||
|
|
||||||
@@ -53,8 +54,8 @@ def define_options(parser):
|
|||||||
|
|
||||||
def read_config_file(file):
|
def read_config_file(file):
|
||||||
"""Read file as a module and return it"""
|
"""Read file as a module and return it"""
|
||||||
import types
|
|
||||||
import importlib.machinery
|
import importlib.machinery
|
||||||
|
import types
|
||||||
|
|
||||||
loader = importlib.machinery.SourceFileLoader("chi_configs", file)
|
loader = importlib.machinery.SourceFileLoader("chi_configs", file)
|
||||||
chi_configs = types.ModuleType(loader.name)
|
chi_configs = types.ModuleType(loader.name)
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ node to router binding. See configs/example/noc_config/2x4.py for an example.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import math
|
import math
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
|
|
||||||
|
|||||||
@@ -28,15 +28,22 @@
|
|||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import math
|
import math
|
||||||
|
|
||||||
|
from common import (
|
||||||
|
FileSystemConfig,
|
||||||
|
MemConfig,
|
||||||
|
ObjectList,
|
||||||
|
)
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
from m5.util import addToPath
|
||||||
from .Ruby import create_topology
|
|
||||||
from .Ruby import send_evicts
|
from .Ruby import (
|
||||||
from common import ObjectList
|
create_topology,
|
||||||
from common import MemConfig
|
send_evicts,
|
||||||
from common import FileSystemConfig
|
)
|
||||||
|
|
||||||
addToPath("../")
|
addToPath("../")
|
||||||
|
|
||||||
|
|||||||
@@ -26,10 +26,14 @@
|
|||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
from m5.objects import *
|
|
||||||
from m5.defines import buildEnv
|
from m5.defines import buildEnv
|
||||||
|
from m5.objects import *
|
||||||
from m5.util import addToPath
|
from m5.util import addToPath
|
||||||
from .Ruby import create_topology, create_directories
|
|
||||||
|
from .Ruby import (
|
||||||
|
create_directories,
|
||||||
|
create_topology,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -28,13 +28,19 @@
|
|||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import math
|
import math
|
||||||
import m5
|
|
||||||
from m5.objects import *
|
|
||||||
from m5.defines import buildEnv
|
|
||||||
from .Ruby import create_topology, create_directories
|
|
||||||
from .Ruby import send_evicts
|
|
||||||
from common import FileSystemConfig
|
from common import FileSystemConfig
|
||||||
|
|
||||||
|
import m5
|
||||||
|
from m5.defines import buildEnv
|
||||||
|
from m5.objects import *
|
||||||
|
|
||||||
|
from .Ruby import (
|
||||||
|
create_directories,
|
||||||
|
create_topology,
|
||||||
|
send_evicts,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Declare caches used by the protocol
|
# Declare caches used by the protocol
|
||||||
|
|||||||
@@ -28,13 +28,19 @@
|
|||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
import math
|
import math
|
||||||
import m5
|
|
||||||
from m5.objects import *
|
|
||||||
from m5.defines import buildEnv
|
|
||||||
from .Ruby import create_topology, create_directories
|
|
||||||
from .Ruby import send_evicts
|
|
||||||
from common import FileSystemConfig
|
from common import FileSystemConfig
|
||||||
|
|
||||||
|
import m5
|
||||||
|
from m5.defines import buildEnv
|
||||||
|
from m5.objects import *
|
||||||
|
|
||||||
|
from .Ruby import (
|
||||||
|
create_directories,
|
||||||
|
create_topology,
|
||||||
|
send_evicts,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Declare caches used by the protocol
|
# Declare caches used by the protocol
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user