hoangt / marss Goto Github PK
View Code? Open in Web Editor NEWThis project forked from laproc/marss
PTLsim and QEMU based Computer Architecture Research Simulator
Home Page: http://www.marss86.org
This project forked from laproc/marss
PTLsim and QEMU based Computer Architecture Research Simulator
Home Page: http://www.marss86.org
MARSS-x86-i7: Micro-Architecture & System Simulator for x86-i7_920 ================================================================== Copyright 2010 Avadh Patel (apatel @ cs.binghamton.edu) Copyright 2016 Mochamad Asri (asri @ utexas.edu) Marss-x86 is a simulation tool for x86-64 based Computing Systems. It is based on two independent open-source projects QEMU (http://www.qemu.org/) and PTLsim (http://www.ptlsim.org/). Marss-x86 is developed at Computer Architecture Group of SUNY Binghamton by Avadh Patel and other group Members. You can find out more details about Marss go to (http://www.marss86.org/). This version of Marss-x86 has been calibrated to closely match an Intel i7-920 micro-architecture targetting high-performance computing (HPC) applications. Furthermore, The Linear Algebra Core/Processor (LAC/LAP) accelerator [https://github.com/LAProc/LAP_SIM] Copyright 2014 Ardavan Pedram ([email protected]) has been integrated into the system as a case study of heterogenous system architecture integration. These extensions were developed by Mochamad Asri at The University of Texas at Austin. For details, please refer to: Mochamad Asri, Ardavan Pedram, Lizy K. John, Andreas Gerstlauer, "Simulator Calibration for Accelerator-Rich Architecture Studies," International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS XVI), Samos, Greece, July 2016. Future plans are aiming to add more functionality to LAC and develop integration of the accelerator in various levels of memory hierarchy. System Requirements ------------------- To compile Marss on your system, you will need following: * 2.5GHz CPU with minimum 2GB RAM (4GB Preferred) * Standard C++ compiler, like g++ or icc * SCons tool for compiling Marss (Minimum version 1.2.0) * SDL Development Libraries (Required for QEMU) Compiling --------- If you don't have SCons install, install it using your stanard application installation program like apt-get or yum. Once you have SCons install go to Marss directory and give following command: $ scons -Q Default compile disables debugging and logging functionalities, to compile with logging functions enable give following command: $ scons -Q debug=1 Default compile process compile simulator for single-core configuration. To compile Marss for Multi-Core SMP configuration give following command: $ scons -Q c=[num_cores] To clean your compilation: $ scons -Q -c Running ------- After successfull compilation, to run Marss you have to be in the root of Marss source directory. Then give the following command: $ qemu/qemu-system-x86_64 -m [memory_size] [path-to-qemu-disk-image] You can use all the regular QEMU command here, like start VM window in VNC give 'vnc :10' etc. Once the system is booted, you can switch to Monitor mode using 'Ctrl-Alt-2' key and give following command to switch to simulation mode: (qemu) simconfig -run -stopinsns 100m -stats [stats-file-name] You can also save simulation configuration parameters into a config file and pass that as argument when you start qemu with '-simconfig' option. $ qemu/qemu-system-x86_64 -m [memory_size] [path-to-qemu-disk-image] -simconfig [simulator-config-file] To get the list of available simulation options give following command: (qemu) simconfig It will print all the simulation options on STDOUT. For more information on using and modifying Marss please visit our website : http://www.marss86.org/ *Additional info on calling accelerator from the user program : ------------------ The LAC source code for Accelerator is in the /ptlsim/core/ directory test_sample.cc gives an idea how The LAC/LAP (accelerator) is called from the user program. In lines 118-139, the CPU offloads necessary data to LAP's space, triggers the matrix multiplication acceleration, then copies the results back to the user program. If LAP is not needed, then the lines should be commented and the user should instead replace them with the call to matrix multiply function/library implementation. We will release the integrated library calls through libflame library in future versions. Happy Hacking.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.