Skip to content

Instantly share code, notes, and snippets.

@lbiester
Last active December 9, 2019 17:45
Show Gist options
  • Save lbiester/f457e5685ec95a62a6cb2ae46733ab48 to your computer and use it in GitHub Desktop.
Save lbiester/f457e5685ec95a62a6cb2ae46733ab48 to your computer and use it in GitHub Desktop.
Prefetching Gem5/Spec Project
FROM ubuntu:18.04
# get dependencies
RUN apt-get update --fix-missing
RUN apt-get install -y build-essential git-core m4 scons zlib1g zlib1g-dev libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev swig python-dev python python-pip libboost-all-dev gcc vim libcurl4-openssl-dev
RUN apt-get clean
# copy local spec2006 archive to docker image and extract the benchmark
COPY cpu2006.tar.gz .
RUN tar xzf cpu2006.tar.gz
WORKDIR /speccpu2006-clean
RUN SPEC_DONT_ASK=1 ./install.sh
RUN . ./shrc
# checkout repo with git
WORKDIR /
RUN git clone https://github.com/lbiester/gem5
WORKDIR /gem5
# entry is in bash
ENTRYPOINT bash
# This is a sample config file. It was tested with:
#
# Compiler name/version: [gcc, 4.1 release ]
# Operating system version: [SLES9 SP3 for AMD64]
# Operating system version: [SUSE 10.1 for AMD64]
# Hardware: [Opteron]
#
# If your platform uses different versions, different
# hardware or operates in a different mode (for
# example, 32- vs. 64-bit mode), there is the possibiliy
# that this configuration file may not work as-is.
#
# Note that issues with compilation should be directed
# to the compiler vendor. Information about SPEC techncial
# support can be found in the techsupport document in the
# Docs directory of your benchmark installation.
#
# Also note that this is a sample configuration. It
# is expected to work for the environment in which
# it was tested; it is not guaranteed that this is
# the config file that will provide the best performance.
#
# At the time this was written, July 2006, gcc 4.2 had not yet been
# released. gfortran 4.2 is expected to be the first gcc compiler
# capable of running SPECfp2006. As this config file is for the
# currently released gcc 4.1, no provision is made for running SPECfp2006
#
# Note that you might find a more recent config file for
# your platform with the posted results at
# www.spec.org/cpu2006
####################################################################
# AMD64 (64-bit) FSF's gcc 4.1 config file
# Config file for CPU2006 int base only
#####################################################################
ignore_errors = yes
tune = base
ext = docker
output_format = asc
reportable = 1
teeout = yes
teerunout = yes
hw_avail = Dec-9999
license_num = 9999
test_sponsor = Turbo Computers
prepared_by =
tester =
test_date = Dec-9999
default=default=default=default:
#####################################################################
#
# Compiler selection
#
#####################################################################
CC = /usr/bin/gcc
CXX = /usr/bin/g++
FC = /usr/local/gcc41/bin/gfortran
## HW config
hw_model = Tyan Thunder KKQS Pro (S4882)
hw_cpu_name = AMD Opteron 256
hw_cpu_char =
hw_cpu_mhz = 3000
hw_fpu = Integrated
hw_nchips = 1
hw_ncores = 1
hw_ncoresperchip= 1
hw_nthreadspercore = 1
hw_ncpuorder = 1 chip
hw_pcache = 64 KB I + 64 KB D on chip per chip
hw_scache = 1 MB I+D on chip per chip
hw_tcache = None
hw_ocache = None
hw_memory = 2 GB (2 x 1GB DDR333 CL2.5)
hw_disk = SATA
hw_vendor = Tyan
## SW config
sw_os = SUSE SLES9 (for AMD64)
sw_file = ext3
sw_state = runlevel 3
sw_compiler = gcc , g++ & gfortran 4.1.0 (for AMD64)
sw_avail = Dec-9999
sw_other = None
sw_auto_parallel = No
sw_base_ptrsize = 64-bit
sw_peak_ptrsize = Not Applicable
#####################################################################
# Optimization
#####################################################################
## Base is low opt
default=base=default=default:
COPTIMIZE = -O2
CXXOPTIMIZE = -O2
FOPTIMIZE = -O2
notes0100= C base flags: -O2
notes0110= C++ base flags: -O2
notes0120= Fortran base flags: -O2
#####################################################################
# 32/64 bit Portability Flags - all
#####################################################################
default=base=default=default:
notes25= PORTABILITY=-DSPEC_CPU_LP64 is applied to all benchmarks in base.
PORTABILITY = -DSPEC_CPU_LP64
#####################################################################
# Portability Flags - INT
#####################################################################
400.perlbench=default=default=default:
# Pick one of the defines below, or the other
notes35 = 400.perlbench: -DSPEC_CPU_LINUX_X64
CPORTABILITY = -DSPEC_CPU_LINUX_X64
462.libquantum=default=default=default:
notes60= 462.libquantum: -DSPEC_CPU_LINUX
CPORTABILITY= -DSPEC_CPU_LINUX
483.xalancbmk=default=default=default:
CXXPORTABILITY= -DSPEC_CPU_LINUX
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment