Git Product home page Git Product logo

abhinavhimanshu / gem5_chips Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gt-chips/gem5_chips

0.0 2.0 0.0 33.82 MB

gem5 repository to study chiplet-based systems

License: BSD 3-Clause "New" or "Revised" License

Python 13.65% Shell 0.23% C 3.88% C++ 79.72% Makefile 0.15% CMake 0.18% M4 0.17% sed 0.01% HTML 0.31% Visual Basic 0.01% Objective-C 0.06% Scala 0.03% Assembly 1.46% Awk 0.01% Forth 0.04% Perl 0.08% Emacs Lisp 0.01% Java 0.01% Roff 0.02% Vim Script 0.01%

gem5_chips's Introduction

gem5_chips

This is a modified version of gem5 with support to model and study CHIPS systems: alt text

How to install gem5:

git clone https://github.com/GT-CHIPS/gem5_chips.git

Software packages to install gem5:

On Ubuntu, you can install all of the required dependencies with the following command.

sudo apt install build-essential git m4 scons zlib1g zlib1g-dev libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev python-dev python

git (Git):

The gem5 project uses Git for version control. Git is a distributed version control system. More information about Git can be found by following the link. Git should be installed by default on most platforms. However, to install Git in Ubuntu use

sudo apt-get install git

gcc 4.8+

You may need to use environment variables to point to a non-default version of gcc.

On Ubuntu, you can install a development environment with

sudo apt-get install build-essential

SCons

gem5 uses SCons as its build environment. SCons is like make on steroids and uses Python scripts for all aspects of the build process. This allows for a very flexible (if slow) build system.

To get SCons on Ubuntu use

sudo apt-get install scons

Python 2.7+

gem5 relies on the Python development libraries. To install these on Ubuntu use

sudo apt-get install python-dev

protobuf 2.1+

“Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data.” In gem5, the protobuf library is used for trace generation and playback. protobuf is not a required package, unless you plan on using it for trace generation and playback.

sudo apt-get install libprotobuf-dev python-protobuf protobuf-compiler libgoogle-perftools-dev

Getting the code Change directories to where you want to download the gem5 source. Then, to clone the repository, use the git clone command.

Build command

scons build/RISCV_MESI_Two_Level/gem5.opt (you can add -j N for a faster N-threaded build)

Example run commands

See my_scripts/run_demo.sh

Hello World

./build/RISCV_MESI_Two_Level/gem5.opt configs/example/se.py \
--cpu-type TimingSimpleCPU \
--num-cpus=64 \
--l1d_size=16kB \
--l1i_size=16kB \
--num-l2caches=64 \
--l2_size=128kB \
--num-dirs=4 \
--mem-size=4096MB \
--ruby \
--network=garnet2.0 \
--topology=CHIPS_Multicore_MemCtrlChiplet4 \
-c tests/test-progs/hello/bin/riscv/linux/hello

Example CHIPS Topologies

configs/topologies/CHIPS_Multicore_Monolithic.py
configs/topologies/CHIPS_Multicore_MemCtrlChiplet4.py
configs/topologies/CHIPS_Multicore_GTRocketN.py

Commandline options to modify CLIP parameters

alt text

  • --chiplet-link-latency
  • --chiplet-link-width
  • --interposer-link-latency
  • --interposer-link-width
  • --clip-logic-ifc-delay
  • --clip-phys-ifc-delay
  • --buffers-per-ctrl-vc
  • --buffers-per-data-vc

More details about gem5

Contact

Acknowledgments

gem5_chips's People

Contributors

mayank-parasar avatar tushar-krishna avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.