Coder Social home page Coder Social logo

mingzhe-zhang / mcsima-plus-camat Goto Github PK

View Code? Open in Web Editor NEW

This project forked from agyaglikci/mcsima-plus

0.0 0.0 0.0 73.76 MB

Python 0.39% C 3.72% Makefile 0.11% C++ 20.58% Shell 0.02% HTML 74.25% CSS 0.06% Perl 0.03% PHP 0.07% Assembly 0.74% Ruby 0.01% C# 0.01% Objective-C 0.01%

mcsima-plus-camat's Introduction

README
------

McSimA+ [1] models x86-based asymmetric manycore microarchitectures
for both core and uncore subsystems, including a full spectrum of
asymmetric cores from single-threaded to multithreaded and from in-
order to out-of-order, sophisticated cache hierarchies, coherence
hardware, on-chip interconnects, memory controllers, and main memory.
McSimA+ was once called McSim, when Jung Ho Ahn started to develop
the simulator at HP Labs. Please contact Jung Ho Ahn ([email protected])
for technical questions.


Requirements
------------

McSimA+ utilizes the user-level pthread library by Pan et al. [2],
which is implemented on top of Pin.  McSimA+ requires Pin, a dynamic
instrumentation tool, so download Pin at http://www.pintool.org.
As of now, McSimA+ is developed and tested in the Linux environment.


How to compile
--------------

1. Download Pin at http://www.pintool.org and unzip it.
2. Download McSimA+ and unzip it.  Now we assume that
 - McSimA+ is located at: /home/scale/
 - Pin is located at:     /home/scale/pin/
3. Compile McSimA+ by
 - cd /home/scale/McSim
 - make INCS=-I/home/scale/pin/extras/xed2-intel64/include -j 8
 - McSimA+ needs snappy compression library from Google.
  = http://code.google.com/p/snappy/
  = please install and setup proper environmental variables such as
    export LD_LIBRARY_PATH=/usr/local/lib:
4. Compile Pthread
 - cd /home/scale/Pthread
 - make TOOLS_DIR=/home/scale/pin/source/tools -j 8
5. Compile a test program 'stream'
 - cd /home/scale/McSim/stream
 - make


How to run
----------

*. Turn off ASLR.  ASLR makes memory allocators return different
   virtual address per program run.
 - how to turn it off depends on Linux distribution.
  = In RHEL/Ubuntu, "sudo echo 0 > /proc/sys/kernel/randomize_va_space"
  = See below if do not have sudo privilege to execute the command to turn off ASLR
1. Test run
 - export PIN=/home/scale/pin/intel64/bin/pinbin
 - export PINTOOL=/home/scale/Pthread/mypthreadtool
 - cd /home/scale/McSim
 - ./mcsim -mdfile ../Apps/md/md-o3-closed.py -runfile ../Apps/list/run-test.py
2. Test stream
 - export PATH=$PATH:/home/scale/McSim/stream/:
 - cd /home/scale/McSim
 - ./mcsim -mdfile ../Apps/md/md-o3-closed.py -runfile ../Apps/list/run-stream.py
3. When do not have sudo privilege to turn off ASLR for the system
 - Turn off ASLR when launching McSimA+ simulation
  = setarch `uname -m` -R ./mcsim -mdfile ../Apps/md/md-o3-closed.py -runfile ../Apps/list/run-test.py  

How to generate traces
----------------------

1. Compile tracegen
 - cd /home/scale/TraceGen
 - make TOOLS_DIR=/home/scale/pin/source/tools -j 8
2. Run tracegen
 - /home/scale/pin/intel64/bin/pinbin -t /home/scale/TraceGen/tracegen -prefix prefix_name -slice_size size point1 point2 ... -- exectuable to extract traces

References
----------

[1] J. Ahn, S. Li, S. O and N. P. Jouppi, "McSimA+: A Manycore Simulator
    with Application-level+ Simulation and Detailed Microarchitecture 
    Modeling," in Proceedings of the IEEE International Symposium on 
    Performance Analysis of Systems and Software (ISPASS), Austin, TX, 
    USA, April 2013.

[2] H. Pan, K. Asanovic, R. Cohn and C. K. Luk, "Controlling Program 
    Execution through Binary Instrumentation," Computer Architecture 
    News, vol.33, no.5, 2005.


mcsima-plus-camat's People

Contributors

agyaglikci 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.