ChampSim is a trace-based simulator for microarchitecture studies.
Ensure your Linux system is updated and has essential build tools installed. Run the following commands:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
Clone this repository or download and extract the source code:
git clone https://github.com/SomnathS09/champsim.git
Download the following trace: 403.gcc-16B.champsimtrace.xz
.
Alternatively, browse other traces on the SPEC traces page.
After downloading, create a folder named dpc3_traces
and move the downloaded trace archieve there.
(Or perform in single step using ./scripts/manage_traces.sh)
Navigate to the main directory and build ChampSim using the following command:
$ ./build_champsim.sh bimodal no no no no lru 1
$ ./build_champsim.sh ${BRANCH} ${L1I_PREFETCHER} ${L1D_PREFETCHER} ${L2C_PREFETCHER} ${LLC_PREFETCHER} ${LLC_REPLACEMENT} ${NUM_CORE}
Single-core simulation: Run simulation with run_champsim.sh
script.
Usage: ./run_champsim.sh [BINARY] [N_WARM] [N_SIM] [TRACE] [OPTION]
$ ./run_champsim.sh bimodal-no-no-no-no-lru-1core 1 10 403.gcc-16B.champsimtrace.xz
where,
${BINARY}: ChampSim binary compiled by "build_champsim.sh" (bimodal-no-no-lru-1core)
${N_WARM}: number of instructions for warmup (1 million)
${N_SIM}: number of instructinos for detailed simulation (10 million)
${TRACE}: trace name (403.gcc-16B.champsimtrace.xz)
${OPTION}: extra option for "-low_bandwidth" (src/main.cc)
Simulation results will be stored under "results_${N_SIM}M" as a form of "TRACE-BINARY-OPTION.txt".
- Refer to this Youtube video
- Refer to the original README file.