Skip to content

gem5 configuration for intel's skylake micro-architecture

Notifications You must be signed in to change notification settings

ChenBoya-prj/gem5-skylake-config

 
 

Repository files navigation

gem5 skylake config

This repo contains experiments to study performance of gem5 against a real hardware. The experiments are based on gem5art framework.

Repo structure:

  • gem5-configs: contains gem5 configs for skylake micro-architecture.
    • system/core.py: contains the below CPU classes.
      • UnCalibCPU: configured based on the documentation available for the micro-architecture.
      • CalibCPU: considering the absence of certain features in gem5, for example, gem5 doesn't support micro-op fusion and micro-op cache, this configuration offsets those difficiencies by improving some other parameters.
      • MaxCPU: models a CPU with maximum pipeline widths, minimum pipeline and instruction latencies.
    • system/caches.py: configuration based on classic cache model.
    • system/system.py: connects core and memory together to form a system.
    • run.py: script to pass parameters to the system.
  • results: contains the experiment's results.
  • launch_experiment.py: script to launch the experiments.

Running experiments:

We are using microbenchmarks for validating the performance and this tutorial explains how to setup experiements with these benchmarks. We are using intel's PCM to measure the hardware counter values, this repo explains how to use PCM for these benchmarks.

References:

These are primary references for skylake micro-architecture.

These are for configuring a micro-architecture in gem5

About

gem5 configuration for intel's skylake micro-architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 97.8%
  • Python 2.2%